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

时间:2015-08-17 09:05:00

标签: c linker embedded stm32 iar

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

1 个答案:

答案 0 :(得分:0)

我找到了这个解决方案:

在icf文件中,我用这种方式定义了内存区域:

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

我将使用程序员用外部srec文件填充此区域。 要使用简单程序(使用整数)测试区域,我使用此声明:

  

在标题中:

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

在C档案中:

const unsigned int mydata;

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