实现STM32 IAP + APP 4G远程升级嵌入式程序------下载文件包(2)

使用芯片:STM32F405RGT6

使用4G模块:移远的EC20版本

这里我们只说思路,很久没有更新了,实在抱歉!

我们可以通过HTTP或者MQTT下载程序包(Bin文件),前提是我们需要把生成的Bin文件一个不差的放在服务器供我们下载。

更新程序的思路有两种:一、将Flash划分为三个区域,①Bootloader程序区;②App程序区;③程序存储区。我们在APP程序里面写下载Bin文件程序,然后将下载的程序暂时存放在“程序存储区”,注意程序下载下来存储的“大小端”问题,这个一定一定要注意,不然程序运行不起来。最好再仿真里面观察一下下载程序和生成程序是不是一摸一样。等程序下载完成一切准备就绪之后,复位App程序然后跳转到Bootloader程序区域中。在Bootloader中主要干两件事,把App程序擦除掉,然后把刚刚放在存储区的程序赋值到App程序区域中去,完成之后准备跳转到APP程序中。在跳转之前有两件非常非常重要的事,一定将Bootloader中初始化了的外设反初始化一次,并关闭中断。然后在App程序中初始化所有外设之前也最好反初始化一下,不然程序会一直卡死在中断中。二、将Flash划分为两个区域,①Bootloader;②App程序区。第二种方法唯一不一样的是再Bootloader里面去下载程序,在下载之前直接把App程序擦除掉,然后下载一次,存储一次。下载、校验完成再跳转过去就行。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值