查看: 11161|回复: 24

[已解决] KEIL5由BOOT跳转到APP

[复制链接]

该用户从未签到

3

主题

20

帖子

0

注册会员

Rank: 2

积分
187
最后登录
2020-10-23
发表于 2017-8-10 14:12:10 | 显示全部楼层 |阅读模式
KEIL环境下,分别把BOOT 和APP程序烧录,奇怪的现象是:在BOOT程序的调试模式下,在跳转函数前设置断点,然后点击STEP,可以正常跳转到APP执行,如果点击RUN,不能够正常跳转,进入HARDFAULT;不设置断点,直接RUN,也不能够正常跳转,请大家帮忙解答!!!!!!!!!!

最佳答案

烟花不堪剪 发表于 2017-8-24 11:11 忘了我这台电脑是加密的了 那么你搞个没有加密的给我看看吧。 其实你地址偏移之后,可以看下生成的hex文件,就能看到地址是否准确偏移了。 然后你再同时生成.bin文件。 ...
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25450
最后登录
2025-9-4
发表于 2017-8-10 16:56:02 | 显示全部楼层
根据这个帖子,进入hardfault之后,跟踪下,哪句代码进去的:
https://www.nxpic.org.cn/module/forum/thread-596127-1-1.html
这个帖子虽然是CW的,但是KEIL也是一样的查法。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

20

帖子

0

注册会员

Rank: 2

积分
187
最后登录
2020-10-23
 楼主| 发表于 2017-8-16 15:02:48 | 显示全部楼层
小恩GG 发表于 2017-8-10 16:56
根据这个帖子,进入hardfault之后,跟踪下,哪句代码进去的:
https://www.nxpic.org.cn/module/forum/thread-5 ...

是由于地址跳转导致的,请问在KEIL环境下如何实现BOOT到APP的地址跳转?
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25450
最后登录
2025-9-4
发表于 2017-8-16 15:29:52 | 显示全部楼层
烟花不堪剪 发表于 2017-8-16 15:02
是由于地址跳转导致的,请问在KEIL环境下如何实现BOOT到APP的地址跳转?

你用的什么芯片?我给你找个例程参考参考。
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25450
最后登录
2025-9-4
发表于 2017-8-16 15:30:51 | 显示全部楼层
烟花不堪剪 发表于 2017-8-16 15:02
是由于地址跳转导致的,请问在KEIL环境下如何实现BOOT到APP的地址跳转?

https://www.nxpic.org.cn/module/forum/thread-609766-1-1.html
我写的这个就是基于MDK的。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

20

帖子

0

注册会员

Rank: 2

积分
187
最后登录
2020-10-23
 楼主| 发表于 2017-8-16 15:58:02 | 显示全部楼层
小恩GG 发表于 2017-8-16 15:30
https://www.nxpic.org.cn/module/forum/thread-609766-1-1.html
我写的这个就是基于MDK的。

用的就是KEA128,我试试看,谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25450
最后登录
2025-9-4
发表于 2017-8-16 17:08:24 | 显示全部楼层
烟花不堪剪 发表于 2017-8-16 15:58
用的就是KEA128,我试试看,谢谢

那你用我的bootloader好了,还能兼容我们KBOOT2.0的上位机呢。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

20

帖子

0

注册会员

Rank: 2

积分
187
最后登录
2020-10-23
 楼主| 发表于 2017-8-16 19:55:11 | 显示全部楼层
小恩GG 发表于 2017-8-16 17:08
那你用我的bootloader好了,还能兼容我们KBOOT2.0的上位机呢。

几点疑问:
①下载的APP程序烧录一次之后,无法再次烧录,(使用的是J-LINK);
②我需要用CAN升级程序,想参考Demo的地址跳转方式,需要修改哪些东西,有哪些注意点?
③使用你的BOOTloader,我自己的APP需要修改0X2000的地址以外还需不需要其他修改;
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

20

帖子

0

注册会员

Rank: 2

积分
187
最后登录
2020-10-23
 楼主| 发表于 2017-8-16 20:19:01 | 显示全部楼层
烟花不堪剪 发表于 2017-8-16 19:55
几点疑问:
①下载的APP程序烧录一次之后,无法再次烧录,(使用的是J-LINK);
②我需要用CAN升级程序, ...

Demo的BOOT和APP可以跳转,但是我移植之后有问题
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25450
最后登录
2025-9-4
发表于 2017-8-17 09:24:36 | 显示全部楼层
烟花不堪剪 发表于 2017-8-16 19:55
几点疑问:
①下载的APP程序烧录一次之后,无法再次烧录,(使用的是J-LINK);
②我需要用CAN升级程序, ...

1.用的是我的代码对吧?没有做任何修改?
2. 跳转就直接参考我的UART bootloader的跳转就对了。
3.把APP改到0X2000之前,先检查下BOOTLOADER的生成代码有没有超过0X2000?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-6 18:35 , Processed in 0.106138 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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