2018.2.3更新
IAP & APP代码放出。
http://blog.youkuaiyun.com/sunhaobo1996/article/details/79248098
——————————————————————————
开头依然是废话
前几天想研究研究在STM32F0上实现IAP,参考了下官方给的代码,但由于官方生成IAP的代码生成的bin太大(5KB+),遂决定自己实现IAP。在使用标准库的情况下,仍可以达到2500bytes的大小,同时添加了CRC8校验与ACK等机制,明显优于官方Demo。
本打算一并放出IAP与对应上位机程序,但由于IAP没来得及进行APP的测试,抱着负责任的态度,就暂时先不放出对应的IAP代码了。
技术方案
STM32F030C8T6(使用USART来进行APP下载,附带CRC8校验与分包序列号,可实现分包下载功能)
上位机使用QT5.9.3,使用QT Quick来进行界面的构建与交互逻辑的实现。
使用的类库:
QSerialPort
代码下载:
上位机使用的类库与逻辑
这次小项目,彻底明白了MVC的含义。
使用Javascript 来进行界面业务的编写,使用C++ 来进行具体业务的实现,妙啊。
第一次用QT Quick写一个像模像样的项目,有的地方肯定写的有不好的地方。
在创建UI界面的qml文件后,会有对应的另外一个qml文件创建出来。我在ui文件中进行界面的布局,之后再在另外生成的QML中进