【发布时间】:2013-09-13 04:28:09
【问题描述】:
谁能告诉我有哪些可能的方法可以将函数(在 C 中)存储在固定的内存位置。
我正在为 ARM cortex m3 内核使用 IAR IDE。
【问题讨论】:
-
这取决于工具链,但这似乎是一个非常……奇怪的……请求。你为什么认为你需要这个,只是出于兴趣?
-
一种常见的情况是引导加载程序在内存中的预定义位置启动主程序。您必须将主程序的入口点固定在该精确地址。
-
@paxdiablo External 引导加载程序(或任何 ROM)中使用的函数地址需要固定位置,以供其他程序一致使用。函数表的固定索引是一种替代方法。
-
实际上,对于任何不位置独立的代码,你基本上都必须这样做——唯一的区别是,如果你有一个设备,这可能已经配置好了——特定的工具链安装,并且您通常只需要指定您的代码在合适的内存区域内开始(并且作为检查结束),而不是特定功能所在的位置。对于许多工具链,指定特定函数的位置只需为其指定区域即可。
标签: c embedded microcontroller