IAR 为自定义数据定义内存区域

IAR define memory region for custom data

我想在 STM32 micro 中定义一个特定的内存区域来存储一些字符串。我正在使用 IAR 编译器,但没有找到可以帮助我使用 icf 文件以正确方式创建区域的简单示例。如何创建区域并在代码中使用该区域?谢谢

我找到了这个解决方案:

在icf文件中我是这样定义内存区域的:

define region LANGUAGE_region   = mem:[from 0x080FB000 to 0x080FC000];
"LANGUAGE_PLACE":place at start of LANGUAGE_region  { section .LANGUAGE_PLACE.noinit };

我将使用编程器用外部 srec 文件填充此区域。 为了用一个简单的程序(使用整数)测试区域,我使用了这个声明:

In the header:

extern const unsigned int mydata @".LANGUAGE_PLACE.noinit";

In the C file:

const unsigned int mydata;

在调试器中,我可以在 0x0800FB000 处看到 mydata 常量的正确地址