OpenEdv-开源电子网

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

IAP实验:使用跳转函数将程序跳转到一个没有代码的flash地址,为什么程序可以正常运行?

[复制链接]

9

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
256
金钱
256
注册时间
2018-8-8
在线时间
50 小时
发表于 2020-1-2 11:31:42 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 走投无路的卡卡 于 2020-1-2 11:33 编辑

IAP实验:使用跳转函数将程序跳转到一个没有代码的flash地址,为什么程序可以正常运行?

将跳转函数放到while死循环里

将跳转函数放到while死循环里
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10567
金钱
10567
注册时间
2017-2-18
在线时间
1913 小时
发表于 2020-1-2 12:02:28 | 显示全部楼层
再改为其他未被使用的FLASH地址也行?
回复

使用道具 举报

9

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
256
金钱
256
注册时间
2018-8-8
在线时间
50 小时
 楼主| 发表于 2020-1-2 12:09:53 | 显示全部楼层
peng1554 发表于 2020-1-2 12:02
再改为其他未被使用的FLASH地址也行?

是啊,我觉得很奇怪,为什么跳转到没有代码的区域,原来的程序还可以正常运行
回复

使用道具 举报

9

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
256
金钱
256
注册时间
2018-8-8
在线时间
50 小时
 楼主| 发表于 2020-1-2 12:12:22 | 显示全部楼层
我把flash整片擦除后下载的代码,结果跳转到0x08010000还能运行
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2020-1-2 13:21:07 | 显示全部楼层
确定跳转过去执行了?
一分耕耘一分收获。
回复

使用道具 举报

2

主题

17

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-1-15
在线时间
12 小时
发表于 2020-1-2 14:45:07 | 显示全部楼层
你确定是运行了flash中的程序,而不是运行了ISR中的程序。
另外,flash中没有程序,但如果是汇编的NOP操作,或者其他什么形式的代码,那CPU也确实是会往下走的哦
回复

使用道具 举报

8

主题

72

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
292
金钱
292
注册时间
2018-8-14
在线时间
37 小时
发表于 2020-1-2 15:24:31 | 显示全部楼层
建议仿真一下看看那个地址内的数据真的被擦出了吗,然后取几个断点看看程序运行到哪了,对应的指令地址在哪
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-12 09:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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