OpenEdv-开源电子网

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

求助,Eclipse+GCC开发,程序起始位置重定位

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-8-21
在线时间
3 小时
发表于 2020-7-23 12:02:17 | 显示全部楼层 |阅读模式
1金钱
现有需求要使用BOOT+APP,按照https://blog.csdn.net/qiuzhiqian1990/article/details/55190312修改后app可以下载到指定位置,但是程序无法正常运行,调试器显示复位后PC指向了0xFFFFFFFE若此时手动修改PC指向main则可以运行。

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

使用道具 举报

6

主题

412

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2718
金钱
2718
注册时间
2019-8-14
在线时间
415 小时
发表于 2020-7-23 18:40:13 | 显示全部楼层
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2020-7-23 19:34:15 | 显示全部楼层
建议楼主用SES开发环境
一分耕耘一分收获。
回复

使用道具 举报

2

主题

459

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4498
金钱
4498
注册时间
2018-5-14
在线时间
962 小时
发表于 2020-7-24 09:03:54 | 显示全部楼层
在flash.ld文件中找到memory字段,把FLASH(rx),ORIGIN=0x08000000偏移到你的指定地址,然后LENGTH=xxk减去你的偏移量。保存后重新编译,用winhex看一下最终生成的hex文件起始地址是不是你的偏移量
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-8-21
在线时间
3 小时
 楼主| 发表于 2020-7-27 18:03:04 | 显示全部楼层
姚先起 发表于 2020-7-24 09:03
在flash.ld文件中找到memory字段,把FLASH(rx),ORIGIN=0x08000000偏移到你的指定地址,然后LENGTH=xxk减去 ...

现在已经这样修改了,也确认了起始地址没有错误,但是开始debug时PC指向了错误的地址(没有执行reset_handle)手动将PC指向reset_handle后能正常运行
回复

使用道具 举报

2

主题

459

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4498
金钱
4498
注册时间
2018-5-14
在线时间
962 小时
发表于 2020-7-27 20:58:10 | 显示全部楼层
jcl709905683 发表于 2020-7-27 18:03
现在已经这样修改了,也确认了起始地址没有错误,但是开始debug时PC指向了错误的地址(没有执行reset_han ...

指向的地址是程序地址+4吗?如果是的话就没错啊
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-8-21
在线时间
3 小时
 楼主| 发表于 2020-7-28 11:10:21 | 显示全部楼层
姚先起 发表于 2020-7-27 20:58
指向的地址是程序地址+4吗?如果是的话就没错啊

不是,指向了0xfffffffe
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 12:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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