情况这样的,目前我们的一款产品,由单片机和安卓核心板两部分组成。安卓核心板有4G通讯,
现在想实现将单片机的程序通过4G传给安卓核心板,安卓核心板再通过串口将数据发给单片机的串口,
实现单片机程序的远程升级。查了相关资料,理论上是可以实现的,想请教大神们帮我理一理思路,有
参考的方案或者代码更好,万分感谢!
如果单片机和android共享存储器,直接通过存储器共享,将单片机需要的rom放在存储器上,单片机直接加载rom这个最好,你要考虑你的产品的升级的可靠性,因为对于用户来说,升级失败相当于变砖。
可参考stm32串口IAP。
可以将一个初始固件保存在安卓存储中,用于升级失败时的回退。
这是单片机升级IAP程序,什么通讯不重要,重要的是能把发送的程序写在STM32里面,通常有两种方法;
1、boot程序直接写APP应用程序,也就是你发过来的程序;
2、STM32里面存放了三个程序,boot和两个app程序,app程序自带了改写另外一个app程序的代码,写完后复位,通过flash来选择哪一段程序。
这个在正点原子那里有一个IAP的教程,不过思路逻辑就见仁见智了。