[1.9.0] - 2025-03-31:
-
Main changes since 1.8.0
-
Tested Segger Embedded Studio Version: 8.22a
-
Tested Zcc toolchain 3.2.5
-
Known Issue:
- zcc lld 3.2.5: sections with NOLOAD attribute might be linked incorrectlyi.
- It will be fixed in the next toolchain's release.
- zcc libnn 3.2.5: tpt_elementwise_add_s8 incorrect input parameter sign, it will be fixed in the next toolchain's release.
- It will be fixed in the next toolchain's release.
- Workaround: refer to README of samples/tflm/face_obj
- zcc lld 3.2.5: sections with NOLOAD attribute might be linked incorrectlyi.
Changed:
- arch: l1c: add macro HPM_SDK_L1C_NO_REENTRANT.
- arch: l1c: move cache size macros from arch to soc feature.
- arch: l1c: update cache mcctl data API.
- arch: l1c: remove disable and enable interrupt.
- arch: l1c: optimize cache operation.
- soc: pcfg: update pcfg_wakeup_src_t enum.
- soc: rename pdgo wakeup enable and disable APIs.
- soc: interrupt: stack sp should be align 16 bytes.
- soc: update trap and interrupt to save and restore mcctl data.
- soc: l1c: unify cache driver.
- soc: update some compiler options for zcc-3.2.5.
- soc: hidden adc12/adc16 BUS_RESULT registers svd.
- soc: l1c: add api to enable writearound.
- soc: update soc header from hpm_soc_info.
- soc: hpm6p00 update soc part number.
- soc: triggermux, release TRIM_IN TRIM_OUT registers for hpm6pxx.
- soc: update hpm200/hpm1200/hpm600/hpm700 soc files.
- soc: using pllctlv2 driver enum pll/clk/div.
- drivers: hpm_common: macro ATTR_PLACE_AT_NONCACHEABLE and ATTR_PLACE_AT_FAST_RAM keep for backwards compatibility.
- drivers: mcan change the Message Buffer setting logic.
- drivers: uart: add and modify uart_fifo_trg_lvl_t enum members to accommodate different SOC uart FIFO depth.
- drivers: pllctlv2: add enum for pll/clk/div.
- drivers: tsn: add enum definitions for mac types.
- drivers: acmp: add the extended filter length setting API.
- drivers: acmp: delete clock and cap settings.
- drivers: DMA: remove unused bit.
- drivers: trgm: rename trgm_input_filter_xxxx apis to trgm_filter_xxxx apis.
- drivers: pdgo: suppress clang-tidy warning.
- drivers: gptmr: differentiate between swsynct assignment in QEI and non-QEI for gptmr_trigger_channel_software_sync API.
- drivers: ptpc and i2c bringup.
- drivers: tfa add common lib.
- drivers: move pdgo driver to soc folder.
- drivers: add ewdg bit18 stop_wdt_aft_reset.
- drivers: gptmr: add qei mode related APIs.
- drivers: spi: add slave cs falling and rising edge interrupt enum.
- drivers: spi: add enable/disable dma request after cmd APIs.
- drivers: uart: update uart driver.
- drivers: qeov2: add new position filter function.
- drivers: esc: add byte read/port disable/sync irq map function.
- drivers: qeiv2: round adc cfg param.
- drivers: romapi move common xpi and xpi nor API table to driver.
- drivers: update lobs drivers.
- drivers: lobs: update lobs driver.
- drivers: lobs: update lobs driver for v1.0.0.
- drivers: jpeg: update jpeg configurate.
- boards: hpm6p00evk: update sdram size and width.
- boards: set TEST_DMA_CONTROLLER to XDMA if XDMA exist.
- boards: doc: add board know issue description.
- boards: hpm6p00evk: change plb output pins.
- boards: hpm6p00evk: update board readme doc.
- boards: hpm6p00evk: update device name.
- boards: add build flag to exclude board timer functions.
- boards: bump up vcore to 1275mv and update to OD freq.
- boards: Change the naming of trgmux-related macros.
- boards: openocd: update flash option in board config.
- boards: hpm5300,hpm6p00,hpm5300 change default flash freq to 100mhz.
- boards: hpm6p00evk: update flash config as sip part is used.
- boards: adc16: adjust pinmux to be the same as ACMP pin for auto test.
- boards: hpm6p00evk update soc name and on-board flash size.
- boards: add qeo pwm safety trgm definition.
- boards: hpm6800evk: add board_puart_pin feature.
- boards: change IRQn_SEI_x to IRQn_SEI0_x.
- boards: hpm5300evk: add ecat port2 pin config and definition.
- boards: hpm6p00evk: add a note about enet initialization error when ISP mode is selected.
- components: Add hpm_jpeg component.
- components: improve encode performance.
- components: i2c: add the hpm prefix to the enum and the structures of the i2c component.
- components: i2c: change the I2C_Type parameter to hpm_i2c_context_t to pass in configuration parameters.
- components: plb: rename trgm_input_filter_xxxx apis to trgm_filter_xxxx apis.
- components: update readme for support cache config.
- components: ppi: change ns type from uint8_t to uint16_t.
- components: ppi: add dq signal select dq pins configuration.
- components: spi: enable dma request after cmd for setup_dma APIs.
- components: plb_filter: update readme doc.
- middleware: cherryusb: update CMakeLists.txt to include audio and video host class.
- middleware: cherryusb: middleware: update config to improve performance.
- middleware: fatfs: adapter to cherryusb v1.4.3.
- middleware: cherryusb: update to v1.4.3.
- middleware: threadx: stack sp should be align 16 bytes.
- middleware: ucos_iii: stack sp should be align 16 bytes.
- middleware: FreeRTOS: stack sp should be align 16 bytes.
- middleware: rtthread-nano: stack sp should be align 16 bytes.
- middleware: threadx: add save and restore mcctl data.
- middleware: rtthread-nano: add save and restore mcctl data.
- middleware: ucos_iii: add save and restore mcctl data.
- middleware: freeRTOS: add save and restore mcctl data.
- middleware: wifi:mhd_wifi upgrade mhd_wifi stack to new revision.
- middleware: wifi:mhd_wifi upgrade to new revision.
- middleware: cherryusb: msc middleware: update msc host class stack.
- middleware: vglite: WB_NO_ALLOC is used by vglite.
- middleware: hpm_math: add hpm_dsp_and_u16() API.
- middleware: lvgl: support rotate.
- middleware: rtthread-nano: update to v4.1.1.
- samples: cherryusb: samples: add UDisk format picture.
- samples: tinyusb: samples: add UDisk format picture.
- samples: cherryusb: samples: update auto and manual operation flow.
- samples: cherryusb: msc samples: add usb disk format description.
- samples: image and tinyusb samples: add usb disk format description.
- samples: femc: samples: update speed result.
- samples: rom_api:xpi_nor_api move phase related functions into separate xpi_util API.
- samples: bgpr: samples: add known issue linking.
- samples: usb: samples: add board known issue.
- samples: lwip & modbus samples: delete unused macro related to DHCP.
- samples: lwip: samples: simplify macro definitions for IP/Netmask/Gateway/MAC.
- samples: pgdo: add dgo_enable_wakeup_src() when init.
- samples: bgpr: update readme doc.
- samples: motor_ctrl: Move kp ki parameters to board file.
- samples: dual_panel: update readme.
- samples: rom_api: samples: add app.yml.
- samples: lwip: optimization for app-level option configuration files.
- samples: cherryusb: adapter to cherryusb v1.4.3.
- samples: move the sent_signal_decode demo from samples/drivers/gptmr to samples/sent/decode.
- samples: add support for specify ip address through cmd line.
- samples: drivers:mcan set the mcan message buffer explicitly.
- samples: lwip:mhd_wifi_demo enable the interrupt-driven mode by default.
- samples: drivers: samples: improve print messages for FIFO mode.
- samples: i2c_components: since the i2c component API parameter transfer has changed, the parameter variable needs to be modified.
- samples: tsn: rename project name to tsn_lwip_tcpecho_example in sample-level CMakeLists.txt.
- samples: tsn: samples: tsn_frame_preemption_ingress: modification for compatibility between different port speeds.
- samples: lwip: replace tx_buff/rx_buff with cacheable_memory.
- samples: ecat: add description to modify port count in ESI.
- samples: pwmv2: update pwmv2 fault api.
- samples: motor_ctrl: use the new time macro.
- samples: motor_ctrl: samples: change the pid parameter to the new loop time.
- samples: qeo_pwm_out: add qei provide position to qeo.
- samples: ecat: update board phy and led config.
- samples: ppi: add cache config for async_sram.
- samples: ppi: samples: delete break when mismatch.
- samples: qeiv2: samples: add macro BOARD_APP_QEI_TRIGMUX_OUT_NUM_ADC.
- samples: drivers: samples: reorganize pdgo demo depend by soc.
- samples: ppi: add dq signal select dq pins.
- samples: drivers: samples: add qeimode sample.
- samples: drivers: samples: interrupt: add CS rising and falling edge interrupt detection.
- samples: drivers: samples: update uart_rx_line_status sample.
- samples: ecat: update flash emulate eeprom component address.
- samples: lobs: update lobs sample.
- samples: spi samples: update the readme for all sample.
- samples: trace_recorder, update for rtthread v4.1.1.
- samples: update rtthread config files.
- samples: rtthread-nano, update demo, adapt v4.1.1.
- samples: sei: master: endat/nikon: should be use sei_set_trig_input_command_value() instead of sei_set_command_value().'
- samples: sei: slave: update baudrate settings.
- docs: samples: docs: update the runtime behavior description.
- docs: ppi: ppi memory cache only support MEM_TYPE_MEM_WB_READ_WRITE_ALLOC.
- docs: convert docs from md to rst.
- docs: samples: docs: update related API usage tips.
- scripts: exclude ucos-iii commit check.
- readme: remove releases after v1.10.0.
Fixed:
- soc: gcc: soc: correct typo of fini_array section.
- soc: pcfg: fix pcfg_clear_wakeup_cause() API.
- soc: HPM6P81: update SPI_SOC_FIFO_DEPTH to 8.
- soc: HPM6E80: update SPI_SOC_FIFO_DEPTH to 8.
- soc: l1c: correct shift value.
- soc: l1c: add l1c_xc_unlock.
- soc: fix rtos build error.
- soc: hpm5301: romapi fix duplicated definition issue.
- soc: HPM5301: add clock_mot0 enum for trgm and synt peripheral.
- drivers: pwmv2: deinit function error.
- drivers: femc: add auto_refresh_cmd_count in config struct, default value is 8.
- drivers: enet: add a commnet aboout ENet DMA initialization error.
- drivers: tsw: fix the unmatched send id issue.
- drivers: opamp: change opamp dac pins.
- drivers: spi: prefix 'spi_' to spi_shift_direction_t enum members.
- drivers: pllctlv2: fix incorrect mask clear.
- drivers: sdxc fix SDXC_STS_CMD_ERR definition.
- drivers: pixelmux: fix rgb data source disable.
- drivers: fix iar build error.
- drivers: tsw: fix communition failure after port speed changes.
- drivers: pwmv2, fix compile warning.
- drivers: pwmv2: fix the name of the pwm api.
- drivers: uart: irq mask changes the enum to uint32t for uart_disable_irq API and uart_enable_irq API.
- drivers: fix ewdg ot_int_ticks never read build error.
- drivers: pdgo: fix turnoff clock source comment.
- drivers: tsw: fix function error of API tsw_tsync_update_data.
- boards: hpm6p00evk: decrease femc clock from 166MHz to 133Mhz and decrease femc DQ pins driver strength.
- boards: hpm6750evkmini: fix lcdc timing to hpw.
- boards: hpm6p00evk: improve femc DQ pins speed and driver strength.
- boards: hpm6p00evk: boards: Fix foc demo not working.
- boards: hpm6p00evk: fix led on level.
- boards: hpm6p00evk: add usb_p and usb_n pins initialization.
- boards: hpm6p00evk: Add pull-up configuration on RX pin to prevent data reception errors.
- boards: put timer_cb under macro NO_BOARD_TIMER_SUPPORT.
- boards: hpm6p00evk, flash size is 1MB.
- boards: hpm6p00evk flash parameter error.
- boards: hpm6e00evk: replace the gptmr sync channel pin, GPTMR0-CH0 -> GPTMR4-CH3.
- boards: pwmv2, fix fault pinmux error.
- boards: hpm6p00evk: add development board version in note about enet initialization error with ISP boot mode.
- components: spi: Rename hpm_spi_dma_install_callback API to hpm_spi_dma_mgr_install_callback API.
- components: i2c: Rename hpm_i2c_dma_install_callback API to hpm_i2c_dma_mgr_install_callback API.
- middleware: hpm_sdmmc fix the issue that the emmc driver doesn't support byte addressing mode.
- middleware: fatfs: fix usb_disk_read() and usb_disk_write() function prototype.
- middleware: cherryusb: fix usbd core stack.
- middleware: threadx: fix build errors.
- middleware: rtthread-nano, shell add IAR support.
- middleware: rtthread-nano,add fpu switch.
- middleware: rtthread-nano, thread stack add fpu and rv32e support.
- middleware: rtthread-nano, modify thread_pointer initial value.
- middleware: rtthread-nano, add iar support.
- middleware: hpm_sdmmc: spi middleware: fixed the SD card identification information error issue in version 1.0.
- middleware: lwip: middleware: fix some files being sourced twice.
- middleware: hpm_sdmmc: spi middleware: open the us delay time.
- middleware: Fix uC/OS-III gptmr hello world IAR project error.
- middleware: align FreeRTOS initialise task stack to 16 bytes.
- middleware: fix freeRTOS cache related stack save&restore code.
- middleware: fix canopen mcan init fail.
- samples: lwip_ping_freertos_socket: samples: fix comment style warning.
- samples: lwip_xxpecho_rtthread-nano: fix main stack overflow issue.
- samples: lwip_ping_freertos_socket: fix ping error with static ip.
- samples: sent: samples: return error on incomplete or invalid SENT signal decoding.
- samples: drivers: samples: sram: fix femc init twice when using flash_sdram_xip build type.
- samples: microros add toolchain version information.
- samples: ppi: update cache config.
- samples: lwip:mhd_wifi_demo fix compiling issue when GCC 14.x is used.
- samples: drivers: samples: fix pwmv2 fault run error.
- samples: lwipipip_lwip_tcpecho_multi_ports_xxxx: fix program running blocking.
- samples: drivers: samples: fix issue with missing parameters in printf output.
- samples: lwip_ping_freertos_socket: fix function error hpm_sdk-#4004.
- samples: image: samples: fix op aligned APIs.
- samples: motor_ctrl: samples: change hfi parameters.
- samples: usb: samples: fix label error.
- samples: webusb/bpgr: fix led on/off level.
- samples: lvgl_coremark: fix freq switch problem.
- samples: lwip: samples: use HPM_STRINGIFY.
- samples: image: fix w_size in loop.
- samples: image: samples: fix codec failed when storage is udisk.
- samples: power_mode_switch: use wkup pin to wakeup.
- samples: mhd_wifi_demo: exclude lwip for clang.
- samples: lwip:mhd_wifi_demo add missing lwip portable layers.
- samples: lwip:mhd_wifi_demo avoid using the common lwip config.
- samples: lwip_iperf: fix compiling error.
- samples: bgpr: add default build type.
- samples: lwip: samples: eliminate clang-tidy check errors.
- samples: bldc samples: Adjusting pid parameters.
- samples: phase_shifting, global variables modified during interruption are optimized.
- samples: count_matching, global variables modified during interruption are optimized.
- samples: sent: samples: add the -lm option to link the math library.
- samples: fix netx build error.
- samples: cherryusb: samples: update readme because some PC no window popup.
- samples: lwip: samples: add cache writeback before invoking enet transmission API #3838.
- samples: tinyuf2: fix cache maintenance address issue.
- samples: lwip_tcpclient: fix no expected function about data echo through TCP transmission.
- samples: lobs: fix lobs doc errors.
- samples: ecat: add default build type.
- samples: uart: samples: add the UART FIFO overflow detection condition description.
- samples build error caused by tfa_lib.S.
- samples: gptmr: samples: Optimized the logic for parsing SENT signals.
- samples: gptmr: samples: rename sent_data_formet_t structure to sent_data_format_t.
- samples: fix plb no pulse output.
- samples: spi_sdcard: change SPI sdcard send buffer from AHB SRAM to non-cacheable memory.
- samples: i2c_components: samples: polling: correction the project name.
- samples: tsn: samples: fix logic missing of disabling pmac before pmac setting.
- samples: tsn: tsn_stmid_frer_xxx & samples: delete unused function call of tsw_ep_enable_all_mac_ctrl().
- samples: ecat: exclude ram target.
- samples: fix low power samples soc name.
- samples: uart_tamagawa: remove usused hpm_trgm_soc_drv.h.
- samples: bldc_block: change loop run time.
- samples: uart_lin_slave_baudrate_adaptive: fix pin setting and definition.
- samples: qeov2_pwm_out: fix used trgm signal.
- samples: qeov2_abz_out&qeov2_pwm_out: fix API unused build warning.
- samples: tfa gcc build error.
- samples: tfa gcc build error.
- samples: sdm: update pwm function to generate clock for sdm.
- samples: tsn: fix using a wrong macro for the send buffer assignment.
- samples: sei: samples: nikon: fix CDF crc error.
- docs: components: docs: fix parameter description errors in hpm_spi_set_sclk_frequency API doc.
- docs: the jump link for "get_started" on the homepage is invalid.
- docs: tflm: docs: add zcc libnn 3.2.5 compiling config.
- docs: rdc: change rdc readme error.
- docs: samples: docs: uart_irq: when switching RST doc, need migrate updated MD doc.
- docs: bldc_block: add hall pin description.
- docs: zh: Fix the link failure in the 'Pin Description' section of the Chinese doc.
- docs: boards: docs: en: fix the incorrect display of GPTMR pins.
- docs: boards: docs: Remove unnecessary comments.
- docs: remove 'lab_' prefix from lab_board_resource tags in RST files.
- docs: boards: docs: Fix GPTMR4.COMP_0 board position.
- docs: rvbacktrace: fix trailing whitespace.
- docs: samples: docs: uart_irq: improve the description information of the notes.
- cmake: CMAKE_CXX_STANDARD can be specified by user.
- cmake: ses: fix missing zicsr zifencei ext while zcc is used.
- cmake: fix build path is too long to compile success for core1 of dual demo.
- scripts: ses: update c++ standard according to CMAKE_CXX_STANDARD.
- scripts: localize_sdk: copy middleware directory.
- scripts: add default value for new parameters argv[3-4] in check_board_cap.py. -refs hpm_sdk #3962.
- scripts: iar: cc definitions need to be normalized.
- scripts: remove the junction folder mapping after core1 generated. -refs sdk_env #3609.
Added:
- soc: bpor: add bpor_is_reg_value_retention_enable() API.
- soc: HPM6E00 add new part.
- soc: sysctl: add sysctl_get_cpu_lp_retention() APIs.
- drivers: hpm_common.h: add a macro definition HPM_STRINGIFY.
- drivers: tsw: add an API tsw_set_xmac_mode().
- drivers: triggermux, add get status function for input signal.
- drivers: pwmv2:add some driver interface.
- boards: yaml: add board_wkup_pin feature.
- boards: add macro BOARD_BGPR.
- components: segment_led: add segment led components.
- components: panel: add multi panel support.
- components: spi: add hpm_spi_get_tx_dma_resource and hpm_spi_get_rx_dma_resource APIs.
- components: i2c: add hpm_i2c_get_dma_mgr_resource API.
- middleware: dsp: add hpm_dsp_mat_add_f64() API.
- middleware: hpm_mclv2: add time conversion related macros.
- samples: cherryusb: add webusb serial sample.
- samples: add sent signals encode sample.
- samples: drivers: add bgpr retention sample.
- samples: add segment_led_key sample by using segment_led component.
- samples: drivers: samples: add readme files.
- samples: pwmv2, point trigger PWM.
- samples: pwmv2, add fix duty cycle change frequency sample.
- samples: pwmv2 add synchronous output.
- samples: pwmv2 add phase shifting sample.
- samples: tfa add fpu check.
- samples: add tfa driver and sample support.
- samples: exclude usbx sample that used too much ram.
- docs: components: docs: add new description readme doc.