OpenEdv-开源电子网

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

基于F4的LWIP网络升级

[复制链接]

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2014-5-20
在线时间
23 小时
发表于 2016-6-18 10:40:31 | 显示全部楼层 |阅读模式
最近看到群里有大神写了关于F4的SD卡IAP升级,移植了看看,挺好用的,非常感谢。
想进一步做到远程升级,思路如下:
1、F4写入2个程序,一个IAP,一个APP,IAP用于更新,APP用于接收网络数据,分包发送,每个包1024长度;
2、APP接收网络数据,存入WQ25,并保存状态,重启
3、IAP读取状态,确认更新,读取WQ25数据,写入flash。
4、更新完毕,跳转;

那问题来了,跳转失败!最后查看到,在下面代码部分失败:
..............................................................
//appxaddr:用户代码起始地址.
void iap_load_app(u32 appxaddr)
{
        printf("栈顶地址((*(vu32*)appxaddr)&0x2FFE0000) => %x %x\r\n",(*(vu32*)appxaddr),((*(vu32*)appxaddr)&0x2FFE0000));
        if(((*(vu32*)appxaddr)&0x2FFE0000)==0x20000000)        //检查栈顶地址是否合法.
        {
                printf("\r\n");
                jump2app=(iapfun)*(vu32*)(appxaddr+4);                //用户代码区第二个字为程序开始地址(复位地址)               
                MSR_MSP(*(vu32*)appxaddr);                        //初始化APP堆栈指针(用户代码区的第一个字用于存放栈顶地址)
                jump2app();                                        //跳转到APP.
        }
        else
        {
                printf("栈顶地址非法\r\n");
        }
}                 

..............................................................

实际打印为:((*(vu32*)appxaddr)&0x2FFE0000) => 3631 0

正确打印为:((*(vu32*)appxaddr)&0x2FFE0000) => 2001fda0 20000000


怀疑是升级文件问题,将升级文件放到SD卡中,通过IAP读取,分包,每包1024,写入WQ25。全部写入完毕后,然后再从WQ25中读取出来,竟然是跳转OK的!!!!
这是我想不明白的地方,现求助原子大哥!


部分代码如下:
********************************************************************
#define UPDATA_APP_CMD (1024*1024*12 + 800)
#define UPDATA_APP_DATA (1024*1024*12 + 820)
********************************************************************
22.png
file:///C:\Users\lenovo\AppData\Roaming\Tencent\Users\362342450\QQ\WinTemp\RichOle\L)_P9GGM5NT1${R4YXO)O}R.png
****************************************************************
file:///C:\Users\lenovo\AppData\Roaming\Tencent\Users\362342450\QQ\WinTemp\RichOle\L)_P9GGM5NT1${R4YXO)O}R.png 11.png
********************************************************************

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

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2014-5-20
在线时间
23 小时
 楼主| 发表于 2016-6-18 11:50:49 | 显示全部楼层
回复 支持 反对

使用道具 举报

5

主题

62

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2016-3-9
在线时间
74 小时
发表于 2016-8-13 21:14:34 | 显示全部楼层
Mark一下
回复 支持 反对

使用道具 举报

19

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1873
金钱
1873
注册时间
2013-7-29
在线时间
276 小时
发表于 2016-8-18 09:05:09 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 21:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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