1

我在 nrf 51822 模块上闪烁主程序和 SoftDevice 时遇到问题。我有 Keil 版本 5.24 并且我正在使用 SDK v12.3 。

我可以轻松刷入 SoftDevice,但之后我无法刷入设备上的主程序。在 Keil 中它只显示错误擦除失败,闪存下载失败 - “cortex-m0”。但是,如果我在刷完 SoftDevice 之后尝试通过 nRFgo 工作室执行此过程,当我尝试刷入主程序时,它会显示错误:此 hex 文件在 SoftDevice 区域中有数据。尝试使用“Program SoftDevice”进行编程,或在编程前擦除所有内容。

可能是因为ROM内存区域配置和地址吗?如果是这样,我该如何解决?

感谢您的关注。

4

1 回答 1

0

过了一会儿,我终于发现问题出在哪里了。我尝试更改 SoftDevice 和主程序的 ROM 内存分配,它终于可以工作了。

基本上SoftDevice分配必须在内存中的主程序之后。例如,如果我们有 0x00 到 0xff 的内存,SoftDevice 可以从 0x00 到 0x2f 分配,从 0x2f 到末尾的剩余区域必须保留给主程序。

取决于您使用的 SoftDevice(SD),例如。S110,S130等,SD的大小可以变化所以SD的内存分配从0x00开始但是结束点取决于你使用哪个SD,所以我在Kiel更改了内存分配地址,并且可以获得有关SD兼容性的信息站点中的 nRF 设备和 SD 功能:

https://infocenter.nordicsemi.com

这是另一个有用的链接:

https://devzone.nordicsemi.com/f/nordic-qa/38067/ble_app_uart-can-not-be-loaded-completely-on-nrf-51822

于 2018-09-29T06:19:59.973 回答