首页 > 代码库 > 变量存储——iRAM解析
变量存储——iRAM解析
//对于C51来说,内部RAM只有256Byte//其中包括,低128Byte直接寻址的data和高128Byte间接寻址的idata(也包括SFR)//data 定义的变量只能寻址低128Byte//idata 定义的变量可以寻址整个iRAM
#define LEN 120
data unsigned char tt1[LEN]; idata unsigned char tt2[127]; void main() { unsigned char i,j; for(i = 0; i < LEN; ++i ) { j = i; //注释掉这一行,编译器,无法优化变量j,就会将j放到RAM区域,从而会引发溢出错误 tt1[j] = 0x55; } } /***********************极限分配iRAM的例子************************//************************ [iRAM Space Map] ************************ __________________________________________________ | R0~R7 + tt1 + tt2 + SP(at least) | | | | 8B + 120B + 127B + 1B = 256 Byte | |__________________________________________________|************************ [iRAM Space Map] ************************/
代码来源于网络,特发此与大家分享,感谢原作者!
变量存储——iRAM解析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。