重要提示:每个 HPM_APPS 应用示例均需特定版本的 HPM_SDK 支持,请务必查阅对应示例目录中的 README 文件确认所需 SDK 版本。

本固件升级方案是在[HPM二级Boot固件升级方案]上的迭代升级,固件升级原理和流程基本一致,本文不再赘述。支持HPM全系列MCU,基本涵盖了固件升级的全功能需求, 如全量升级、差分升级、压缩升级、基于RAM运行,基于FLASH XIP运行、固件加密、固件EXIP解密执行等功能。
支持HPM全系列MCU。
支持网络、串口、USB、ECAT等通道升级。
支持二级BOOT下载升级APP固件(非后台下载升级)。
支持APP下载升级APP固件(后台下载升级)。
支持全量升级、差分升级、压缩升级。
支持固件加密,exip解密执行。
固件加密和差分、压缩同时支持。
支持差分、全量混合升级。
应用XPI REMAP技术,用户APP全场景只需维护单一固件即可。
二级BOOT支持RAM、FLASH_XPI、FLASH_SDRAM_XPI构建运行。
用户APP支持RAM、FLASH_XPI、FLASH_SDRAM_XPI构建运行。
支持RAM、XPI混合升级。
支持FLASH分区任意调整。
支持上位机工具制作生成全量、差分、压缩签名升级包。
注意:
1.为避免二级BOOT和用户APP均为RAM类型执行时RAM分配不合理导致内存踩踏异常,当前方案限制了二级BOOT和用户APP同时为RAM类型执行。若用户可避免以上发生,取消限制即可。
2.差分升级需要版本管理,必须当前运行的固件和升级的固件差分才能正常升级。
3.差分升级,差分包制作时,必须确保签名算法类型和当前运行的固件签名算法类型一致,否则不支持差分升级。
4.用户APP加密时,为确保加密密匙的安全性,必须对加密密匙的区域进行加密。如使用官方KEK BLOB加密。
HPM6E00系列微控制器内置一个EtherCAT从站控制器(ESC),每个ESC存在三个端口P0,P1,P2用于EtherCAT通信,其中P0口为EtherCAT输入口。同时,该系列微控制器内置一个基于时间敏感网络的交换机控制器(TSN),每个TSN存在四个端口,CPUPORT,P1,P2,P3,其中,CPUPORT直接给到CPU,CPU可以参与该端口的数据处理,P1,P2,P3端口用于对外转发。支持802.1as,802.1Qav,802.1Qbv,802.1Qch,802.1Qbu,802.1br,只有CPUPORT支持802.1Qci和802.1CB。
针对HPM6E00系列的ESC和TSN。先楫半导体推出HPM6E00_FULL_PORT板,用于测试评估ESC和TSN。同时,该板子板载SPI LCD,8路CAN,KEY,LED,USB OTG,USB-UART等,具体可参考《HPM6E00FULLPORTRevB》原理图。

本节主要介绍基于开源 Ethercat 主站 SOEM 的使用。由于 SOEM 开源协议的限制,故源代码不会放在 SDK 中,请自行下载源代码并安装到下面目录。
SOEM 下载链接:https://github.com/hpmicro/ethercat_soem/releases。
注意:下载后解压到目录:hpm_apps/middleware,如下图:
barebone 例程需要搭配 HPM6E00EVK + hpm_sdk 中 ethercat/ecat_io 例程使用。
cia402 例程需要搭配 HPM6E00EVK + hpm_sdk 中 ethercat/ecat_cia402 例程使用。
barebone 例程中 HPM6750EVK2 串联两个 HPM6E00EVK, 并控制 HPM6E00EVK 上两个 led 交替闪烁。

cia402 例程中,HPM6750EVK2 控制 HPM6E00EVK 外接电机,并持续转动

完结
在使用过程中有任何疑问或者建议,欢迎在github对应项目中提交。
全部0条评论
快来发表一下你的评论吧 !