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
可以看到下面的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
相关文章推荐
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结
- Lua学习笔记之表和函数
- Lua中实现sleep函数功能的4种方法
- Lua函数用法研究
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- Sql Server中REPLACE函数的使用