我对ARM Cortex-M0的一些传统ROM代码提出了挑战
ROM代码有自己的数据存储区,在某些时候它通过一系列函数指针调用其他易失性存储器中的函数。
我目前用完了添加代码的易失性内存。 ROM代码具有一些未初始化的数据存储器,在应用程序生命周期中根本不使用。
我现在面临的挑战是将一些功能放入这些未使用的数据存储器中。
我在Keil环境中使用ARM C编译器和链接器。
我尝试在分散链接器文件中创建加载区域,但由于重叠部分而导致链接器对象。
有什么建议吗?
答案 0 :(得分:0)
我不确定您的链接器文件是如何设置的,但您可以简单地指定该函数应该驻留的部分:
extern void foo(void) __attribute__((section("rom_data")));
这是GCC语法,但我相信Keil环境也支持它。