OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6268|回复: 8

关于keil的分散加载文件,求大神指教,急急急!!!

[复制链接]

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2013-9-15
在线时间
0 小时
发表于 2014-3-24 21:47:28 | 显示全部楼层 |阅读模式

 如何指定    一个运行域在RAM的section    的加载域中ROM的位置。

细节描述:举例说明

第一,首先C文件内定义一个section

#pragma arm section code  = “Test”

void  funtion (void )

{

.......

}

第二,在分散加载文件sct内指定section Test运行域为0x20000400

LR....0x80000000{

     .....

      ER....0x20000400 {

       *.o( Test )

       }

}

第三,编译后看我们的MAP文件,发现function函数的入口地址在RAM中,即section Test的运行域在RAM,这刚好是我想要的

第四,问题来了:如果我想把程序下载到目标板ROM里面运行,

         必须在运行funtion之前,把   function 从他的加载域即ROM里面   拷贝到 运行域RAM里面,否则程序会跑飞( 原因不多说)。

          那么我该怎样得到section Test的加载域的地址呢?

         更进一步,我该怎样指定section Test的加载域在ROM中存放的位置,然后同时把section Test的运行域指定在RAM运行。

        (PS,关于这个问题,已经在IAR上实现,但是在keil上却不知道怎么办)

如果这个问题得到解决,大家可想,当我希望运行某一段程序时,就把它从ROM拷到RAM里,然后再把ROM就可以擦写,也就是更新程序!

希望大神能够帮忙,谢谢!谢谢!!!

        

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-3-24 22:31:36 | 显示全部楼层
回复 支持 反对

使用道具 举报

17

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
金钱
238
注册时间
2013-9-4
在线时间
18 小时
发表于 2015-9-12 20:50:54 | 显示全部楼层
搞定了没?我现在也遇到这个问题
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2013-9-15
在线时间
0 小时
 楼主| 发表于 2015-9-12 23:24:59 | 显示全部楼层
回复【3楼】oooiou:
---------------------------------
今天刚好闲着没事隔了一年登上来了,告诉你吧
把加载域设置在ROM里面,把运行域设置在RAM里面
例如
LR_BIOS_Code 0x08002500 0x100  {  ; load address = execution address\
ER_BIOS1 0x20000700 0x100 {
    bios.o(Program_code)
    }
}
我会把很早之前的代码传上来,你自己再学学里面的sct文件,学学map, 在自己板子上跑跑,程序很短
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2013-9-15
在线时间
0 小时
 楼主| 发表于 2015-9-12 23:29:24 | 显示全部楼层
sct分散加载文件的编写例程,供大家研究

STM32_keil.rar

1.12 MB, 下载次数: 1292

回复 支持 反对

使用道具 举报

17

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
金钱
238
注册时间
2013-9-4
在线时间
18 小时
发表于 2015-9-13 17:26:20 | 显示全部楼层
回复【5楼】IRLCANDO:
---------------------------------
多谢。学习啦。嘿嘿
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-13 22:52:24 | 显示全部楼层
回复【4楼】IRLCANDO:
---------------------------------
谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2016-4-30
在线时间
26 小时
发表于 2016-12-24 19:36:33 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

6

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-1-6
在线时间
57 小时
发表于 2019-6-12 16:33:02 | 显示全部楼层
IRLCANDO 发表于 2015-9-12 23:24
回复【3楼】oooiou:
---------------------------------
今天刚好闲着没事隔了一年登上来了,告诉你吧
把加 ...

大神,请问下如何看你的section放在flash哪个地址啊,我看你代码没有这个啊
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-16 22:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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