wantomsoft 发表于 2024-7-1 11:44:38

如何实现MCU远程刷机程序升级

我是用STC15W4K32S4 MCU开发单片机,
通过4G物联网模块实现通信,目前单片机功能正常。


但有程序修正或升级时要一台台人工刷机太不方便的,
请问各位大咖如何实现远程对单片机进行升级呢?
实现远程单片机升级要什么条件?有没有案例?

神农鼎 发表于 2024-7-1 12:57:53

先看这个可否


远程现场升级,自动生成您公司界面的升级软件,省电脑端开发人员,人工智能 - 51 发烧友,UAC,极致音频,大国工匠,艺术人生,乐林漫步 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)





wantomsoft 发表于 2024-7-1 13:39:13

神农鼎 发表于 2024-7-1 12:57
先看这个可否




非常感谢,我好好研究下。

wantomsoft 发表于 2024-7-1 15:59:12

神农鼎 发表于 2024-7-1 12:57
先看这个可否




没看懂如何通过远程升级,我的远程升级需通过互联网、4G通信模块来联系。我看文章大量还是USB通信,USB通信不就是现场升级吗?

神农鼎 发表于 2024-7-1 17:52:42


神农鼎 发表于 2024-7-1 17:53:12


wantomsoft 发表于 2024-7-2 09:54:21

神农鼎 发表于 2024-7-1 17:53


STC15W4K32S4这款MCU一样的实现方法吗?

小坤 发表于 2024-7-2 16:41:16

本帖最后由 小坤 于 2024-7-2 16:42 编辑

我做过,但是代码可能不方便贴出来,用的STC8H8K64U的芯片。主流程还是参考官方的例程,需要注意点的是,例程ISPISR.ASM文档中需要根据实际的BOOT程序大小设置跳转地址,例程是4K 0x1000 ,我的底层程序是8K0x2000。
跟你说下我的流程吧,
app-> 物联网跟服务器的数据交换采用的TCP 私有协议每包数据的1024,收到数据后,校验 缓存到外部的EEPROM,校验存储的数据是否正确。等所以数据接收完成触发IAP=0X60重启.
boot-> 首先读取标志位来判断是否需要升级,否 则跳转到指定地址去执行;是,从外部EEPROM读出数据,擦除 写入数据。完成后在重启的就好了

soma 发表于 2024-7-2 18:22:22

小坤 发表于 2024-7-2 16:41
我做过,但是代码可能不方便贴出来,用的STC8H8K64U的芯片。主流程还是参考官方的例程,需要注意点的是,例 ...

这方法不错,就是要norflash。eeprom不怎么够

小坤 发表于 2024-7-3 08:22:00

soma 发表于 2024-7-2 18:22
这方法不错,就是要norflash。eeprom不怎么够

EERROM也够了 128/256/512 就可以
页: [1] 2 3
查看完整版本: 如何实现MCU远程刷机程序升级