《W5200E01-M3远程固件更新教程》之app.bin程序说明&上位机程序说明

本文详细介绍了《W5200E01-M3远程固件更新教程》中关于app.bin及上位机程序的主要功能与实现流程,包括main函数的初始化步骤、网络设置过程以及上位机与下位机的数据交互机制。重点阐述了如何通过配置工具软件NURI进行固件更新,以及在远程更新过程中的关键操作方法。

今天给大家继续介绍《W5200E01-M3远程固件更新教程》中,app.bin及上位机程序的说明。

3.1  main 函数

首先,对系统各个组件进行初始化,该过程包括系统时钟初始化、输入输出引脚初始化、嵌套中断向量初始化、计时器初始化、串行通信端口初始化、WIZnet W5200的SPI通信端口初始化,再对W5200进行复位操作。同时,打印输出“W5200 init over”。

然后,获取当前配置信息,并打印固件版本号,检查配置信息中的调试标志ConfigMsg.debug。如果调试标志位为0,则调试标志置1,并进行网络设置。

最后,循环执行do_dhcp(),do_dns(),do_udp_config()函数,以实现动态主机配合功能和域名系统功能。

图10  主函数流程图

3.2  app.bin main() function source code

4.上位机程序说明

上位机通过电缆与下位机相连。下位机进行数据预处理,组成一定的数据格式,通过RS-232串行口,将数据送到上位机,上位机采用串口终端方式接收数据,保证采集数据的实时处理。

 那么在远程固件更新的过程中。PC机作为上位机,接收数据,进行固件程序的更新。

我们在更新过程中,使用Nuri配置工具。

配置工具软件NURI通过PC的RS232与设置相连接,作用有两个:

1.设备对数据进行预处理,并组帧上传给PC。

2.PC可以通过软件对设备固件进行升级。

点击此按钮,即可上传更新程序到上位机。实现快速更新。

感谢关注!

明天介绍 更新过程的操作方法

相关内容:

《W5200E01-M3远程固件更新教程》之boot.bin程序说明

《W5200E01-M3远程固件更新教程》之系统说明

 

C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:29: multiple definition of `neoPixelActive'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:29: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:40: multiple definition of `pixels'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:40: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:38: multiple definition of `u8g2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:38: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:95: multiple definition of `lastPressTime'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:95: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:93: multiple definition of `ChangeRequested2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:93: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:92: multiple definition of `ChangeRequested1'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:92: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:91: multiple definition of `ChangeRequested'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:91: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:80: multiple definition of `channelGroup_3'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:80: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:79: multiple definition of `channelGroup_2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:79: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:78: multiple definition of `channelGroup_1'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:78: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:76: multiple definition of `current'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:76: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:73: multiple definition of `current_Mode'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:73: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:30: multiple definition of `oledBrightness'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:30: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:38: multiple definition of `u8g2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:38: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:40: multiple definition of `pixels'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:40: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:95: multiple definition of `lastPressTime'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:95: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:93: multiple definition of `ChangeRequested2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:93: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:92: multiple definition of `ChangeRequested1'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:92: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:91: multiple definition of `ChangeRequested'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:91: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:80: multiple definition of `channelGroup_3'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:80: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:79: multiple definition of `channelGroup_2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:79: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:78: multiple definition of `channelGroup_1'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:78: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:76: multiple definition of `current'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:76: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:73: multiple definition of `current_Mode'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:73: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:30: multiple definition of `oledBrightness'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:30: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:29: multiple definition of `neoPixelActive'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:29: first defined here collect2.exe: error: ld returned 1 exit status exit status 1 Compilation error: exit status 1
最新发布
11-20
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值