前言
用户程序比较简单,但是起着至关重要的作用
用户程序是和BootLoader程序相互配合的
拷贝文件到自己的项目
APP用户程序的 stmflash.c stmflash.h 和 上一节的BootLoader 是一样的.
只有IAP有点差别
用户程序需要做两件事情
一.获取更新的信息(版本号,更新的状态)
二,在认为APP用户程序运行没有问题以后写上
现在就完成了APP用户程序的处理工作.
现在我说明一下为啥会有如此操作
在前面的BootLoader程序里面就有很多的状态判断,
在APP用户程序里面可以获取到这些状态
大家可以在用户程序里面 通过 IAPStructValue.UpdateStatusValue的值来知道上次更新的状态
为了更直观,大家直接可以调用 printf("%s",IAPStructValue.UpdateStatusStr); 打印对应的字符串
也可以在认为程序没有问题的时候,把这些状态发给上位机,这样就直观的知道更新的状态
然后
BootLoader下载好程序以后呢,写入状态为:0x01 然后重启了
重启以后当然还是先运行 BootLoader
然后 BootLoader 判断是0x01以后 写入 0xFF
然后运行新的用户程序
用户程序里面才有了
如果执行了新的用户程序,而大家没有调用上面的那个函数做处理
那么单片机重启以后 就会执行BootLoader
BootLoader一判断还是 0xFF 就会认为,新程序没有正确运行
然后便会 切换到上一套程序运行
所以我才会让大家感觉用户程序运行没有问题了再调用
IAPUpdateDispose() 函数
因为我提供的源码是为大家参考或者直接应用做项目的
怎么说呢!我要保证万无一失!!
生成第一份用户程序
还记得上一节BootLoader打印的不
所以第一份用户程序的配置
生成第二份用户程序