在使用NRF的DFU过程中,发现很多坑,在这边集合下。
SDK 9.0
(1)问题:第一次烧写DFU不能直接跳转到APP层。
需要在bootloader_settings.c中修改为:
uint8_t m_boot_settings[CODE_PAGE_SIZE] __attribute__((at(BOOTLOADER_SETTINGS_ADDRESS))) __attribute__((used))={BANK_VALID_APP};
(2)如果在APP层使用了定时器,则在DFU程序上也要添加喂狗程序。
我的方法是开启了一个定时器用于喂狗。