-----
这里先讲一下nRF52的启动流程:上电后,系统先执行softdevice,softdevice通过读取UICR一个寄存器的值,来判断目前系统是否有BootLoader,如果没有BootLoader,系统直接跳到application;如果有BootLoader,系统先跳到BootLoader,BootLoader再根据目前的情况来决定是进入升级模式还是跳往application,BootLoader主要判断如下几种情况:
- 按键是否按下
- 保持寄存器GPREGRET1是否为0xB1
- 上次DFU过程是否还在进行中
- 应用程序校验是否通过