2024完美收官:先楫半导体HPM_SDK v1.8.0 发布
下载地址
https://resource.hpmicro.com/sdk_env_v1.8.0.zip
版本更新概况
[New]OpENer
Ethernet/IP协议栈
[New]Canopen
Canopen DS301 协议栈
[New]rvbacktrace
RISC-V 32位架构下的栈回溯软件
-支持使用fp寄存器回溯
-支持遍历指令进行栈回溯
[New]Trace Recorder
程序运行追踪软件
-支持FreeRTOS
-支持RT-Thread
[Update] FreeRTOS
增加新的临界段管理方法
-支持高优先级中断不受RTOS临界段影响
[Update] uC/OS-III
增加使用gptmr作为系统时钟源的支持
[Update] hpm_sdmmc
增加 SDIO 协议栈支持
增加 中断驱动 模式支持‘’
增加 RTOS 支持(基于CMSIS-RTOS2)
[Update] hpm_mclv2
增加pid控制器转换为硬件3p-3z控制器的支持
-原理和性能介绍
https://kb.hpmicro.com/2024/10/16/pid控制器切换到3p-3z控制器的应用与性能分析/
增加二型PLL滤波器的支持
-性能分析
https://kb.hpmicro.com/2024/10/31/锁相环滤波器性能分析/
优化电流环的计算时间为1us
修复空指针,增加极对数支持,修复6-step模式下扇区错误
[Update] CherryUSB
CherryUSB版本由v1.4.0更新至v1.4.2
[Update] LVGL
LVGL版本由v9.1更新至v9.2
[New]I2C components
增加DMA方式的读写API,支持主机和从机模式
增加POLLING方式的读写API,支持主机和从机模式
增加DMA方式的带从设备的寄存器地址的读写API,支持主机模式
增加POLLING方式的带从设备的寄存器地址的读写API,支持主机模式
[Update] PLB components
增加PLB LIN时钟检测功能
增加滤波器功能
-支持滤刺模式、延时模式、滤峰模式和滤谷模式,可对外部引脚信号或内部信号进行滤波,详见 PLB实现滤波器
https://kb.hpmicro.com/2024/12/27/plb实现滤波器/
[New] Canopen 例程
演示baremetal下,两块开发板分别作为master和slave,进行SDO,PDO,NMT等交互的过程
[New] rvbacktrace 例程
演示baremetal下,rvbacktrace在函数调用,中断以及异常情况下的栈回溯表现
演示在RT-Thread下,rvbacktrace对单一线程和所有线程的栈回溯表现
[New] mhd_wifi_demo例程
演示基于 AP6256 Wi-Fi 模块的网络通信功能 (基于FreeRTOS+LWIP)
支持 AP + STA 模式
支持 wifi , ping , iperf 等测试命令
[New] OpENer 例程
演示Remote IO例程
演示使用OpENer控制电机的例程(单核/双核)
[New] Trace Recorder 例程
演示FreeRTOS下Trace Recorder的使用
演示RT-Thread下Trace Recorder的使用
[New] uC/OS-III 例程
新增了使用gptmr作为系统时钟源的例程
[New] CherryUSB 例程
新增了UVC Device摄像头例程
新增了CDC ACM Host例程
[New] i2c_components 例程
新增了DMA I2C例程, 支持主机和从机
新增了POLLING i2c例程, 支持主机和从机
[New] TSN 例程
新增TSN Frame Preemption(IEEE802.1 Qbu)例程
新增TSN STMID FRER(IEEE802.1 CB)例程
新增TSN PSFP (IEEE802.1 Qci) 例程
[New] UART_LIN slave 例程
新增通过PLB检测LIN波特率,实现UART LIN slave波特率自适应的例程
[Update] EtherCAT例程
支持对ESC的EEPROM进行初始化。能够解决初次使用时EEPROM为空情况下checksum校验失败的问题,或程序升级时,需要更新EEPROM内容的情况。无需通过主站工具如TwinCAT等去更新EEPROM内容,由程序直接初始化EEPROM内容。程序代码中须包含由SSC Tool生成的EEPROM数据(eeprom.h):
如果当前EEPROM中的EtherCAT Slave Controller Configuration Area数据checksum校验失败,则会使用eeprom.h中的数据初始化EEPROM内容。
如果checksum校验成功,则会进一步校验当前EEPROM中的Product Code和Revision Code。如果Product Code不同或eeprom.h中的Revision Number大于当前EEPROM已存储的Revision Number时,则会使用eeprom.h中的数据初始化EEPROM。
[Update] 时钟使能由在board中使能改为在app中使能
删除了board_init_clock()中的大部分外设时钟使能(clock_add_to_group),由应用程序根据外设使用情况自行使能。
[Update] bldc foc 例程
提供了电流环计时功能,并提供可复现1us电流环的方法
[Update] I2S 例程
I2S 例程使用的DMA由HMDA切换成XDMA
使用i2s_config_multiline_transfer()接口,支持多lines传输
[Update] RGB_LED 例程
支持PWM2控制RGB LED
[Update] SDM 例程
支持测试SDM不同的工作状态(Polling/采样中断/超限中断/硬件触发),提供采样值与电压值之间换算的计算示例(与采样器件属性相关)。
更多更新内容,请参考在线文档
https://hpm-sdk.readthedocs.io/en/latest/
CHANGELOG.html
ZCC 3.2.4, libnn/lindsp 3.2.5
Segger Embedded Studio 8.20
IAR workbench for RISC-V 3.30.1
ZCC (3.2.4) 相关
在开启-O3优化时,某些情况下会将rodata段放到sdata段中
IAR Embedded Workbench相关
可以从IAR官网购买或者下载试用版本(14天),调试方式目前仅支持I-jet调试(正与IAR沟通解决使用openocd gdbserver进行调试出现的问题)
在工程开启优化可能导致程序运行异常
使用EWRISCV集成的Andes toolchain,coremark分数低于使用Segger Embedded Studio集成的Andes Toolchain的结果
常用链接
hpm tools (pinmux & clock)
链接:https://tools.hpmicro.com/login
在线文档
hpm_sdk 在线文档
中文:https://hpm-sdk-zh.readthedocs.io/zh-cn/latest/
English:https://hpm-sdk.readthedocs.io/en/latest/
knowledage base
链接:https://kb.hpmicro.com/
代码仓库
sdk_env
github:https://github.com/hpmicro/sdk_env
gitee:https://gitee.com/hpmicro/sdk_env
hpm_sdk
github:https://github.com/hpmicro/hpm_sdk
gitee:https://gitee.com/hpmicro/sdk_env
riscv_openocd
github:https://github.com/hpmicro/riscv-openocd
(相对于上游版本,只添加了HPMicro MCU对应flash algorithm)
riscv-gnu-toolchain releases (发布不同平台编译后的工具链)
github:https://github.com/hpmicro/riscv-gnu-toolchain/releases
在使用过程中有任何疑问或者建议,欢迎在github对应项目中提交
问题提交
sdk_env Issues
链接:https://github.com/hpmicro/sdk_env/issues
hpm_sdk Issues
链接:https://github.com/hpmicro/hpm_sdk/issues
讨论区
hpm_sdk Discussions
链接:
https://github.com/hpmicro/hpm_sdk/discussions
sdk_env Discussions
链接:
https://github.com/hpmicro/sdk_env/discussions
-END-