在KEIL中使用C对M0编程时怎样对函数指定地址呢?对变量和常数的定位没问题,就是函数总搞不好。
共2条
1/1 1 跳转至页
2楼
要在KEIL中使用C对M0编程时对函数指定地址,可以使用__attribute__((section("address")))语法来实现。具体步骤如下:
1. 在函数声明之前使用__attribute__((section("address")))语法,将函数指定到指定地址。其中,"address"是你想要指定的地址名称。
例如,如果你想要将函数指定到0x08010000地址,可使用如下语法:
```c
__attribute__((section("Function_Address"))) void MyFunction(void);
```
2. 在链接脚本文件(.ld)中,为指定的地址创建一个section。例如,在KEIL中使用的链接脚本文件(默认为[Target]_scatter.txt)中,添加如下内容:
```
【section_name】 0x08010000 :
{
【section_related_files】
}
```
其中,【section_name】是你在函数声明中指定的地址名称,【section_related_files】是与该section相关的其他文件。根据实际情况配置。
3. 编译、链接并下载程序到M0目标设备。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |