我正在使用 IAR-EWARM (8.50.9) 工具链开发 NUCLEO-G071RB
开发板。
我创建了一个非常基本的程序,它仅以 500 毫秒的间隔切换用户引导 (LD4)(使用带有 NOP 指令的等待循环)。
该程序不使用 RAM(但它由 IAR 的启动代码初始化)。
设置 RAM_PARITY_CHECK 选项位后,程序按预期运行并且 LED 每 500 毫秒闪烁一次。
当我清除 RAM_PARITY_CHECK 选项位(使用
STM32CubeProgrammer)时,程序不会运行,
当我暂停处理器时,IAR 的调试环境指向地址 0xFFFFFFFE。
当 RAM_PARITY_CHECK 选项位再次恢复(设置)时,程序将再次按预期执行。
这种奇怪行为的原因是什么?