Skip to content

v1.10.0

Latest
Compare
Choose a tag to compare
@jhqian jhqian released this 30 Jun 11:43

[1.10.0] - 2025-06-30:

  • Main changes since 1.9.0
  • Tested Segger Embedded Studio Version: 8.24
  • Tested Zcc toolchain 4.0.0

Changed:

  • soc: HPM5300/HPM6E00/HPM6P00: update soc files.
  • soc: toolchain/bootheader: rename XPI0 to FLASH.
  • linker: ld: add ALIGN(8) into 'start section' and before symbol '__etext'.
  • drivers: pllctl: add spread spectrum setup api.
  • drivers: pllctlv2: add api to setup spread spectrum.
  • drivers: qeiv2: add some config apis.
  • drivers: qei: add some config apis.
  • drivers: usb: add delay in usb phy de-init.
  • drivers: eui: rename eui_get_time() to eui_get_time_us().
  • drivers: sei: update sei driver based on sei.csv update.
  • drivers: sei: add macro SEI_DAT_CMD.
  • drivers: sei: add synchronous slave rx tx point macros.
  • drivers: pmp add api to configure and lock pmp and pmp entry separately.
  • drivers: pdm add configure sample rate API.
  • drivers: tsw: add an API tsw_cb_frer_set_msec_cycles().
  • drivers: tsw: add struct rx_hdr_dest_t definition.
  • drivers: spi: add spi_master_enable_cs_select API.
  • drivers: mcan add mcan_is_tx_buf_cancellation_finished.
  • drivers: gptmr: fix assignment and spelling errors in burst mode API.
  • boards: hpm5301evklite: use XTAL as pll ref clock.
  • boards: add clk_ref pin information.
  • boards: hpm6p00evk: add spi0 clock for board_init_spi_clock API.
  • components: usb: components: add attached_buffer and attached_qtd in dcd_qhd_t.
  • components: plb components: config all input trig pins for each channel.
  • components: usb: components: format hpm_usb_device.c file.
  • components: usb: components: avoid to use qtd buffer addr to calculation.
  • components: serial_nor: add hpm_serial_nor_get_tx_dma_mgr_resource and hpm_serial_nor_get_rx_dma_mgr_resource APIs.
  • components: serial_nor: add dma_mgr to implement internal DMA management.
  • middleware: cherryusb: middleware: fix build warning.
  • middleware: lvgl: add lv_app_conf.h.
  • middleware: cherryusb: update to v1.5.0.
  • middleware: cherryusb: update isr organization for otg.
  • middleware: cherryusb: fix ehci_qtd_alloc() not init qtd alt_next_qtd and token.
  • middleware: cherryusb: implement usb_hc_low_level_deinit().
  • middleware: cherryusb: middleware: add qtd pool to qh usage.
  • middleware: usb: update _dcd_data aligned settings.
  • middleware: fatfs: update sdmmc port, don't need cache maintain here.
  • middleware: fatfs: update spi_sd port, don't need cache maintain here.
  • middleware: fatfs: support cacheable buffer read and write.
  • middleware: add CONFIG_XXX_CUSTOM_PORTABLE to exclude port layer.
  • middleware/components: usb device: add usb_qtd_alloc() to ep usage, enabled by macro USB_DEVICE_DTD_POOL_SHARED.
  • middleware: cherryusb: sync to cherryusb v1.5.0 release.
  • middleware: canopen: update canopen module to master branch.
  • middleware: ucos_iii: replace CONFIG_UCOS_III_TIMER_RESOURCE_NOT_MCHTMR with CONFIG_UCOS_III_TIMER_RESOURCE_GPTMR.
  • middleware: freertos: support for using pwm as FreeRTOS's tick source.
  • middleware: fatfs: add break when disk_read/write failure.
  • samples: coremark/dhrystone: adjust options for zcc.
  • samples: drivers: samples: split sample to separate examples.
  • samples: drivers: samples: split to two separate examples.
  • samples: qei/qeiv2: use qei_config_mode()/qeiv2_config_mode() APIs.
  • samples: usb: device samples: decrease msc_disk size from 32KB to 8KB.
  • samples: cherryusb: update usb_config.h file to adapter to v1.5.0.
  • samples: cherryusb: samples: delete USBH_USE_CUSTOM_ISR and USBD_USE_CUSTOM_ISR.
  • samples: cherryusb: samples: rndis: optimize linkoutput API, wait for current frame to complete.
  • samples: cherryusb: samples: rndis: samples: set NO_SYS=0 to enable OS support in lwip.
  • samples: cherryusb: samples: msc: delete the limitation about the cluster size.
  • samples: tsn: samples: simply ip, gw, netmask and mac.
  • samples: sei: samples: add disable_instr_ptr_check init in latch2.
  • samples: rgb_led: samples: add some descriptions.
  • samples: rgb_led: samples: add implementation description.
  • samples: rgb_led: remove redundant code.
  • samples: rgb_led: add code comments in detail.
  • samples: drivers: samples: update endat rewind cmd register config.
  • samples: sei: use macro SEI_DAT_CMD.
  • samples: sei: samples: use SEI_SYNC_SLAVE_RX_TX_POINT_ON_xxxx_EDGE macros.
  • samples: drivers: samples: update irq flag processing.
  • samples: sei: samples: bissc/endat: support auto adjust rx point.
  • samples: imgae: samples: align file_buffer to cache line size.
  • samples: image: delete cache maintain in file_store() and file_restore().
  • samples: audio: update audio related buffer aligned size.
  • samples: sd_fatfs: align buffer address to cache line size.
  • samples: spi_sdcard: remove ATTR_PLACE_AT_NONCACHEABLE for FATFS and FIL variable.
  • samples: usb: samples: use FATFS_ONLY_NONCACHEABLE_BUF macro.
  • samples: plb samples: support filter mode change.
  • samples: tsn_free_preemption_ingress: update log for readme_en.rst.
  • samples: bgpr: update readme doc.
  • samples: motor_ctrl: refactor QEI/QEIV2 and PWM initialization.
  • samples: cherryusb: cdc samples: change readbuf to ping-pang buffer.
  • samples: pllctlv2: samples: change debug uart clock src.
  • samples: pllctl/pllctlv2: exclude all flash and sdram targets.
  • samples: cherryusb: update uvc yuyv sample.
  • samples: drivers: samples: add screenshots of spread spectrum.
  • samples: qeov2: add code comments and update README.
  • samples: qeo: add code comments and update README.
  • samples: sdm: add code comments and update README.
  • samples: drivers: samples: change GPTMR clock source enabling to board_init_gptmr_clock API.
  • samples: uart_lin: add code comments and update README.
  • samples: lin: add more comments and update README.
  • samples: i2s_master/slave: add more comments and update README.
  • samples: i2s_dma: add more comments and update README.
  • samples: i2s_interrupt: add more comments and update README.
  • samples: i2s_dao_pdm: add comments and update README.
  • samples: coremark/dhrystone: adjust options for zcc.
  • samples: add hpm_pdmlite_drv.h.
  • samples: i2s: update pdm and dao sample.
  • samples: canopen: split the sample of canopen into master role and slave role.
  • samples: ucos_iii: merge ucos_iii hello and ucos_iii hello mchtmr samples.
  • samples: threadx: merge threadx hello and threadx hello mchtmr samples.
  • samples: freertos: update freertos hello to support pwm as tick source.
  • samples: tsn: samples: add broadcast frame and unknown frame action settings.
  • samples: tsn: samples: enhance the ability to resist network stroms.
  • samples: tsn: samples: update some configurations parameters to improve throughput.
  • samples: tsn: samples: common: remove a redundant function call netif_set_link_up(netif).
  • samples: dhrystone: clear compile options for non zcc compiler.
  • samples: drivers:mcan add demo for txbuf cancellation.
  • samples: coremark: using set RV_ABI and RV_ARCH instead of sdk_ses_compile_options().
  • samples: update pwmv2 sync, add note for restore pwmv2 state.
  • samples: sei: update lacth-state config flow to enhance readability, and move irq enable after engine enable.
  • samples: drivers: samples: dma_use_gptmr_event_transfer: change GPTMR clock source enabling to board_init_gptmr_clock API.
  • samples: i2s: add i2s_config_multiline_transfer APi description.
  • samples: fft_perf_test: improve README documentation clarity.
  • docs: samples: docs: gpio: update the description for readme.
  • docs: samples: docs: gpiom: update the description for readme.
  • docs: samples: docs: gptmr: add readme doc for index.rst.
  • docs: samples: docs: update FIFO threshold description for readme.
  • docs: samples: docs: spi: add readme doc.
  • docs: samples: docs: add readme doc for index.rst.
  • docs: samples: update cherryrb and cherryusb usbnet samples readme.
  • docs: update cmake_intro file.
  • docs: add separate target for en/zh.
  • docs: samples: add mm_align readme to index.
  • docs: update sdk schedule.
  • docs: samples: docs: uart: add hardware flow control description for index.rst.
  • docs: update some samples titles and board readme.
  • docs: add i2s peripheral README.
  • docs: samples: docs: update the description for hardware CS.
  • docs: samples: docs: uart: add interrupt description.
  • docs: samples: docs: gptmr: add burst mode description.
  • cmake: segger: add HPM_SES_USE_SEGGER_LD definition.
  • cmake: zcc: show memory usage after build.
  • cmake: add comments in detail for all functions.
  • cmake: ses: process -Ox for ses_cflags.
  • cmake: normalize heap/stack size.
  • cmake: add human readable size string parsing.

Fixed:

  • soc: hpm6800: fix incorrect dram size in linker files.
  • soc: uart: add uart tx idle feature.
  • soc: clock clarify the behavior of clock_wait_source_stable.
  • soc: update soc hpm_gpiom_regs.h.
  • soc: update HPM6E00 and HPM6P00 header files.
  • soc: toolchains:iar fix fw_size value.
  • soc: toolchain: soc: correct fw_size.
  • soc: enet: fix buff address alignment.
  • drivers: uart: prescaler calculation changed from floating-point to integer for uart_calculate_baudrate API.
  • drivers: qei: rename QEI_EVENT_POSITIVE_COMPARE_FLAG_MASK to QEI_EVENT_POSITION_COMPARE_FLAG_MASK.
  • drivers: pmp correct the value for PMP_ADDR and PMA_ADDR.
  • drivers: uart: enhance divider calculation by adding rounding for uart_calculate_baudrate API.
  • drivers: eui: fix filter length settings.
  • drivers: sdm: fix output 16bit data.
  • drivers: uart: add missing tx idle configuration in uart_init function.
  • drivers: uart: change uart_enable_9bit_transmit_mode function macro condition.
  • drivers: uart: change tx idle function macro condition.
  • drivers: pmp fix calculation of PMPADDR and PMAADDR.
  • drivers: tsw: fix bitfield IRQEN in register MM2S_DMA_CR setting error.
  • drivers: pllctl: fix pll stable judgement and wait pll stable after change pll frequency.
  • drivers: pllctlv2: fix pll stable judgement and wait pll stable after change pll frequency.
  • drivers: qeiv2: fix iar build warning.
  • drivers: pwmv2 modify function note.
  • drivers: synt channel 4-15 can not use.
  • drivers: pllctlv2: fix calculation overflow issue.
  • drivers: tsw: update some register names.
  • boards: hpm6p00evk: fixed incorrect SPI2 clock value return in board_init_spi_clock API.
  • boards: hpm6p00evk: remove LIN info in README.
  • boards: hpm6p00evk: fix uart pin position.
  • boards: hpm5300evk: fix link of drv_lv50a_mp1907 in zh doc.
  • boards: add sdram card detect function.
  • boards: hpm6e00evk fix typo in board_init_can_clock.
  • components: usb: components: enable ios interrupt when open ep0.
  • components: plb: resolve sign comparison warning in LIN clock detection.
  • components: usb: components: fix dtd buffer address setting.
  • components: hpm_jpeg: fix build warning.
  • middleware: tflm: Fix const qualifier in flatbuffers stl_emulation.h.
  • middleware: fix freertos bug when using gptmr and enable preempt.
  • middleware: usb: middleware: fix control transfer processing.
  • middleware: fatfs: fix disk_ioctl data type.
  • middleware: lvgl: fix stride mismatch.
  • middleware: tinyusb: middleware: delete vTaskDelay from isr.
  • middleware: hpm_sdmmc support disabling the sdmmc xfer callback.
  • middleware: ucos_iii: fix preemption problem.
  • middleware: decoder_wav: fix wav header decode problem.
  • middleware: uCOS-III: add check for vector mode in port.c.
  • middleware: enhance motor angle alignment support.
  • middleware: segger_rtt fix compiling issue when using ses with andes toolchian.
  • samples: delete disable trig function in qei init.
  • samples: delete disable oneshot mode function in qei init.
  • samples: sei: samples: fix crc configuration.
  • samples: sdm: update data to voltage convert function.
  • samples: fix 'enable' spelling errors.
  • samples: image: samples: add cache invalidate before encode.
  • samples: image: samples: add cache invalidate before encode.
  • samples: image: samples: fix pdma src buffer don't have cache maintain.
  • 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: sent: samples: add the -lm option to link the math library.
  • samples: fix netx build error.
  • samples: netxduo: add support for specifying port in cmd line.
  • samples: pllctlv2: remove ss type.
  • samples: cherryusb: audio samples: fix feedback ep no data.
  • samples: cherryusb: samples: http_server_freertos: exclude ram_release build type.
  • samples: fix OpENer samples restart error when link down.
  • samples: rom_api:sdp_api correct wrong ROM API call.
  • samples: fix the bug that the lsb of POS is covered to zero.
  • samples: dhrystone: correct compile options.
  • samples: i2s: remove unnecessary included drivers.
  • samples: tsn: samples: fix missing flow meter configurations.
  • samples: tsn: samples: lwip_tcpecho: fix the issue that port number cant not be redefined.
  • samples: tsn: samples: common: fix extreme low throughput with interrupt usage.
  • samples: rom_api:xpi_nor_api avoid inlining ram function into function at FLASH.
  • samples: spi_sdcard: samples: fix large file write test failed with IAR release build.
  • samples: fix iar relocation issue for the software library in flash_sdram_xip build.
  • samples: drivers: samples: dma_use_gptmr_event_transfer: fix no led blimk for hpm5e00evk.
  • samples: sent: samples: align pwm_meas_table to 8-byte boundary when transfer size is 8 bytes in XDMA.
  • samples: drivers: samples: fix documentation description errors and duplicates.
  • samples: lwip:mhd_wifi_demo fix demo crashing due to enabling xfer callback.
  • samples: iperf: fix the tcp receive speed problem of iperf on NetX Duo.
  • samples: image: samples: fix create new file incorrect.
  • samples: cherryusb: samples: add volatile to isr variable 'rndis_tx_done'.
  • samples: tsn: samples: master / samples: remove a redundant function call of vTaskStartSchedule().
  • samples: bgpr: re-init bgpr data when cmp failure.
  • samples: lwip/modbus/multicore/opener/tsn: samples: fix the spelling error.
  • samples: pllctlv2: change debug uart source clock to osc24m.
  • samples: retry connect to server if connect error.
  • samples: put var dhcp_client to zero init section.
  • samples: jpeg_encode: fix cache incorrect.
  • samples: lvgl_audio_player: filter music files which can't decode.
  • samples: move nonvector definition to middleware from ucos samples.
  • samples: lwip_ping_freertos_socket: fix compilation error.
  • samples: i2s_emulation: fix exception caused by input 4 with no recording.
  • samples: audio: fix pdmlite dependency.
  • samples: lwip: samples: ethernetif: fix rx task stack overflow when FPU is enabled.
  • docs: add note info abort enabling dhcp in udp sample readme.
  • docs: drivers: docs: fix some description errors.
  • docs: samples: docs: i2c: fix spelling errors.
  • docs: samples: docs: uart: fix incorrect links issue.
  • docs: samples: docs: i2c: fix incorrect descriptions for index.rst.
  • docs: samples: docs: fix incorrect spi_component link.
  • docs: remove not-needed symbols from sample index file.
  • docs: get_started: group-tab should be used for OS.
  • docs: samples: docs: gptmr: fix documentation description errors.
  • docs: samples: docs: uart: fix documentation description errors.
  • docs: components: docs: remove duplicate information.
  • docs: add more information for opener samples.
  • docs: get_started: fix indent issue.
  • docs: components: docs: fix RST formatting.
  • cmake: ses: only convert -flto to ses when using segger compiler.
  • cmake: iar: correct ld option processing.
  • cmake: compare_target_sdk_version: correct compare.
  • scripts: ses: fix windows path issue.

Added:

  • soc: add hpm5e00 support
  • drivers: i2c: add i2c_get_fifo_size API.
  • drivers: sei: add some APIs.
  • drivers: add pdmlite driver.
  • drivers: gptmr: add APIs for burst mode.
  • boards: add hpm5e00evk support
  • boards: add board_init_gptmr_clock API.
  • components: hpm_log: add hpm_log.
  • components: i2s_over_spi: add hpm_i2s_master_over_spi_tx_buffer_blocking API.
  • components: add mm_align component.
  • components: add capacity related param to sd_card_t.
  • components: add hpm_sdmmc non-blocking read/write api.
  • components: dma_mgr: add APIs to request dma resource from specified DMA.
  • middleware: motor_ctrl: add step motor close loop.
  • middleware: add middleware doc.
  • middleware: motor_ctrl: add hardware hybrid loop support for MCL.
  • samples: motor_ctrl: add step_motor_closed_loop demo.
  • samples: lvgl: add lvgl_indev_usb_keyboard_mouse sample.
  • samples: add mm_align sample.
  • samples: motor_ctrl: update bldc foc demo.
  • samples: cherryusb: add uvc mjpeg sample.
  • samples: tsn: samples: add an lwip_iperf samples.