傻瓜ARM链接器将功能代码放在某些数据存储器中

时间:2015-08-17 16:04:36

标签: c++ c linker keil

我对ARM Cortex-M0的一些传统ROM代码提出了挑战

ROM代码有自己的数据存储区,在某些时候它通过一系列函数指针调用其他易失性存储器中的函数。

我目前用完了添加代码的易失性内存。 ROM代码具有一些未初始化的数据存储器,在应用程序生命周期中根本不使用。

我现在面临的挑战是将一些功能放入这些未使用的数据存储器中。

我在Keil环境中使用ARM C编译器和链接器。

我尝试在分散链接器文件中创建加载区域,但由于重叠部分而导致链接器对象。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我不确定您的链接器文件是如何设置的,但您可以简单地指定该函数应该驻留的部分:

extern void foo(void) __attribute__((section("rom_data")));

这是GCC语法,但我相信Keil环境也支持它。