OpenEdv-开源电子网

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

MDK程序地址偏移后为什么不能运行?

[复制链接]

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2020-12-23 09:17:17 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 聚东风 于 2020-12-23 09:34 编辑

MDK   keil5程序地址偏移后为什么不能运行?
吐血了....这两个地方改了还不行,我手动设置了SCB->VTOR还是不行,求做成功的兄弟帮说一把,谢谢啦
1608686128(1).png 1608686155(1).png

最佳答案

查看完整内容[请看2#楼]

你这样肯定不行啊。 芯片固定死了是从0x00000000(0x08000000)开始运行的。 所以你要在0x08000000位置上烧录一个程序,它再跳转到你的0x08010000开始运行,只能这样操作。 通常完成跳转这一步骤的程序,叫bootloader
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2020-12-23 09:17:18 | 显示全部楼层
你这样肯定不行啊。
芯片固定死了是从0x00000000(0x08000000)开始运行的。
所以你要在0x08000000位置上烧录一个程序,它再跳转到你的0x08010000开始运行,只能这样操作。
通常完成跳转这一步骤的程序,叫bootloader
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

117

主题

598

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
1702
金钱
1702
注册时间
2012-5-10
在线时间
439 小时
发表于 2020-12-23 10:54:57 | 显示全部楼层
开机时从800000开始运行的,要怎么从800000跳到你的8010000呢,所以需要另一个跳转的程序
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2020-12-23 16:35:20 | 显示全部楼层
xsx127 发表于 2020-12-23 10:54
开机时从800000开始运行的,要怎么从800000跳到你的8010000呢,所以需要另一个跳转的程序

好吧,谢谢~我就是在调试bootloader,但是我记得我以前修改了这个地址能直接启动的
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2020-12-23 16:36:01 | 显示全部楼层
xkwy 发表于 2020-12-23 11:47
你这样肯定不行啊。
芯片固定死了是从0x00000000(0x08000000)开始运行的。
所以你要在0x08000000位置上烧 ...

好吧,谢谢~我就是在调试bootloader,我记得我上次试过仿真,可以运行的,难道又是我记错了....
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-12 17:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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