你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 4425|回复: 4

求助分散加载问题,求高手指点!【悬赏问答】

[复制链接]

1

主题

19

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-8-21 14:50:35 | 显示全部楼层 |阅读模式
我用keil mdk调试stm32103c8,
1.在flash中调试ok,
2.在ram中调试也ok,
但是,我想试下分散加载,所以就在flash调试ok的项目中,
修改了一个option for group的Memory Assignment 项中Code/Const到RAM1,
结果调试下载总是进入fault中断,这是为什么啊!修改Code/Const到RAM1,
链接器不是会自动生成copy代码把指定的group代码复制到RAM1中然后执行的么!
求高手指点,谢谢!
回复

使用道具 举报

1

主题

19

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-8-22 02:13:25 | 显示全部楼层

回复:求助分散加载问题,求高手指点!

补充一下,我把在RAM调试的工程做了修改,
把内部的ram,分为了2块,如下:
1.第一部分做IROM1
2.第二部分做IRAM1
然后,把一个group组加载到IRAM1,修改了选项
option for group中的Code/Const,修改为IRAM1,
调试时,分散加载编译调试都是OK的。
同样的方法修改flash中的调试就会出现fault中断,
请高手指点下,这是哪里出了问题,谢谢
 
回复 支持 反对

使用道具 举报

2

主题

76

回帖

0

蝴蝶豆

初级会员

最后登录
2020-6-19
发表于 2012-8-22 08:34:16 | 显示全部楼层

回复:求助分散加载问题,求高手指点!

搂主是想把flash中的程序拷贝到ram中再执行吗?看看把ram你分的IROM1和IRAM1有没有混,拷贝到ram中的代码段是否正确。
回复 支持 反对

使用道具 举报

1

主题

19

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-8-22 13:07:39 | 显示全部楼层

回复:求助分散加载问题,求高手指点!

回复第 3 楼 于2012-08-22 08:34:16发表:
搂主是想把flash中的程序拷贝到ram中再执行吗?看看把ram你分的IROM1和IRAM1有没有混,拷贝到ram中的代码段是否正确。
 

我在看下吧,我不是想自己拷贝,我只是想验证一下分散加载,分配是没有混的,我试了一下RAM调试时用分散加载是OK的,
回复 支持 反对

使用道具 举报

4

主题

224

回帖

0

蝴蝶豆

初级会员

最后登录
2020-7-4
发表于 2012-9-1 23:54:12 | 显示全部楼层

RE:求助分散加载问题,求高手指点!【悬赏问答】

分散加载其实很简单,你只要弄懂几个就行了
C代码编译后,分为三种数据,
一种是RO 数据,就是代码中的指令性数据,常数等(read only)
一种是RW数据, 就是代码中的变量,(read write)
一种是ZI数据,初始化为0变量的变量的赋值。(zero indicator)
RO要可以放到RAM中,也可以放到Flash中,但是RW必须放到RAM中,ZI只是一个标记,不需要存储,
还需要注意,arm里有加载域,执行域, 加载域就是数据存放的地方,执行域就是数据执行的时候所在位置,数据启动时,将数据从加载域里读取出来,放到执行域中去,这个可以参考arm 的编译手册,ads mdk的安装目录中都有
scatter file的格式可以参考zlg的一本书,深入浅出 arm7
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版