2026・启芯程 | 先楫 HPM_SDK v1.11.0 重磅发布

下载地址https://resource.hpmicro.com/sdk_env_v1.11.0.zip

测试工具版本

ZCC 4.1.5Segger Embedded Studio 8.24IAR workbench for RISC-V 3.30.1

版本更新概况

[Updated]openocd

注意:

由于upstream代码逻辑变动,此版本的openocd需要配合此版本中hpm_sdk包含的配置文件(hpm_sdk/boards/openocd)一起使用, 不能与之前版本的配置文件混用。更新upstream code base修复gdbserver中snprintf长度错误问题在github release页面可以下载不同平台的binaryhttps://github.com/hpmicro/riscv-openocd/releases/tag/hpm_xpi_v0.4.0

新增/更新的中间件(Middleware)

[Added]esp_hosted_mcu

版本为2.5.3支持SPI支持WIFI

[Updated]HPM_MCL_V2

实现了混合力位控制功能,包括PD控制器与前馈力矩补偿、可配置的位置刚度和阻尼系数、输出力矩限制保护用户可参考 HPMicro KnowledgeBase:https://kb.hpmicro.com/2025/12/29/力位混合控制库使用指南/

[Updated]Micro-ROS

Micro-ROS版本由foxy更新到kilted更新了libmicroros.a的各项功能节点最大初始配置。目前,ROS2 node最大数量为6,publisher最大数量为4,subscriber最大数量为4,service最大数量为2,client最大数量为2个,消息缓存数量为2个

[Updated]CherryUSB

升级至了v1.5.3支持OTG主从模式切换,根据ID信号决定USB角色修复了Host模式下,多次插拔Device设备QTD耗尽问题

[Updated]TinyUSB

升级至了v0.20.0

[Updated]NetxDuo

增加了双网卡支持

[Updated]RTOS

增加了trap信息打印

[Updated]FreeRTOS

降低向量模式下的中断代码大小

[Fixed]HPM_MCL_V2

修复了离线参数辨识中变量赋值错误修复了闭环步进转换中电流处理时角度范围判断错误

新增/更新的组件(Components)

[Added]EEPROM HAL

引入 EEPROM 硬件抽象层(HAL),屏蔽物理芯片与仿真模拟的底层差异统一存储访问标准,支持通过通用 API 调用物理或模拟 EEPROM 组件

[Updated]ENET_PHY

新增多 PHY 实例支持,所有 PHY 驱动函数现在都支持指定 PHY 地址新增自动参考时钟设置(基于BOARD_ENET_RMII_INT_REF_CLK)新增接口设置、参考时钟设置及偏移(Skew)设置等相关 API

[Updated]I2C

新增 DMA 管理器自定义回调添加顺序传输接口

[Updated]SPI

新增 DMA 管理器自定义回调初始化顺序优化相关注释优化澄清

[Updated]Audio Codec

添加API设置LRCLK极性, 并在初始化时根据配置设置LRCLK极性

新增/更新的驱动(Drivers)

[Added]I2C

新增i2c_is_addrhit()API,优化地址命中检测统一地址验证和清除逻辑,改进传输配置的可靠性

[Updated]SPI

完善 FIFO/控制器重置等待机制新增spi_master_enable_cs_selectAPI, 可配置哪个设备硬件片选

[Updated]UART

修复波特率计算错误HPM_UART_DRV_RETRY_COUNT可配置

[Updated]LWIP

新增 MII 接口支持,扩展接口类型选择新增 custom pbuf 支持,支持零拷贝(Zero-copy)数据接收,降低 CPU 负载并显著提升网络吞吐性能

[Updated]TSW

新增 TSW 动态设置功能,支持广播帧、未知帧动作及帧动作配置修复 TSW 动态重复设置时原始设置被覆盖的问题增强 TSW 驱动 API 文档,并修复 DMA 状态寄存器访问及发送超时递减逻辑

[Updated]PWMV2

新增了获取默认PWM配置的函数pwmv2_get_default_config增加了计数器重载事件的DMA选择功能增强了死区配置,支持高分辨率死区设置

[Updated]SEI

新增了sei_get_crc_value()API获取CRC校验值

[Updated]QEIV2

新增了qeiv2_adc_channel_convert()API来设置QEI的ADC通道

[Updated]PCFG

新增了pcfg_dcdc_switch_to_ccm_mode()API来切换DCDC工作模式至CCM

[Fixed]PWM/PWMV2

修复了PWM状态寄存器赋值和捕获缓冲区处理错误修正了计算单元数量(从8增加到16)并更新了IRQ状态处理修正了强制输出和中断使能函数的位操作将update_trigger字段重命名为force_cmd_shadow_update_trigger以方便理解修正了HRPWM函数中的通道启动配置

Samples改动

[Added]EEPROM

新增 EEPROM 示例,展示如何让通过统一接口调用 EEPROM

[Added]SPI

新增了SPI读取SSI编码器的示例

[Added]ESP Hosted WiFi

完整的 ESP Hosted WiFi 演示程序,对接lwip

[Added]EtherCAT EOE

新增EtherCAT EOE功能演示例程,提供基于EOE的Modbus TCP/HTTP Server/TCP Echo例程,EOE例程支持裸机和Freertos两个版本

[Added]DAO_I2S_DMA

新增使用DMA进行DAO音频播放例程,支持单双声道音频,支持暂停和恢复播放,支持播放不同采样率音频

[Added]brownout:

增加vpmc brownout中断例程

[Added/Fixed]CherryUSB

新增了 OTG 示例修复了WebUSB URL描述符长度错误问题

[Updated]TSN

统一 TSN 示例目录结构,将原tsw示例重命名为tsn_switch增加 TSN 动态广播及未知帧动作设置示例

[Updated]LWIP

lwip_tcpclient 和lwip_tcpclient_freertos_socket支持从串口终端设置远程 IPlwip_iperf 和lwip_iperf_multi_ports支持 TCP/UDP 客户端模式下从串口终端设置远程 IP

[Updated]TinyUSB

更新了TinyUSB示例(基于TinyUSB中间件的示例)

[Updated]README

在多个示例(TFA、DSP、HPM Math、TFLM、TinyEngine)的README文件中添加了DSP工具链要求说明

[Fixed]EtherCAT

设置SSC Tool配置文件中参数ECAT_TIMER_INT = 1,生成的协议栈代码会在1ms tick中断中执行ECAT_CheckTimer()检查且移除DC_CheckWatchdog()中的开关ESC中断函数, 可避免关闭ESC中断影响ESC中断服务函数执行修改ESC中断PDI/SYNC0/SYNC1中断优先级可参考HPMicro KnowledgeBase:https://kb.hpmicro.com/2025/09/23/ethercatssc从站协议栈中的中断配置参数和中断优先级设/

[Fixed]Motor Control

更新了多个电机控制示例中的PWM初始化函数,使用pwmv2_get_default_config将配置结构设置为默认值,提高了一致性和可靠性

[Fixed]UART_LIN_SLAVE:

检查UART发送完成状态,避免提前清空FIFO

[Fixed]SDM:

设置精确的FIFO门限值

更多更新内容,请参考在线文档https://hpm-sdk.readthedocs.io/en/latest/CHANGELOG.html

已知问题

IAR Embedded Workbench相关:可以从IAR官网购买或者下载试用版本(14天),调试方式目前仅支持I-jet调试(正与IAR沟通解决使用openocd gdbserver进行调试出现的问题)在工程开启优化可能导致程序运行异常使用EWRISCV集成的Andes toolchain,coremark分数低于使用Segger Embedded Studio集成的Andes Toolchain的结果使用EWRISCV时,可能会出现relocate相关的错误,当出现该类错误的时候,可以在CMakeLists.txt中通过添加sdk_iar_ld_options(–disable_relaxation)来规避

上一篇 在window7下远程登录ubuntu12.04系统的三种有效方法
下一篇 在家自己组装电脑的技巧:组装电脑时需要遵循