芯片复制STM32F4系列的ETH IAP在线升级程序
| 此bootloader程序可以通过http或tftp方式更新STm32应用程序,是否进入BOOTLOADER程序可以根据读取板载外接存储器中的字节判断,能够做到做到了现场快速更改程序,省时省力! STM32F4的以太网移植及IAP 在移植过程中,对于以太网协议还有许多不理解的地方,通过以后的实践学习,不断深入理解并完善此文档。 芯片复制以太网的移植(无操作系统)打开LWIP1.4.1 移植文件,需要移植的src 文件port文件。其中port文件移植ethernetif.c/.h文件;src文件移植①api文件中所有.c文件,②core文件中除ipv6及snmp文件外所有文件,③ include中除ipv6及posix外所有的.h文件。由于此处移植无操作系统,所以在IAP_SERVICE 文件中定义了sys_arch.c,其中只有返回外部时间函数return get_systick()。注意KEIL5相应的路径页需要包含对应的头文件。 芯片复制移植FATS 系统 FTFP传输文件是512k block形式传送的,需要移植 FATS 文件系统。此处不多说,有比较多的资料讲这块。 芯片复制移植ETH 驱动及 DP83848驱动 ETH 驱动是从官网上直接移植的,DP83848驱动通过lan8720修改过来的,区别就是lan8720的硬启动需要一定的时延,而DP83848基本上不需要硬重启的时间。需要注意的是在PHY驱动中,有些系统PHY 驱动中启动了MAC中断,那么在主程序中就可以不轮询ETH_CheckFrameReceived()函数,及ETH_DMA 是否接受到数据。反之,如果不启动MAC中断,则需要轮询ETH_CheckFrameReceived()函数。 芯片复制Tftp 服务程序Tftp 协议是在udp协议上升级而来,保证了文件传输的准确性。是在udp传输数据的基础上加上了特殊的包头与报位,并且有特定检验传输数据是否有问题的机制。报文格式如图1所示。 |

芯片解密