昨天发出了单片机IAP的上位机程序,由于没有实际测试IAP APP的运行情况,所以便没有发出来IAP程序。
上位机相关的帖子:
说是自己写的,但还是参考了官方给出的Demo,所以叫官方精简定制版会更好一些?
使用标准库来尽可能减小体积,当初想用HAL库,用MXCube来生成初始化代码,但HAL生成的代码太大,什么都没写就将近5K,用在F4P6上性价比太低,果断放弃。
大致提一下这个的功能。
CRC8验证
1024以下可变包长
本来还有个分包序列号这东西,但感觉没什么用,就删掉了(毕竟也不乱序发包……都自带CRC与ACK了……)
难点,可能也就是对Flash的操作与如何跳转到APP上。
但怎么进行跳转,官方Demo已经给出了:
if (((*(__IO uint32_t *)APPStartFlashAddr) & 0x2FFE0000) == 0x20000000)