您好、Santosh、
在 M3引导加载程序中、我尝试更新应用程序端 MSP 值、为此、我尝试下面指出的操作。 通过这种方法、MSP 和 SP 会比我通过寄存器 R0实际加载的内容增加2个字节。
内联 void set_sp (uint32_t app_stack){
asm (" MSR MSP、r0\n");
}
这个2字节的 INN 递增会导致我的应用代码调用 FaultISR 例程。
我实际传递到 app_stack (r0)= 0x20002358
和
实际传递给 MSP 的内容= 0x200002360
如果我没有尝试设置 MSP/SP 值、我可以从引导加载程序轻松跳转到我的应用程序、所有操作恢复正常。
您能否确认这是 ARM ISA 的行为方式、或者是否存在我缺少的内容。
谢谢




