MCU的型号是 NANO100LE3BN。
通过烧录工具,配置了从LDROM启动,LDROM 内有自行开发的程序,用于升级APROM。
APROM 内的程序会通过串口下载升级固件,置升级标志位后重启MCU,由 LDROM 的程序负责把新的固件写入 APROM。
有一个问题是:在 APROM 触发重启时,有两个方法可以使用:一是使用 SYS_ResetChip;二是使用NVIC_SystemReset。SYS_ResetChip 是新塘提供的开发包里 sys.c 提供的函数;NVIC_SystemReset 是 CMSIS core_cm0.h 提供的函数。
我发现一个问题,用 NVIC_SystemReset 触发的重启,不会从 LDROM 开始执行,而是直接运行 APROM 的程序;而 SYS_ResetChip 的行为更像是重新上电,从 LDROM 启动。
有哪位能解释一下这其中的原因吗?
重申一下,MCU已经设置从 LDROM 启动,APROM 没有修改该设置。
|