nrfutil生成的DFU设置十六进制文件未按字对齐

nrfutil生成的DFU设置十六进制文件未按字对齐
使用nrfutil生成设置版本2的DFU设置页(带有备份页)时,nrfutil生成的.hex文件不是字对齐的,即,设置页和备份页中的字节数不均。例如,这导致Keil uVision中的LOAD命令失败,并显示以下
错误消息:
LOAD $LBootloaderSettings.hex

Erase Done.
Programming Failed!

Error: Flash Download failed
- "Cortex-M4"
使用以下命令行生成设置页面
nrfutil settings generate --family NRF52 --application <path_to_application.hex> --application-version <app_version> --bootloader-version <bl_version> --bl-settings-version 2
BootloaderSettings
这将导致以下.hex文件:
BootloaderSettings.hex

如您所见,第52行...:
:03E32000000000FA
...和103 ...:
:03F32000000000EA
两者都代表各个设置区域的末尾,但都包含不均匀的字节数。

将这些行更改为

:04E32000000000FFFA


04F32000000000FFEA

使文件再次通过Keil uVision的LOAD命令无缝运行,而无需修改设置页面的内容。

备注次功能升级pip到20.0.2之后就得以解决。

经验再多也只能看作加法,而经过理论升华的经验,就可以看作乘法!
原文地址:https://www.cnblogs.com/TorryLong/p/12732717.html