如何指定将存储功能的存储位置?

流浪汉

任何人都可以让我知道将函数(以C形式)存储在固定内存位置的可能方式有哪些。

我将IAR IDE用于ARM cortex m3内核。

哈比

IAR手册“ IAR C / C ++开发指南”的“控制数据和函数在内存中的放置”一节中介绍了如何将函数和数据放置在内存中。

我看到将特定功能放置在特定地址的唯一方法是在内存中定义一个部分,仅在其中放置此功能。例子:

void MyFunction( void ) @ "MyFunctionsSection"
{
...
}

在链接器文件中,您必须定义“ MyFunctionsSection”部分。您可以在此处定义该部分的放置位置。然后,您的功能将放置在此处。

该方法的缺点是您必须为此功能保留内存。因此,您必须知道函数的大小,并且如果函数的大小增加并大于保留的内存,则必须调整此内存部分。另一个缺点是,您只能在此部分中放置一个功能,以确保将您的功能放置在所需的地址上。

但是除此之外:将函数放在特定地址的想法通常很奇怪。最好是定义一个指向该函数的指针,并将其放置在固定地址上,就像在中断向量表中所做的那样。如果您有更多的函数指针,则可以轻松地扩展列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

指定版本控制存储库的存储位置

来自分类Dev

变量的存储位置

来自分类Dev

变量的存储位置

来自分类Dev

如何更改日志存储位置?

来自分类Dev

如何更改EntityFramewworkCore迁移的存储位置?

来自分类Dev

如何选择Firebase“云存储位置”?

来自分类Dev

如何更改日志存储位置?

来自分类Dev

如何更改EntityFrameworkCore迁移的存储位置?

来自分类Dev

如何在C中以相同的存储位置存储值?

来自分类Dev

YouTrack附件存储位置

来自分类Dev

位域的存储位置

来自分类Dev

如何在Cordova / PhoneGap中获取存储位置?

来自分类Dev

如何在Android中更改蓝牙存储位置?

来自分类Dev

如何使用AppEngine devserver更改图像的存储位置

来自分类Dev

如何在Android中更改蓝牙存储位置?

来自分类Dev

如何获得从carrierwave上传的图像的存储位置?

来自分类Dev

Android Studio如何更改捕获的图片的存储位置

来自分类Dev

如何找到特定项目的存储位置| 蚀

来自分类Dev

存储桶是单个存储位置还是类似于存储位置的数组?

来自分类Dev

存储位置数据的最佳方法-Android

来自分类Dev

显示VideoView的电话存储位置

来自分类Dev

获取我的脚本存储位置的目录

来自分类Dev

变量是名称,值还是存储位置?

来自分类Dev

使用fork变量的存储位置

来自分类Dev

游标在Ubuntu中的存储位置

来自分类Dev

日志存储位置ELK堆栈

来自分类Dev

拖放div并存储位置

来自分类Dev

从存储位置保存和检索值

来自分类Dev

游标在Ubuntu中的存储位置