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

描述

 

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

测试工具版本

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

版本更新概况

[Updated] openocd

注意:

  • 由于upstream代码逻辑变动,此版本的openocd需要配合此版本中hpm_sdk包含的配置文件(hpm_sdk/boards/openocd)一起使用, 不能与之前版本的配置文件混用。
  • 更新upstream code base
  • 修复gdbserver中snprintf长度错误问题
  • 在github release页面可以下载不同平台的binary https://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_select API, 可配置哪个设备硬件片选

[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 支持从串口终端设置远程 IP
  • lwip_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) 来规避

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分