硬汉嵌入式论坛

 找回密码
 立即注册
查看: 562|回复: 1
收起左侧

[BOOT/IAP] 在线升级卡死

[复制链接]

19

主题

28

回帖

85

积分

初级会员

积分
85
发表于 2025-1-17 15:24:43 | 显示全部楼层 |阅读模式
在BOOT程序中设计为亮黄灯,APP程序亮绿灯,跳转到APP程序时,板子的灯都熄灭了,推测卡在了BOOT程序里,这是时为什么已经在BOOT里关闭中断了

void iap_load_app(uint32_t appxaddr)
{
        if(((*(__IO uint32_t*)appxaddr)&0x2FF00000)==0x24000000)        //检查栈顶地址是否合法.
        {
//                uint16_t i;
      printf("跳转到APP\r\n");
//                       //关闭必要中断
//                SysTick->CTRL = 0X00;//禁止SysTick
//                SysTick->LOAD = 0;
//                SysTick->VAL = 0;
//                __disable_irq();
   __set_PRIMASK(1);
                jump2app=(iapfun)*(__IO uint32_t*)(appxaddr+4);                //用户代码区第二个字为程序开始地址(复位地址)               
                __set_MSP(*(__IO uint32_t*)appxaddr);                                        //初始化APP堆栈指针(用户代码区的第一个字用于存放栈顶地址)  未调用正点原子  使用CMSIS库中armcc.h文件
                jump2app();       
  /* 跳转成功的话,不会执行到这里,用户可以在这里添加代码 */
     while (1)
     {

     }       
        }
}               

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2025-1-17 15:30:21 | 显示全部楼层
方便时候学习BOOT+APP的调试方法,

可以方便锁定问题。

视频教程第17期:单片机bootloader专题,启动,跳转配置和调试下载的各种用法(2022-06-10)
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=112792
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 02:03 , Processed in 0.037522 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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