我在nrf 51822模块上刷新主程序和SoftDevice时遇到问题。我有Keil版本5.24,正在使用SDK v12.3。
我可以轻松地刷新SoftDevice,但之后就无法刷新设备上的主程序。在Keil中,它仅显示错误擦除失败,闪存下载失败-“ cortex-m0”。但是,如果我在刷新Flash设备后尝试由nRFgo工作室执行此过程,则当我尝试刷新主程序时,它将显示错误:此hex文件在SoftDevice区域中有数据。尝试使用“ Program SoftDevice”进行编程,或者在编程之前清除所有内容。
是由于ROM存储器区域的配置和地址引起的吗?如果可以,我该如何解决?
感谢您的关注。
答案 0 :(得分:0)
一段时间后,我终于找到问题所在。 我试图更改SoftDevice和主程序的ROM内存分配,它终于可以工作了。
基本上,必须在内存中的主程序之后分配软设备。例如,如果我们的内存形式为0x00到0xff,则可以从0x00到0x2f分配SoftDevice,并且从0x2f到结尾的剩余区域必须保留给主程序。
取决于所使用的SoftDevice(SD),例如S110,S130等,SD的大小可以变化,因此SD的内存分配从0x00开始,但终点取决于您使用的SD,因此我在Kiel中更改了内存分配地址,并且可以获得有关SD兼容性的信息该站点中的nRF设备和SD功能:
https://infocenter.nordicsemi.com
这是另一个有用的链接: