最近在做DSP28335系列的bootloader串口升级,网上搜资料发现大家都整的挺神秘的,无奈自己去搜了点TI的文档以及给的demo,发现基本原理就是flash整个大区,一部分区分给bootloader工程用,一部分分给自己的工程用,两个工程可以独立存在于flash中,通过一句汇编指令即可互相跳转,即为方便,核心就是CMD分配。实际上操作非常简单,无非就是在release模式下生成工程的txt文件,通过串口把这个数据发给bootloader工程来更新app工程。总共花了两周时间,开发了一个上位机,一个bootloader工程和一个app测试工程。
一、升级方式
自己的工程运行过程中收到串口指令(自己定协议,一个0x55都是可以的),通过汇编指令,跳转到bootloader工程的BEGIN地址,然后在bootloader工程中等待上位机发送的数据,刷新自己工程相应的Flash即可。
二、上位机设计
用QT写了个简单上位机,调用相应运行文件就可以更新,整个QT实际代码量不超过100行。运行效率极高,每个block都会检验校验和。
三、如何获取
如有需要,可以咸鱼~