硬汉嵌入式论坛

 找回密码
 立即注册
查看: 953|回复: 7
收起左侧

[MDK] 请教MDK怎么样能让某段代码在RAM中运行?

[复制链接]

59

主题

284

回帖

461

积分

高级会员

积分
461
发表于 2022-7-5 11:21:20 | 显示全部楼层 |阅读模式
并且可以指定ROM中的存储地址和RAM中的运行地址,谢谢
回复

使用道具 举报

210

主题

1044

回帖

1684

积分

至尊会员

More we do, more we can do.

积分
1684
发表于 2022-7-5 12:56:02 | 显示全部楼层
本帖最后由 emwin 于 2022-7-5 13:00 编辑

2种办法,一种是指定地址,__attribute__((section(".ARM.__at_0x4000"))),另一种是配置链接的分散加载文件。
参考文件:编译器手册 "Methods of placing functions and data at specific addresses"。

编辑说明:修改错别字
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2022-7-5 13:23:37 | 显示全部楼层
右击设置到RAM空间即可,本质也是设置的分散加载,简单易实现。

image.png
回复

使用道具 举报

59

主题

284

回帖

461

积分

高级会员

积分
461
 楼主| 发表于 2022-7-5 13:43:01 | 显示全部楼层
eric2013 发表于 2022-7-5 13:23
右击设置到RAM空间即可,本质也是设置的分散加载,简单易实现。

这个只能按文件来存放吗?能不能定位到函数?
回复

使用道具 举报

59

主题

284

回帖

461

积分

高级会员

积分
461
 楼主| 发表于 2022-7-5 13:47:30 | 显示全部楼层
emwin 发表于 2022-7-5 12:56
2种办法,一种是指定地址,__attribute__((section(".ARM.__at_0x4000"))),另一种是配置链接的分散加载文 ...

这个只是定位到ROM吗? 我想代码在RAM的指定空间执行,而且代码要存储在ROM的指定空间,这个可以实现吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2022-7-6 00:13:11 | 显示全部楼层
tangqianfeng 发表于 2022-7-5 13:47
这个只是定位到ROM吗? 我想代码在RAM的指定空间执行,而且代码要存储在ROM的指定空间,这个可以实现吗?

https://developer.arm.com/documentation/ka003187/latest
回复

使用道具 举报

59

主题

284

回帖

461

积分

高级会员

积分
461
 楼主| 发表于 2022-7-6 07:03:19 | 显示全部楼层
eric2013 发表于 2022-7-6 00:13
https://developer.arm.com/documentation/ka003187/latest

非常感谢, 那个关键字zero_init,相当于是no_init ,而非用零初始化,有点反人类啊
回复

使用道具 举报

210

主题

1044

回帖

1684

积分

至尊会员

More we do, more we can do.

积分
1684
发表于 2022-7-6 09:51:52 | 显示全部楼层
tangqianfeng 发表于 2022-7-5 13:47
这个只是定位到ROM吗? 我想代码在RAM的指定空间执行,而且代码要存储在ROM的指定空间,这个可以实现吗?

1. 不是,2. 可以
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 18:47 , Processed in 0.237208 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表