您的位置:首页 > 编程语言

nrf51822 keil地址设置

2016-05-16 15:16 302 查看
options fof target----target 



可以看到下面的IROM1 和 IRAM1前面已经勾上,这就是设置ROM / RAM空间的地方。 我们假设现在要烧写的协议栈是6.0,根据官方文档,占用 80K ROM 和 8K RAM。 NRF51822的ROM为256K ,RAM为16K,RAM基地址0x20000000 其中RAM有基地址,也就是操作内存位置=基地址+被操作内存序数   

那么,我们放程序的地方就是 80K  ROM开始的地方,RAM就是8K RAM开始的地方 

ROM的计算:

 起始位置(dec 80)*(dec 1024)=(dec 81920)=(hex 14000)     

 大小计算((dec 256)-(dec 80))*(dec 1024)= (dec 180224)=(hex 2C000) 

RAM的计算:      

 起始位置(dec 8)*(dec 1024)+基地址=(dec 8192)=(hex 2000)+基地址             =0x20002000     

 大小计算((dec 16)-(dec 8))*(dec 1024)= (dec 8192)=(hex 2000)  

所以根据计算填入就OK了。

计算程序所占用内存

烧写的时候是FLASH(ROM)中的被占用的空间为:Code + RO Data + RW Data。总和不能超过180224

程序运行的时候,芯片内部RAM使用的空间为:RW Data + ZI Data。总和不能超过8192
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息