工具与软件:
您好!
我想知道如何定义 RAM 的 noinit 段、该段通过软重启保持不变。 到目前为止、我已经在链接器文件中将 ram 的一段定义为 noinit、然后使用属性 将对象放置在 ram 的该段中。 我在映射文件中看到它被放置在那里、然而、当我执行 sysreset 时、该值看起来像是复位回0、即使我在每次启动时都会递增。 下面我将编辑内容附加到了项目使用 project_zero 作为基础的.cmd 文件。
* Memory Sizes */ #define NOINIT_SIZE 0x00001000 /******************************************************************************* * Memory Definitions ******************************************************************************/ /******************************************************************************* * RAM */ #define NOINIT_START (RAM_END - NOINIT_SIZE) /******************************************************************************* * System Memory Map ******************************************************************************/ MEMORY { SRAM (RWX) : origin = RAM_START, length = (RAM_END - NOINIT_SIZE - RAM_START + 1) NOINIT (RWX) : origin = RAM_END - NOINIT_SIZE + 1, length = NOINIT_SIZE /******************************************************************************* * Section Allocation in Memory ******************************************************************************/ SECTIONS { .noinit (NOLOAD): { *(.noinit) } > NOINIT
谢谢