C51中定义变量时如果省略存储器类型,Keil C51编译系统则会按编译模式SMALL、COMPACT和LARGE所规定的默认存储器类型去指定变量的存储区域,无论什么存储模式都可以声明变量在任何的8051存储区范围i,但是把最常用的命令如循环计数器和队列索引放在内部数据区可以显著地提高系统性能。以下介绍一下Keil编译选项Target中的Memory Model和Code Rom Size的设置。
Memory Model(存储器模式)
SMALL模式
在本模式中所有的变量在缺省的情况下位于8051系统的内部数据区(这和用data存储类型标识符明确声明的一样,因此对这种变量的访问数据最快),在本模式中,变量访问非常有效,然而所有的东西包括堆栈必须放在内部RAM中,堆栈大小是不确定的,它取决于函数嵌套的深度。典型的,如果连接/定位器配置为内部数据区变量可覆盖,SMALL模式是最好的模式,但是SMALL模式的地址空间受限,在写小型的应用程序时,变量和数据放在Data内部数据存储器中是很好的,因为访问速度快,但在较大的程序中Data区最好只存放小的变量、数据或常用的变量(如循环计数、数据索引),而大的数据则放在别的存储区域,否则Data区就容易溢出。
COMPACT模式
COMPACT模式把变量都定位在MCS-51系统的外部数据存储器中,外部数据存储段可有最多256字节(一页 ),这是对变量的访问是通过寄存器间接寻址(MOVX @Ri)进行的。采用这种编译模式时,变量的高8位地址由P2口确定,因此,在采用这种模式的同时,必须适当改变启动程序STARTUP.A51中的参数PDATASTART和PDATALEN,用L51进行连接时还必须采用连接控制命令PDATA来对P2口地址进行定位,这样才能确保P2口为所需的高8位地址。
LARGE模式
LARGE模式中,所有函数和过程的变量以及局部变量数据段都被定义在51系统的外部数据存储器中,外部数据存储器最多可有64K,这要求用DPTR数据指针来间接地访问数据,因此,这种访问效率并不高,尤其是对2个或多个字节的变量,用这种模式访问数据程序的代码将会很大。
Code Rom Size(设置ROM空间的使用)
SMALL模式:只用低于2K的程序空间
COMPACT模式:单个函数的代码量不能超过2K,整个程序可以使用64K的程序空间
LARGE模式:可用全部64K空间
关键字:Keil Memory Model Code Rom Size
引用地址:
Keil中Memory Model和Code Rom Size说明
推荐阅读最新更新时间:2024-03-16 15:25
研华基于RK3588的SMARC核心模块ROM-6881 助力内窥镜应用AI升级
导读 内窥镜作为医生的“第二只眼”,被广泛应用于不同科室和不同疾病治疗,在医疗行业应用中起着举足轻重的作用。医用内窥镜在诊疗过程中提供照明、摄像和通道等功能,其临床应用可分为诊断和治疗两方面。在设备智能化的今天,越来越多的医疗器械厂商为医疗内窥镜设备导入了AI辅助诊断,帮助医生大幅提高了诊断效率和准确率。 医疗内窥镜应用 01 内窥镜应用需求 随着AI为内窥镜领域不断注入新活力,国内某大型医疗设备厂商致力研发一款AI协助诊断的医疗内窥镜。为满足医疗影像中对高清显示和低延迟显示的需求,其设备主控板需要支持安卓环境下高清1200万像素的 2 路 MIPI-CSI 同时输入 ,且需具备独立
[工业控制]
MCS96系列单片机的一种大容量的外部RAM扩展技术
摘要: 在MCS96系列单片机的应用开发中,我们经常会遇到需要大容量的外部RAM的情况, 本文针对MCS96系列单片机的内存体系结构特点介绍了的一种段式管理的大容量的外部RAM扩展技术,此技术由于使用方便具有很高的实用性。
关键词: 单片机 段 物理地址 逻辑地址
1 引言
MCS96系列单片机是一种16位字长的比MCS51系列单片机功能更全,性能更高的单片机,它在仪器仪表,过程控制等若干领域应用极为广泛。在采用MCS96系列单片机的应用开发中我们碰到一个难题,当需要大容量的数据存储时,外部数据存储器的扩展如采用与MCS51系列单片机同样的方法则无法工作,因为其内存体系结构
[应用]
内存 Q3 景气,DRAM 乐观、NAND 有杂音
DRAM 厂南亚科将于 17 日召开法人说明会,市场预料,南亚科可望释出正面讯息,第 3 季 DRAM 市况将持续乐观。 反观另一内存 NAND Flash 市况则恐有杂音。 内存市场去年出现动态随机存取内存(DRAM)与储存型闪存(NAND Flash)齐旺的罕见情况,今年来两大内存市况不同调,价格出现分歧走势。 DRAM 市场今年来供需持续健康,产品价格延续扬升走势,NAND Flash 市场需求则是趋缓,产品价格回调修正。 南亚科第 2 季即在 DRAM 销售价量齐扬下,营运表现亮丽,业绩逐月改写历史新高纪录,季营收达新台币 245.92 亿元,季增达 30.8% ,并刷新单季业绩历史新高纪录。 内存模块厂威刚今年上半年靠着
[手机便携]
在Keil MDK 开发环境中u8,u16,u32和int区别
u8 是 unsigned char u16 是 unsigned short u32 是 unsigned int 代码示例: void TIM3_Int_Init(u16 arr,u16 psc) { //do something... }
[单片机]
首批特斯拉Model 3太平洋时间28日交付,剩余交付计划曝光
据媒体报道, 特斯拉 宣布其新款 电动车 系列 Model 3 将在太平洋时间28日举行交付仪式。Model 3的起步售价为3.5万美元,是特斯拉目前为止售价最低的车型。 由于售价低廉,市场此前对Model 3寄予厚望,认为这将是特斯拉电动车走向大众化的关键型产品。据悉,特斯拉Model 3已提前完全通过了生产的所有监管要求,Model 3在8月份产量将达100辆,9月份将超过1500辆,到12月份将达到20000辆。
[嵌入式]
关于keil编译cortex-m3纯汇编时为什么问题使用align地址问题
在编译下面一段代码时: STACK_TOP EQU 0x20002000 AREA Reset,CODE,READONLY DCD 0x20002000 DCD Start ENTRY ; CODE16 Start ldr r2,=Test LDRD r0,r1, LDRD r0,r1, LDRD r0,r1, ; movs r0,r0 ; NOP ; align 4 Test DCD 0x12345678 END 我发现,如果加上NOP或align4,程序就不会跑飞,否则程序就跑飞了。
[单片机]
利用高速、大容量FPGA的片上RAM实现155MbpsATM
高速数据通讯应用,如155Mbps异步传输模式(ATM),需要速率相应的Buffers或FIFOs。利用现今高速、大容量FPGA上集成的大量RAM,开发为员可以满足这些需求而无需使用外置FIFOs。本文是一个基于FPGA的ADSL的设计实例,它在FPGA上采用了UTOPIA ATM接口并利用片上RAM构成了FIFOs。
本设计提供了一个基于标准的UTOPIA-1实现的介于AFSL套片和ATM分割层和组装层间的桥接器。
应用背景
互联网的流行呼唤新的网络技术,以便能提供更高带宽的连接。Cisco system所提供的ADSL网络产品包括ADSL局复用器、桥接器、路由器及调制解调器卡。
这些Cisc
[半导体设计/制造]
采用内存接液晶显示模块
摘要: 提出了一种采用内存接口的液晶显示模块。该模块是在现有点阵式液晶显示屏上附加一个MCU(Micro-Controller Unit 微处理器)及相关硬件,利用内存与外部控制器进行接口,从而解决了液晶显示统一接口和显示速度的问题。
关键词: 液晶接口 内存 微处理器
点阵式液晶接口简单,能以点阵或图形方式显示出各种信息,因此在各种电子设计中得到广泛应用。但是,它的接口必须遵循一定的硬件和时序规范,根据不同的液晶驱动器,可能需要发出不同的命令进行控制才能显示数据。而且命令的执行需要耗费一定时间,在系统大量的实时数据的情况下,如果直接控制液晶显示,可能会消耗过多的时间,从而
[应用]