keil arm - 如何在bootloader和用户app之间共享变量

时间:2014-05-09 20:00:28

标签: arm keil

Keil ARM uVision4,处理器LPC1768 是否可以在内存中的已定义位置共享变量,以便引导程序和用户应用程序设置/查看此变量?

1 个答案:

答案 0 :(得分:1)

这是可能的,但您必须正确设置内存空间。

一种解决方案是在Scatter-loading Description文件中设置一段内存,以便在引导和应用程序之间进行内存初始化。例如,您可以通过预留一段内存来设置名为NoInit的部分 -

RW_IRAM0 0x100000000 UNINIT 0x0000001F {
    *(NoInit)
}

然后在您的启动和应用程序中,您可以定义一个驻留在该空间中的变量:

static unsigned long system_flags __attribute((section("NoInit"), zero_init));

希望这有助于让你走上正轨!