OpenEdv-开源电子网

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

bootloader切换不成功,大家指点下,谢谢啦

[复制链接]

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3347
金钱
3347
注册时间
2013-5-28
在线时间
468 小时
发表于 2021-1-8 14:28:09 | 显示全部楼层 |阅读模式
15金钱
本帖最后由 聚东风 于 2021-1-8 14:35 编辑

bootloader切换不成功
崩溃了!!!
前面写了个测试的切换程序,没问题的。
把他们叫AAA_BOOTLOADER程序跟AAA_APP;
AAA_APP,只负责跑马灯。
测试成功。
然后我的正式程序,叫BBB_BOOTLOADER跟BBB_APP,死活切换不成功。
试了BBB_BOOTLOADER+AAA_APP是成功运行的,
试了AAA_BOOTLOADER+BBB_APP是不运行的,
然后我以为是我的BBB_APP问题,
折腾了很久,然后,把以前同事遗留的代码(BOOTLOADER部分,只有hex文件)弄出来,组合进我的BBB_APP,运行成功。
然后我就非常迷茫,
这到底是我的BBB_BOOTLOADER有问题还是BBB_APP有问题?
有被坑过的兄弟指导下吗?

以下是BBB_BOOTLOADER的切换部分,Test_Fun函数是强制定位到BBB_APP起始地址0x08004000的,合并时删除了这部分数据。
  1. __ASM("CPSID I");
  2.                         __set_MSP(*(U32*)((U32)Test_Fun&0xfffffff0));
  3.                         App_Addr_Base=(void(*)(void))((U32)Test_Fun+ 0x00000004);
  4.                         SCB->VTOR=(U32)Test_Fun&0x1FFFFF80;
复制代码
我看了网上绝大多数人都这样就好了,是我漏了啥吗?
请知道的兄弟姐妹指点下,谢谢啦

最佳答案

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

跳转代码我用的是ST官方给的,ApplicationAddress是我要跳转的地址
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
473
金钱
473
注册时间
2020-5-11
在线时间
217 小时
发表于 2021-1-8 14:28:10 | 显示全部楼层
跳转代码我用的是ST官方给的,ApplicationAddress是我要跳转的地址
  1. if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
  2.                         { /* Jump to user application */
  3.                                 JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
  4.                                 Jump_To_Application = (pFunction) JumpAddress;
  5.                                 /* Initialize user application's Stack Pointer */
  6.                                 __set_MSP(*(__IO uint32_t*) ApplicationAddress);
  7.                                 Jump_To_Application();
  8.                         }
复制代码
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2099
金钱
2099
注册时间
2017-2-11
在线时间
306 小时
发表于 2021-1-8 15:26:57 | 显示全部楼层
原子有  IAP讲解这章
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3347
金钱
3347
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2021-1-9 08:33:48 | 显示全部楼层
有成功的代码问题就好找了,果真是优化跟编译搞的鬼
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-3-1 06:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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