满爷6 2022-12-21 09:49 采纳率: 0%
浏览 10

STM32L433串口IAP升级问题

使用STM32L433 的串口IAP升级,app程序正常写入到FLASH中了,但是跳转APP程序后却不运行。是什么原因?
调整代码

if(((*(vu32*)(FLASH_APP1_ADDR+0x00000004))&0xFF000000)==0x08000000)
{
        HAL_UART_Transmit_IT(&huart3 , (uint8_t *)"RAN_APP" , 7);
        HAL_Delay(100);
        iap_load_app(FLASH_APP1_ADDR);//执行FLASH APP代码    
}

void iap_load_app(uint32_t appxaddr)
{
    if(((*(vu32*)appxaddr)&0x2FFE0000)==0x20000000)    //检查栈顶地址是否合法.
    { 
        __disable_irq();
        jump2app=(iapfun)*(vu32*)(appxaddr+4);        //用户代码区第二个字为程序开始地址(复位地址)        
        MSR_MSP(*(vu32*)appxaddr);                    //初始化APP堆栈指针(用户代码区的第一个字用于存放栈顶地址)
        jump2app();                                    //跳转到APP.
    }
}    

app程序就是一个串口打印。以前用STM32F303的芯片是好的,后来因为STM32L4芯片FLASH只能双字写入,所以自己做了修改,但是就出问题了

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-12-21 12:05
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 12月21日

悬赏问题

  • ¥15 io.jsonwebtoken.security.Keys
  • ¥15 急,ubuntu安装后no caching mode page found等
  • ¥15 联想交换机NE2580O/NE1064TO安装SONIC
  • ¥15 防火墙的混合模式配置
  • ¥15 Ubuntu不小心注销了要怎么恢复啊
  • ¥15 win10电脑安装完plcsim advanced4.0运行时为什么会提示找不到虚拟网卡
  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧