传统单片机下载代码都是通过下载器连接单片机下载。但是在之前公司开发一款潜望镜时,由于整个外壳要做密封防水,每次拆开非常麻烦不说,还要重新密封,所以每次修改BUG拆开非常麻烦,就想着开发一个无线升级的软件,通过WIFI连接实现无线升级。
单片机程序主要由两部分组成。bootloader部分和APP部分,两部分程序烧录在芯片里不同的地址上,bootloader(0x80000000-0x80002000)剩下的地址就给APP了。升级程序可以实现APP和bootloader之间相互跳转,升级时先跳转到bootloader然后依据协议上位机发升级文件。
此升级程序含有两种升级模式,串口升级和tcp客户端升级。串口升级就是传统的串口协议进行数据发送。
重点是tcp客户端模式,采用esp8266作为tcp-串口透传模块,esp8266作为tcp服务端,上位机作为客户端往固定端口发送的数据被esp8266转发到串口,同理串口的数据别转发到固定端口。
升级协议目前是自己编写的协议,后期改为ymodem通用协议。
!!!



!!!
评论 (0)