OpenEdv-开源电子网

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

Bootloader中为什么直接 调用 iap_load_app(FLASH_APP1_ADDR) 出错?

[复制链接]

3

主题

6

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2020-10-8
在线时间
4 小时
发表于 2020-11-8 21:45:05 | 显示全部楼层 |阅读模式
3金钱
在Bootloader程序中,设置了一个定时器,如果Bootloader 开始运行10S内,没有收到任何远端指令,就直接跳转到APP 运行。
if(IAPtimer>10000)
                {
               
                if(((*(vu32*)(FLASH_APP1_ADDR+4))&0xFF000000)==0x08000000)//ÅD¶ÏêÇ·ñÎa0X08XXXXXX.
                        {         
                                                                         
                                iap_load_app(FLASH_APP1_ADDR);
                               
                        }
               
                }


结果调用 iap_load_app(FLASH_APP1_ADDR)后,程序卡死了。但是在 lwIP tcp_recv() 这个回调函数中调用这个iap_load_app(FLASH_APP1_ADDR)正常, 请问什么原因?

/////////////////////////////////////////////////

void iap_load_app(u32 appxaddr)
{
        if(((*(vu32*)appxaddr)&0x2FF00000)==0x20000000)       
        {
                jump2app=(iapfun)*(vu32*)(appxaddr+4);                       
                MSR_MSP(*(vu32*)appxaddr);                               
                jump2app();                                                                       
        }
}               




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2020-7-31
在线时间
17 小时
发表于 2020-11-13 16:19:45 | 显示全部楼层
你可以试一下加个指示灯或者在跳转函数之前打印一个字符串,先确定程序具体卡死在哪里,具体我也不了解,分步多试试,当时写的U盘升级我没用定时器,主函数里面直接跳转的
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2019-9-9
在线时间
9 小时
发表于 2020-12-20 20:48:54 | 显示全部楼层
是不是没有关中断的原因。
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2020-12-21 10:01:28 | 显示全部楼层
没这么直接跳过,只是收到标志后再flash中做个记号然后重启读取这个标志位,根据标志位判断进行APP跳转
回复

使用道具 举报

3

主题

6

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2020-10-8
在线时间
4 小时
 楼主| 发表于 2021-1-30 21:15:24 | 显示全部楼层
DRAGON传说 发表于 2020-12-20 20:48
是不是没有关中断的原因。

关闭什么中断?在什么地方关?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-14 03:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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