此问题可能是由于缺少必要的宏定义或库文件而导致的。例如,可以添加以下语句到启动代码中:
#define __ASM asm volatile
void __init_sram(void) { __ASM("beq start"); // 添加这一行代码
// 其他启动代码的内容
}
此处,我们通过宏定义来定义了一个名为__ASM
的宏,它将传递到内联汇编代码中。将其添加到“beq”指令之前,可以确保必要的代码段已经加载,从而避免了可能由于缺失操作码而引起的问题。
上一篇:ARM裸机程序编译-控制闪存写入