码迷,mamicode.com
首页 > 其他好文 > 详细

变量存储——iRAM解析

时间:2014-10-25 11:50:09      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   ar   for   strong   sp   div   on   


//对于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解析

标签:style   blog   color   ar   for   strong   sp   div   on   

原文地址:http://www.cnblogs.com/zhangfan2014/p/4049788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!