把程序编译后生成二进制文件,通过一个蓝牙模块接受发送过来的二进制程序文件,然后保存在单片机里,等数据保存完毕,就把接受到的数据写入APP区域就可以了。接收和写入APP区域的这段程序就是你的升级程序,这段程序和你单片机实际执行功能的程序APP是互相独立的。
如果APP程序比较大,就先接收2K字节的二进制数据后写入APP区,紧接着不断接收,类似于一个循环队列一样。具体你可以查查串口IAP实验的程序就明白了。我在社区也写过相关文章。