取之于民用之于民--IAP,SD卡升级,奉献给大家,支持开源

2019-07-21 08:10发布

SD卡实现IAP升级。mini板中完美通过。

iap 功能其实很实用。

工作之前还不知道有iap这个东东,后来工作了。公司用的就是这技术,

每次发给客户的软件都是bin文件让客户升级MCU软件。

过程是这样的,给bin文件客户,放入sd卡中,开机,升级。

免除了拆卸机器,烧录MCU这样繁琐的过程,并且客户没有烧录器,可以挂在网上,然客户自行下载升级。

很方便,可是我公司却将iap功能打包了。看不见源码。

这技术我觊觎很久了。

有幸网络认识原子大哥,投身mini大营,有了一个研究平台,

并且大哥开源高水准的代码,让我获益匪浅。


SD卡读取应用程序,很爽不是。

嘎嘎。 代码是移植原子哥的。




 操作过程: 1、烧录bootloader中的HEX文件,作为引导程序

                2、将程序通过MDK 生成BIN文件(修改成stm32.bin)
                

              
                      fromelf.exe 是MDK自带的HEX->BIN 程序, 查看你们的MDK安装位置,自行改成fromelf.exe的路径
                3、修改程序烧录ROM的位置 
                     


                     0x5000之前装的是boderloader引导升级程序

                   4、修改向量表(跟ROM一致,一定要改)
                        

                    5、编译
                        将生成的STM32.bin 放入SD卡中插在MINI板上,开机就可以升级了。
                  

                    6、升级OK,直接进入应用程序。



程序思想:上电检测SD卡,FAT初始化,检查stm32.bin文件。OK,进入升级。否则进入应用程序。




升级成功,自动进入应用(该应用程序是原子哥的,就该了改ROM位置以及向量表)


            
iap例程中,两个应用都是原子哥的,仅仅改了ROM和向量表。。








友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
Pony279
1楼-- · 2019-07-22 03:22
ma_hao123
2楼-- · 2019-07-22 06:24
 精彩回答 2  元偷偷看……
Pony279
3楼-- · 2019-07-22 09:08
C语言比汇编易懂多了

上面的定义是基本的函数指针啊
hpdell
4楼-- · 2019-07-22 10:39
这个真心不错,还没用过,回去测试测试~~~
强子
5楼-- · 2019-07-22 12:27
回复【9楼】ma_hao123:
---------------------------------
函数指针。比较基础 。 typedef  void(*pVoid) (void) ; 这种写法是常见的,给你demo一个最基础的用法

定义一个函数指针    pVoid  pFunction;

void function(void)
{
    printf("xx");
}
pFunction=fuction; 

(*pFunciton)();







suqingxiao
6楼-- · 2019-07-22 15:40

楼主请教一下,电脑怎么升级,也要存到SD卡吗?用什么样的接口啊,我不太懂多少 。
                                        

这个技术我也研究了很久,因为用ISP和JILING烧程序很不方便,产品做出去要留升级接口。 

一周热门 更多>