Skip to content

v1.5.0

Compare
Choose a tag to compare
@jhqian jhqian released this 29 Mar 07:58
· 3 commits to main since this release

[1.5.0] - 2024-03-29:

Main changes since 1.4.0

Tested Segger Embedded Studio Version: 7.32a
Tested IAR Embedded Workbench for RISC-V Version: 3.20.1

Known Issue:

  • some IAR projects does not work properly when optimization level is increased

Changed:

  • soc: iomux: update macro prefix in pmic_iomux and batt_iomux.
  • soc: feature: change usb endpoint max number from 8 to 16
  • soc: correct svd files and add subpart module list
  • drivers: usb: change usb_phy_get_line_state() to external function
  • drivers: qeiv2: update filter length setting
  • drivers: adc12/adc16: add sanity check for sample cycle
  • drivers: femc: add delay_cell_disable config option
  • drivers: i2s: change fifo threshold parameter.
  • drivers: i2c: replace and use the macro definition of hpm_soc_ip_feature.
  • drivers: uart: supplementary description of uart_check_status API.
  • components: enet_phy: lan8720/rtl8201/rtl8211: unify the default config with type bool
  • components: enet_phy: remove unused included header file
  • components: enet_phy: rtl8201/rtl8211: update register description
  • components: dma_mgr: change isr handler from static to public
  • middleware: tinyusb: host: use echi drivers
  • middleware: tinyusb: rename CFG_TUSB_HOST_DEVICE_MAX to CFG_TUH_DEVICE_MAX
  • middleware: tinyusb: update to v0.16
  • middleware: rtthread-nano: use soc reset_handler and define MAIN_ENTRY as entry
  • middleware: fatfs: tinyusb: adapter to tinyusb update
  • middleware: threadx: use TX_TIMER_TICKS_PER_SECOND to config work ticks
  • middleware: threadx: use samples tx_user.h
  • middleware: uC/OS-III: enable sw interrupt in OSCtxSw/OSIntCtxSw
  • middleware: ucos: ports: Added IAR portable layer for ucos.
  • middleware: cherryusb/azure_rtos: add defined ICCRISCV for iar
  • middleware: hpm_math: simplify libdsp path.
  • middleware: cherryusb: update to v1.1.0
  • middleware: rtthread-nano:halt cpu when exception occur.
  • middleware: hpm_math: simplify libnn path.
  • middleware: threadx: move frequently called function to ram.
  • middleware: tinyusb: change endpoint number from 8 to 16
  • middleware: usbx: change endpoint number from 8 to 16
  • middleware: cherryusb: msc device: update to support multi lun and deinit
  • middleware: eclipse_threadx: update license
  • middleware: fatfs: tinyusb: add osal_task_delay() when use rtos wait
  • middleware: tinyusb: update CMakeLists.txt and delete custom osal_task_delay()
  • middleware: tinyusb: add debounce in port change isr
  • samples: erpc: add middleware src use middleware CMakeLists.txt
  • samples: multicore: core1: use board_init_core1() API
  • samples: multicore: coremark: delete custom reset_handler and use app_main as MAIN_ENTRY
  • samples: tinyusb: update samples to adapter tinyusb v0.16
  • samples: usbx: host: delete unused hpm_usb_host.h
  • samples: usb: delete CONFIG_USB_HOST set
  • samples: lvgl_coremark: disable freqswitch_btn when coremark running
  • samples: mono: move to driver directory.
  • samples: freertos: change configMAX_PRIORITIES from 7 to 32
  • samples: rtthread: delete unused macro RT_THREAD_PRIORITY_32
  • samples: cherryusb: usbnet: decrease rtos stack config size
  • samples: lwip: all: unify logs about IP information
  • samples: lwip: lwip_https_server: remove an unused file
  • samples: lwip: all: update DHCP progress logic
  • samples: lwip: common: remove s_pxNetIf
  • samples: lwip: adjust the directories of netconf.c/netcof.h
  • samples: lwip: common: optimize speed for getting IP from DHCP server
  • samples: lwip: rename common_lwip.c to common.c
  • samples: lwip: common: adjust the call logic of netif_set_up/netif_set_down
  • samples: lwip: common: change the time of invoking netif_user_notification
  • samples: lwip: common: rename user_notification to netif_user_notification
  • samples: lwip: adjust directory structures to be compatible with single and multiple network ports
  • samples: use generate_ide_projects for new samples
  • samples: cherryusb: device: cdc acm: reorganize directory structure
  • samplse: gptmr: t_shape_accel_decel: modify the source address mode of DMA.
  • samples: cherryusb: device: change readbuf size from 2048 to CDC_MAX_MPS
  • samples: drivers: femc: update sdram dqs config
  • samples: update app.yaml to use ip_feature
  • samples: drivers: uart: change to app uart
  • samples: audio_codec: update wm8960 I2S protocol.
  • samples: drivers: cam: change cam sample to cam_dvp sample.
  • samples: usbx: device: msc: decrease ram disk size to 16KB
  • samples: cherryusb: msc device: update to support multi lun
  • samples: driver: uart_lin: support LIN transceiver on board.
  • samples: adc: temp: rename temp to adc16_temperature
  • samples: bldc block: Compatible with both hall and qeiv2 peripherals.
  • samples: motor_ctrl: Modify the value of pwm reload.
  • samples: lwip: common: single/multiple: update the size passed into sys_mbox_new()
  • samples: lwip: common: single/multiple: replace enet_get_link_status with netif_is_link_up
  • samples: lwip: lwip_https_server: remove unused header file
  • samples: lwip: rename macro TCP_XXX_PORT
  • samples: lwip: add cmake flag for netconn/socket api
  • samples: decode_wav: sd_fafts: update sd_choose_music.
  • samples: power_mode_switch: maintain xpi0 clock on switching preset
  • samples: dhrystone Change the optmization level to O3.
  • samples: tinyusb: hid_generic_inout: delete redundant image
  • samples: power_mode_switch: hpm67/hpm63: preserve femc clock at wait/stop mode
  • samples: erpc: core1: use optimization -os
  • samples: update uart_tamagawa to use software trig if TRGM not exist.
  • samples: eeprom_emulation: reduce management area
  • samples: sdxc: use block_size instead of 512
  • samples: erpc: add -fno-exceptions compile option
  • samples: tinyusb: disable debug log print
  • boards: hpm5300evk and hpm6800evk: add delay after USB_PWR Pin init for power stable
  • boards: hpm6750evkmini: modify gptmr pins.
  • boards: hpm6200evk: modify gptmr pins.
  • boards: hpm6200evk: modify the i2c pins.
  • boards: hpm6750xxx: update sdram dqs config
  • boards: hpm6800evk:pinmux Increase drive strength for sdxc pins
  • boards: iomux: update macro prefix for pmic_iomux and batt_iomux.
  • boards: rename board feature
  • boards: update BOARD_APP_UART definition
  • boards: rename console definitions
  • boards: hpm5301evklite: update uart clock in board.c.
  • boards: hpm6750evkmini: change BOARD_GPTMR_PWM_DMA_SRC definition.
  • docs: samples: use glob in high level readme.
  • docs: update top level readme.
  • docs: netxduo: update sntp readme.
  • docs: threadx: update threadx hello readme.
  • docs: lwip: align pictures to the left
  • docs: pip: add cmake doc dependency
  • docs: add changelog to sphnix-doc.
  • scripts: ses: generate asm after build by default.
  • scripts: update linked project path logic.
  • scripts: check_board_cap.py: check ip feature's availability
  • cmake: remove CMP0116 setting.
  • cmake&scripts: clarify the error caused by core1 compiling failure.
  • scripts: ses/iar: use relpath in project file

Added:

  • soc: hpm6360/hpm6750/hpm6800: add MAC-related definitions in OTP section
  • soc: reset: add MAIN_ENTRY macro to custom define main entry
  • soc: add hpm6850 and hpm6830 part.
  • soc: soc_modules.list: add tamper drivers
  • soc: Add IAR toolchain support.
  • soc: add ip feature to soc_modules.list
  • soc: add hpm_soc_ip_feature.h
  • soc: driver: ppor: add reset hold operation APIs
  • soc: clock_driver add the clock_get_divider API.
  • soc: sysctl: add apis to control clock preservation
  • soc: toolchains: gcc: ram linker: add ILM last address overflow check
  • drivers: mcan Add timeout counter support.
  • drivers: tamper: add tamper driver
  • drivers: cam: add cam_update_buffer2 API
  • drivers: opamp: Add user configuration code.
  • drivers: lcdc: add stride for layer config.
  • drivers: pdma: add pdma_blit_ex.
  • drivers:pllctl add out-of-bound check in pllctl driver.
  • components:uart_lin: add hpm_uart_lin_send_wakeup() API
  • components: enet_phy: add LAN8720 driver
  • components: enet_phy: add definition of enet_phy_link_status_t
  • middleware: cherryusb: host: add dual port support
  • middleware: cmsis_os2: adapter to rtthread wrapper
  • middleware: cmsis_os2: update freertos files
  • middleware: cmsis_os2: adapter to threadx wrapper
  • middleware: cmsis_os2: adapter to ucOS-III wrapper
  • middleware: hpm_sdmmc Add eMMC config partition API.
  • middleware: cherryusb Add IAR toolchain support
  • middleware: erpc Fix IAR RISC-V support issue
  • middleware: tflm: add IAR riscv support in flatbuffer
  • middleware: FreeRTOS: portable:Added IAR portable layer.
  • middleware: segger_rtt Added EWRISCV support
  • middleware: hpm_math Add nds_dsp library for IAR.
  • middleware: lwip: cc: add PACK_STRUCT_XXX definitions for IAR platform
  • middleware: uC/OS-III: enable plicsw in IAR asm code
  • middleware: add tinyengine
  • middleware: threadx: add support for gptmr.
  • middleware: threadx: add profile support.
  • middleware: add agile_modbus.
  • middleware: add cherryrb.
  • middleware: cherryusb Add missing swap32/swap16 implementation.
  • middleware: hpm_mclv2: add block type drive motors
  • middleware: cherryusb: fix usbh_core ep0 buffer index
  • boards: hpm6200xxx and hpm6750xxx: add board_init_core1() API
  • boards: add tamper feature and pins init
  • boards: hpm5300evk: add board_init_console() declaration in board.h
  • boards: hpm6750evk/hpm6750evk2: add board_dual_usb feature
  • boards: openocd: add windows guide to *_all_in_one.cfg
  • boards: openocd: soc: add reset_soc proc
  • board:add pgpio configuration on hpm5301evklite
  • samples: drivers: add mono sample.
  • samples: drivers:mcan Add timeout counter sample.
  • samples: drivers: tamper: add tamper sample
  • samples: cmsis_os2: blinky: add rtthread samples
  • samples: cmsis_os2: add msg_queue sample
  • samples: cmsis_os2: add mem_pool samples
  • samples: cmsis_os2: msg_queue: add ucOS-III support
  • samples: cmsis_os2: blinky: add ucOS-III support
  • samples: lwip: common: add a task netif_update_link_status
  • samples: lwip: add MAC address load from OPT MAC area
  • samples: cherryusb: device: cdc acm: add cdc_acm_uart_com sample
  • samples: cherryusb: device: add msc sdcard sample
  • samples: tinyengine: add person detection.
  • samples: rtos: add threadx gptmr sample.
  • samples: modbus: tcp: add tcp samples.
  • samples: modbus: rtu: add rtu sample.
  • samples: add cherryrb sample.
  • samples: cherryusb: host: add dual port sample
  • samples: cherryusb: device: add dual port sample
  • samples: cherryusb: device: add dual lun msc sample
  • samples: lwip: ports: rtthread-nano: multiple: add arch-related files
  • samples: lwip: ports: freertos: multiple: add arch-related files
  • samples: lwip: common: multiple: osal: add osTaskFunction definition
  • samples: lwip: add a lwip_tcpecho_multi_ports_rtthread-nano sample
  • samples: lwip: add a lwip_tcpecho_multi_ports_freertos
  • samples: lwip: lwip_tcpecho_xxx: add definitions for task priorities
  • samples: lwip: lwip_tcpecho_freertos_socket: newly add
  • samples: lwip: lwip_tcpclient: newly add
  • samples: lwip: add lwip_tcpclient_freertos_socket
  • samples: vglite: add sample of rotate tiger.
  • samples: lwip: lwip_tcpclient_freertos_socket: fix failure to run
  • samples: lwip: lwip_tcpclient: fix failure to run with some release-related type
  • samples: jpeg: jpeg_encode: add debounce for button.
  • docs: add cmake doc
  • docs: hpm5300evk: add qeiv2 sin/cos pins
  • scripts: support sdk project localization.
  • cmake: add nds-gcc options to sdk_lib for nds-gcc.
  • cmake/scripts: add IAR project generation support
  • cmake: add symbols to specify linker for tools.
  • cmake: add sdk_*_src_glob.
  • cmake: add custom targets for localization.

Fixed:

  • soc: hpm6750: fix segger linker vectors order
  • soc: hpm_interrupt.h Fix compiling warning for DSP related macros
  • soc: hpm6750: otp Fix OTP program and read logic
  • soc: hpm6880: clock Fix wrong enum value for TSNS clock.
  • soc: clock driver: correct the clock name value for pll clocks.
  • soc: HPM6280: fix adc/dac clock setting
  • soc: ppor: fix ppor clear reset flag and set reset type API error
  • soc: HPM6880: fix i2s clock config driver
  • drivers: adc12: fix calibration setting error
  • drivers: cam: DMASA_FB2 need to be assigned whether FB2 buffer is enable or not.
  • drivers:can correct the logic of disabling re-transmission for ptb & stb.
  • drivers: qeo: fix driver error
  • drivers: i2s: ensure valid BCLK before call software reset.
  • drivers: pdma: fixed OUT_PS[] config.
  • components: wm8960: invert LRCLK to align with soc I2S.
  • middleware: uC/OS-III: fix register t0 unsafe.
  • middleware: ptpd: fix netShutdown error in ptpd initialization
  • middleware: cmsis_os2: task should call exit interface before exit
  • middleware: threadx: fix threadx profile RA register save and restore bug.
  • middleware: hpm_mcl: fix divide-by-zero error. refs: hpm_sdk-#1091
  • middleware: cherryusb/tinyusb/usbx: device: fix transfer_len not reset
  • middleware: cherryusb/usbx: fix dtd return problem
  • middleware: cherryusb/tinyusb/usbx: fix usb device interrupt should be check active status
  • middleware: tinyusb: fix ehci cap_reg address error
  • middleware: tinyusb: fix hid report id
  • middleware: cherryusb: fix usbd_ep_close not reset ep_enable flag
  • middleware: cherryusb: fix rndis message length check
  • middleware: freertos: fix implementation error in xPortIsInsideInterrupt.
  • boards: hpm6200evk: fix tamper pin config
  • board: openocd: all_in_one: hpm6800 config file is missed.
  • boards: openocd: all_in_one: hpm5300: correct soc config name.
  • samples: threadx hello: fix printing errors.
  • samples: drivers: ad12/adc16: fix initialization sequence for trigger source, trigger mux and trigger target config
  • samples: lwip: lwip_ptp: fix netSend error before link-up
  • samples: dma: fix dma uart init position
  • samples: drivers:spi:master_trans_large_amound_of_data Fix logic error if SPI support 4GB transfer size
  • samples: sdxc: add boundary protection for last 1024 blocks test
  • samples: lwip: common: multiple: fix typo of enet_update_dhcp_state()
  • samples: lwip: common: single/multiple: fix timeout passed into sys_arch_mbox_fetch()
  • samples: e2prom: bugfix: base read fail if run perf firstly .refs:hpm_sdk-#1499
  • samples: modbus: tcp: use volatile to prevent the compiler from optimizing out key variables
  • samples: modbus: rtu: fixed failed to run after turning on optimization issue.
  • samples: power_mode_switch: hpm68xx: fix ddr access issue for wait/stop mode
  • samples: cherryrb: fixed stack overflow issue
  • samples: lwip: lwip_tcpecho_multi_ports_ports_rtthread-nano: fix failure to run
  • sample: jpeg: jpeg_encode: fix that udisk can't be mounted when first capture.
  • cmake: correct board search path symbol for core1.
  • cmake: gcc: fix system include path.
  • cmake: fix sdk_link_libraries failed to link std lib.
  • cmake: EXTAR_LD_FLAGS to be added as ld options.
  • docs: lwip_ptp: v1: salve: fix format error
  • docs: samples: ppor: change title from sysctl to ppor
  • docs: hpm6750evk2: fix table display error