softdevice设置keil部分

需要先烧写softDevice,当然烧写什么样的你自定。

然后你的程序是跟在softDevice后面的,但是keil并不知道这点。所以需要手动设置

先来到options fof target----target

       接下来说下原理,我们的程序要紧跟在softDevice后。softDevice有一定的大小(我一直试着找到那篇文档里面有说各个版本的softDevice的ROM RAM占用大小,但是我还没找到,要是你知道了,我还不知道,请告诉我)。这里给出两个数据。

S110两个版本的ROM占用

                                   6.0.0--------80K

                                   7.0.0--------84K 或者88k(也可能是80k)参照某文档

 

RAM我还不知道,根据某文档的话,s110 ROM都是80k , RAM都是8K。可以根据这个配置,反正我这样配可以用

 

所以,现在的目标是要设置好这些,你的程序放在哪?你的程序用哪的内存?

 

我们刚才已经打开了options fof target----target

可以看到下面的IROM1 和 IRAM1前面已经勾上,这就是设置ROM / RAM空间的地方。

我们假设现在要烧写的是使用 80K ROM 和 8K RAM的softDevice。

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了。

如图:

 

在官方的文档中还有一些设置,我并没有关注,原因是不按他们的设置也能用,可能是我个人还有一些东西没有发现,还没调到。如果出现问题,请以官方文档为主

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值