Releases: hpmicro/hpm_sdk
Releases · hpmicro/hpm_sdk
v1.7.0
[1.7.0] - 2024-09-30:
Main changes since 1.6.0
Tested Segger Embedded Studio Version: 8.16a
Tested Zcc toolchain 3.2.4
Changed:
- soc: HPM6E00: HPM6E80: add tsw section
- soc: add hpm_otp_table.h
- soc: enet: add a macro for DMA bus width
- soc: system.c: set bpor.por_confing retention bit to avoid bgpr data loss
- soc: pcfg: add pcfg_wakeup_src_t enum and pcfg_update_periph_clock_mode API
- soc: hpm5300: exclude fgpio region from dlm
- soc: add CONFIG_ENABLE_BPOR_RETENTION macro to control bpor retention
- soc: linker: icf: update cherryusb_usbh_class_info section placement
- soc: HPM6300/HPM6700: delete pcfg_dcdc_set_current_hys_range() API
- ip: i2s: add and use clk_i2s_src_audn instead of clk_i2s_src_aud0/1/2/3
- boards: remove hpm6750evk support
- boards: hpm6e00evk: update femc pinmux
- boards: pinmux: set max frequency slew rate for SPI GPIO
- boards: hpm5301evklite: Change cap1 and comp1 pins of gptmr0
- boards: hpm5301evklite: change i2c2 to i2c3 for BOARD_APP_I2C
- boards: add board_init_gptmr_channel_pin API for all board
- boards: hpm6e00evk: update core1 debugger console readme
- boards: all: add board_init_acmp_pins API
- boards: hpm6800evk: adc16: update clock bus name for clock initialization
- boards: adc16: rename api parameter clk_src_ahb to clk_src_bus
- boards: add BOARD_APP_ADC16_CLK_BUS definition
- boards: hpm6e00evk: update board readme
- boards: hpm6e00evk: bump up DCDC voltage to 1250mv
- boards: add enet pps input feature and pinmux setting API
- boards: add missing board feature and pin descriptions for enet pps output pin
- boards: xxxx.yaml: rename board feature name related to enet pps pin
- boards: add BOARD_MASTER_I2S and BOARD_SLAVE_I2S
- boards: add board mic and speaker i2s definition
- boards: doc: pwm: add pwm pin descriptions.
- boards: hpm6800evk reduce ddr io leakage.
- boards: hpm6800evk: pps: adjust pinmux settings
- drivers: tsw: optimize the logic of sending and receiving APIs
- drivers: tsw: add APIs for speed, interface, and clock delay settings
- drivers: tsw: split tsw_ep_enable_mac_ctrl API to two APIs for enableing and disabling
- drivers: usb: update usb phy init for suspend
- drivers: qeiv2: update comments
- drivers: i2c: auto ack needs to be enabled after the transmission is completed for i2c_master_transfer API
- drivers: adc16: split adc16_set_pmt_queue_enable() into enable and disable API
- drivers: gptmr: add opmode cntmode monitor configuration member for gptmr_channel_config API
- drivers: spi: add the judgment that the frequency ratio cannot be greater than 510 for spi_master_timing_init API
- drivers: enet: add retry logic in DMA initialization
- drivers: spi: Add slave mode judgment for spi_control_init API
- drivers: spi: add spi busy state judement for transfer APIs
- drivers: uart: add disable rx timeout trigger dma function
- drivers: i2s: add buff data align with frame feature
- drivers: acmp: add acmp_channel_config_cap_selection
- drivers: acmp: update acmp_channel_config_dac API
- drivers: usb: update usb phy init and deinit
- drivers: enet: add auxiliary snapshot APIs and struct definitions
- drivers: usb: update usb_force_port_resume() annd add usb_hcd_disable_ase_pse() APIs
- drivers: tsw: update the prefix of apis starting with tsn to tsw
- drivers: qeiv2: update qeiv2_config_adcx_adcy_param()
- drivers: usb: update usb_hcd_disable_ase_pse() & usb_hcd_enable_ase_pse()
- components: enet_phy: rtl8211: optimize logic for initialization config
- components: ppi: add assert check for cs_index and cmd_start_index
- components: ppi: update AD-MUX mode config to decrease address latch
- components: smbus: i2c_master_write replaces i2c_master_transfer for all smbus write APIs
- components: serial_nor: Added configuration return judgment for transfer API
- components: serial_nor: judge DMA sending completion for hpm_spi_transfer_via_dma API
- components: spi: add spi busy state judgment for hpm_spi_transfer_init API
- components: i2s_over_spi: add hpm_i2s_master_over_spi_tx_buffer_nonblocking API
- components: i2s_over_spi: optimized hpm_i2s_master_over_spi_tx_stop API
- components: i2s_over_spi: add hpm_i2s_master_over_spi_tx_is_busy API
- middleware: hpm_math: support zcc new version
- middleware: cherryusb: update to v1.4.0
- middleware: lwip: CMakeLists.txt: add cmake flag for apps
- middleware: cherryusb: don't clean csc bit when init
- middleware: cherryusb: msc host: support multi msc device
- middleware: fatfs: cherryusb: support two msc device
- middleware: reduce netx mem usage
- middleware: cherryusb: host: update usb_hc_deinit()
- middleware: usbx: host: delete mode setting in usb_host_mode_init()
- middleware: hpm_sdmmc: sdcard: added retransmission to improve SPI SD card compatibility
- middleware: tinyengine: rename old function
- samples: audio_codec: change default codec setting in CMakeLists.txt
- samples: adc16 & motor_ctrl: update adc16 preemption queue enable control APIs
- samples: ppi: parallel_adc: update function name
- samples: ppi: async_sram: update to support AD Mux Mode
- samples: lwip & modbus: add judgement for the return value of enet controller initialization
- samples: lwip: lwip_iperf: exclude flahsh_uf2 & flash_uf2_release targets
- samples: lwip: add conditional compilation for RMII port
- samples: cherryusb: msc host: adapter to fatfs update
- samples: drivers: acmp: replace init_acmp_pins API with board_init_acmp_pins API
- samples: ecat: read mailbox ram buff by ram alias address
- samples: ecat: set PHY offset
- samples: ecat_phy: disable PHY addr 00 broadcast response
- samples: drivers: adc16: reference APP_ADC16_CLOCK_BUS instead of clk_adc_src_ahb0
- samples: ecat_io: update flash_eeprom data address
- samples: ecat: update SSC config xml and ESI xml
- samples: lwip: ports: rtthread-nano: single&multiple: add sys_arch_protech()/sys_arch_unprotect()
- samples: power_mode_switch: move sysctl_enable_cpu0_wakeup_source_with_irq() to stop mode settings
- samples: power_mode_switch: keep puart clock and wakeup enable visible
- samples: acmp: add a macro TEST_ACMP_DAC_MAX_VALUE for better compatibility
- samples: drivers: enet: pps: app.yaml: rename dependency
- samples: ppi: parallel_adc: use macro BOARD_PPI_ADC_CS_INDEX
- samples: i2s: use BOARD_MASTER_I2S and BOARD_SLAVE_I2S
- samples: audio_codec: use board speaker macros
- samples: cherryusb: audio: use board mic and speaker macros
- samples: lwip & cherryusb/host/usbnet: use the external struct timeval definition from compile system
- samples: esc: update esc read to 32bit access
- samples: ecat_foe: update log and README
- samples: ecat_foe: foe flash read cache maintenance
- samples: ppi: use macros to select pins
- samples: drivers: gptmr: cntmode: volatile to key parameter variables to prevent them from being optimized
- samples: spi_sdcard: Added delay function registration
- samples: cherryusb: mouse_wakeup: update printf log
- samples: cherryusb: midi: update readme
- samples: i2s: change HDMA to XDMA
- samples: tflm: optimized speed.
- samples: tflm: add zcc compile options.
- samples: spi_component: full_duplex: Add known issues in the master readme
- samples: spi_components: half_duplex: reduce SPI SCLK frequency to adapt to different slave boards
- samples: spi_components: full_duplex: reduce SPI SCLK frequency to adapt to different slave boards
Fixed:
- soc: HPM6800: HPM6880: fix the clock bus name for wdg
- soc: SPI_SOC_TRANSFER_COUNT_MAX Definition error for HPM6E00
- soc: preserve kept symbols while -flto is enabled
- soc: hpm6880: fix clk bus name for adc from ahb0 to axis0
- soc: HPM6300: fix get get_frequency_for_i2s_or_adc() problem
- soc: HPM6700: fix clock_set_i2s_source() check condition
- soc: romapi: Fix unexpected data fetch error during flash init/write.
- soc: linker: gcc: fix fast_ram postion
- boards: hpm5301evklite: add a missing macro BOARD_APP_ADC16_CLK_BUS
- boards: i2c init: clock_add_to_group() should be before board_i2c_bus_clear()
- boards: hpm6800evk pinmux PRS set wrong value
- boards: hpm6750evkmini: fixed the iomux errata causes the slave to not work issue
- boards: hpm6750evk2: fixed the iomux errata causes the slave to not work issue
- boards: hpm6750evkmini: add the missing implement of enabling enet irq
- boards: hpm6750evkmini: fix touch reset timing.
- drivers: i2c: correct API name
- drivers: gptmr: fix cmp value can't set 0xFFFFFFFF problem
- drivers: pwmv2: fix counter burst set error.
- drivers: enet: fix return value of enet_dma_init()
- drivers: usb: fix usb_dcd_remote_wakeup() api
- drivers: enet: fix enet max frame size
- drivers: spi: Fixed mode variable assignment error for spi_slave_get_default_format_config API
- drivers: i2s: fix fill dummy data in slave mode
- drivers: adc16: fix ADC16 conversion results in single-ended mode
- drivers: enet: fix that TSIS interrupt is disabled by default
- drivers: femc: fix cmd_data_width comment error
- drivers: spi: fixed offset digit error problem for spi_get_rx_fifo_valid_data_size and spi_get_tx_fifo_valid_data_size APIs
- drivers: spi: fixed possible packet loss during reception for spi_read_data API
- drivers: usb: fix phy init for host
- drivers: touch: gtxx: fix reset timing
- drivers: mipi dsi: fix bandwidth low
- drivers: mcan: fix wrong offset in can_rx_message_t.
- drivers: adc12: fix using a wrong calibration value
- components: ppi: fix config variable init value
- components: serial_nor: Fixed the nonblock APIs naming error
- components: serial_nor: spi: fixed formating issue...
v1.6.0
[1.6.0] - 2024-06-28:
Main changes since 1.5.0
Tested Segger Embedded Studio Version: 8.10d
Tested IAR Embedded Workbench for RISC-V Version: 3.30.1
Known Issue:
- some IAR projects does not work properly when optimization level is increased
Changed:
- soc: reorganize the directory structure
- soc: hpm6750: declare get_frequency_for_source API for clock drver header file
- soc: update soc cmakelists to add b ext info
- soc: hpm6750: add feature for ioc pad ctrl setting issue
- soc: toolchains: gcc: correct LMA for NOLOAD sections
- soc: move eh_frame into separate section
- boards: hpm6750xxxx apply workaround for E00029.
- boards: change hpm5301evklite adc16 channel
- boards: board.h: adc16: add marco BOARD_APP_ADC16_HW_TRIG_SRC_CLK_NAME
- boards: adjust function position of adc pin initialization
- boards: hpm6300evk and hpm6e00evk: sdram use px07 as femc dqs pin
- boards: hpm6e00evk: rename init_sdram_pins to init_femc_pins
- boards: hpm6e00evk: change board i2c instance to I2C0
- drivers: can/mcan add parameter check for low-level bit timing.
- drivers: enet: add bitfield ENET0_RMII_TXCLK_SEL for hpm6300
- drivers: i2c: add DATACNT high byte process
- drivers: pwm: update HRPWM process
- drivers: spi: optimize reading speed for spi_read_data API
- drivers: spi: add set/get data phase format APIs for spi master
- drivers: spi: delete the spi startand operation APIs
- drivers: adc16: remove an unused member conv_duration from adc16_config_t
- drivers: enet: update for enet_interrupt_enable_t
- drivers: mcan reduce unnecessary register access in mcan_read_rxfifo.
- drivers: mtg: add calculate function param clock
- drivers: mtg: add several calculate functions
- drivers: mcan lookeup the mcan msg ram base via mcan_soc_msg_buf variable if the MSG_BUF is in AHB RAM.
- drivers: adc16: disable improvement logic of adc16 for continuous sampling maximum voltage
- drivers: mcan improve transmitter delay compensation setting logic.
- drivers: femc: rename data_width_in_byte to cmd_data_width
- drivers: femc: update ns2cycle() to align up
- drivers: common: add packed attribute
- drivers: femc: delete duplicate config
- drivers: mtg: change the default parameters to the low order filter
- drivers: adc16: add API adc16_set_seq_hw_trigger_enable()
- drivers: spi : convert enumeration return in that gets parameters APIs
- drivers: pwm: add fault recovery code.
- driver: pwm: change pwm trig time
- components: enet_phy: dp83867/rtl8211: move the macro definition RGMII to board-level CMakeLists.txt
- components: eeprom_emulation: Add ATTR_RAMFUNC for all function
- components: eeprom_emulation: add power-off protection mechanism.
- components: dma_mgr: add burst in fixed transfer size and swap feature
- components: spi: add full_duplex and half_duplex operating APIs
- components: spi: support 1 to 32 bits width transfer for nonblocking APIs
- components: usb: device: support iso transfer mult feature
- middleware: hpm_sdmmc add emmc sleep & wakeup function.
- middleware: tinyusb: ehci: support chain transfer
- middleware: threadx: add low power support
- middleware: cherryusb: update for advance descriptor
- middleware: hpm_sdmmc: optimized to support multiple cards
- middleware: cherryusb/tinyusb/usbx: enable suspend isr
- middleware: FreeRTOS: update to 202210.01 lts
- middleware: cherryusb: update to v1.3.0
- middleware: freertos: modify missed timer count num
- middleware: freertos: update IAR port file
- middleware: freertos: delete fence operations
- middleware: freertos: make the calculation more simple.
- middleware: hpm_sdmmc add cache control macro.
- middleware: hpm_sdmmc: improve the logic for detecting CMD23 support.
- middleware: freertos: add tickless stop mode support
- middleware: freertos: add user custom process function call
- middleware: hpm_mcl_v2: add hpm smc control.
- middleware: freertos: place xPortxxx to isr_vector section
- middleware: hpm_math: add dsp support for zcc
- middleware: microros: add zcc support
- middleware: rtos: asm adjustment for zcc toolchain
- middleware: hpm_mcl_v2: add pwm dead area compensation.
- middleware: hpm_mcl_v2: add dq axis decoupling function
- middleware: cherryusb: add macro USBH_USE_CUSTOM_ISR/USBD_USE_CUSTOM_ISR
- middleware: lvgl: upgrade to v9
- middleware: lvgl: rewrite the scissor.
- middleware: lvgl: upgrade allocate algorithm for draw_buf.
- samples: rdc: remove unused dac driver in sample
- samples: lwip/netxduo/modbus: add conditional compile for reference clock setting in RMII mode
- samples: audio_codec: common: change FIL_SEARCH_NUM from 10 to 20
- samples: dhyrstone: surpress build warnings
- samples: dhrystone Optimize performance.
- samples: coremark Optimize performance.
- samples: drivers: spi: interrupt: transmission optimization. The transmission will start after the configuration is completed.
- samples: adapt spi components to drive and move to the samples dir for spi sdcard samples
- samples: cherryusb: device: change descriptor string to HPMicro
- samples: cherryusb: device: use advanced descriptor to support high/full speed
- samples: rename jpeg to image
- samples: drivers: sdxc: sd_fatfs: add card hotplug support
- samples: cherryusb: host: usbnet: replace block to noblock for read terminal char
- samples: cherryusb: host: usbnet: decrease lwip MEM_SIZE
- samples: cherryusb: move host hid info print code to thread
- samples: audio_codec: refactoring code
- samples: spi: dma: SPI master transmission optimization
- samples: mtg: make the open_loop_trajectory sample more readable
- samples: drivers: adc16: add some misc optimization
- samples: drivers: adc16: add pwmv2 support
- samples: motor_ctrl: bldc_foc_hw: remove hardware control
- samples: drivers: mcan add tips for the usage of tdc.
- samples: vglite: update rtos config file to fit gptmr tickless mode
- samples: lwip/modus/netxduo: add a function call to get the enet default interrupt config
- samples: sdm: using pwm to provide clock for sdm sensor.
- samples: spi_components: half_duplex: updated to support 1 to 32bits width transfer
- samples: spi_components: full_duplex: updated to support 1 to 32bits width transfer
- samples: add freertos tickless stop mode sample
- samples: benchmark: update compile options for zcc
- samples: drivers: adc16: optimize the process logic of sequence and preemption
- samples: drivers: sei: device: tamagawa: update eeprom cmd
- samples: adc12: optimization for trigger mux and trigger frequency settings
- samples: sei: device: tamagawa: support EEPROM protocol
- samples: mcl: add pwm dead area compensation.
- samples: motor_ctrl: add dq axis decoupling function
- samples: cherryusb: move dual_port samples to dual_port folder
- samples: cherryusb: adapter to cherryusb v1.3.0
- samples: drivers: adc12/adc16/dac: support abort feature in interactive terminal
- samples: lwip: lwip_iperf: support abort feature to reselect the test mode
- samples: lwip: common: multiple: add definitions of remote ip addresses for iperf
- samples: motor_ctrl: bldc_lvlg_foc: add lvgl v8.3.5 for this demo
- samples: tinyusb: uac2: support full speed
- samples: power_mode_switch: update readme
- samples: cherryusb: uac2: change default samplerate order
- samples: bldc_foc: update bldc_foc_angle_align() for hardware loop
- cmake: toolchain: add ar option to remove timestamp
- cmake: toolchain: suppress output while querying spec
- cmake: lld: update link option for zcc
- cmake/scripts/soc: support b ext convertion to tools
- cmake: sdk_app_src_glob: modify to recursive
Fixed:
- soc: update USE_NONVECTOR_MODE defined used
- soc: initialize .fast_ram.* section
- soc: iar linker: fix safe stack init
- soc: add missing ptmr clock
- soc: hpm6880: fix get_frequency_for_i2s error
- soc: hpm6880: Modify the value of SPI_SOC_FIFO_DEPTH from 4 to 8. for hpm_soc_feature.h
- soc: toolchain: iar fix iar ram_stress issue in ram_debug build.
- boards: hpm5301evklite: fixed can't output work for gptmr samples such as pwm_generate
- drivers: enet: fix the clearing of DMA PBL setting
- drivers: dma: fix dma_clear_transfer_status() API
- drivers: sdxc Fix timeout calculation issue and DMA enabling logic.
- drivers: adc16: fix the logic of adc16_set_pmt_queue_enable() when the parameter enable is false
- drivers: mbox: fix error that BEIE can't be operated by interface
- drivers: spi: fixed assignment value error for spi_set_clock_phase and spi_set_clock_polarity APIs
- drivers: lcdc: fix ST and DMA_ST clear api.
- drivers: mipi_dsi: fix MIPI_DSI_FMT_RGB565 config.
- drivers: spi: fixed assignment error issue for enable/disable address phase APIs
- drivers: i2c: fix return value type of i2c_get_data_count()
- components: usb device/enet_phy: fix unwanted files in localize folder
- components: panle: fix panel timing.
- components: eeprom_emulation: demo flash crashed.
- middleware: cherryusb: ehci: delete timeout clear before give sem
- middleware: uC/OS-III: modify fpu context save&restore
- middleware: cherryusb: fix freertos enter/exit critical
- middleware: audio_codec: fix hpm_wav_decode() single channel pbuf data
- middleware: mclv2: fix andes toolchain compiler error.
- middleware: cherryusb: fix ehci_qh_pool init miss busid for v1.3.0
- middleware: lwip: apps: lwiperf: fix the bug of failing to restart iperf in TCP/UDP server mode
- middleware: tinyusb: fix _usbd_dev.speed error to support full speed
- middleware: hpm_mcl_v2: fix uncontrolled after large changes in motor speed.
- samples: dhyrstone: fi...
v1.5.0
[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
...
v1.4.0
[1.4.0] - 2023-12-29:
Main changes since 1.3.0
Tested Segger Embedded Studio Version: 7.32
Changed:
- soc: hpm5301: add hpm5301
- soc: hpm6880: add hpm6880
- soc: HPM6750: pcfg: update dcdc dcm mode config
- soc: clock driver: update clock_set_source_divider() and clock_get_source()
- boards: add hpm5301evklite
- boards: add hpm6800evk
- boards: update clock_set_source_divider() to use clk_src_t type param
- boards: hpm6750evkmini: use the same uart port as core1 for some samples.
- drivers: dao: update driver support new feature on hpm6800
- drivers: adc16: update comment about cal_avg_cfg in calibration
- drivers: qeiv2: change adc trigmux name x to 0 and y to 1
- drivers: femc: add overflow protect to time config
- drivers: mcan Enlarge the range of CAN_EVENT_ERROR.
- components: serial_nor: add subdirectory in cmakelists
- middleware: cherryusb: update to v0.10.2
- middleware: cherryusb: rename host and device isr
- middleware: FreeRTOS: xPortIsInsideInterrupt() using CSR_MSCRATCH
- middleware:hpm_sdmmc Enhanced all speed modes support for SD and eMMC.
- middleware: usbx: device: support chain transfer
- samples: cherryusb: host: rndis: integrate dhcp thread into ping thread for host rndis ping and iperf sample
- samples: adc: temp: add isr for temp out of thresholds
- samples: drivers: acmp: optimization for comparing input voltage
- samples: lwip: add DHCP macro definition in CMakeLists.txt
- samples: lwip_ptp: enable DHCP feature in PTP samples
- samples: drivers: qeiv2: update API for adc-qeiv2 pin initialization
- samples: bldc_foc: change adc buffer size from 40 words to 48 words
- samples: remove explicitly c++ standard setting.
- samples: driver: cam: set default cmake build type
- samples: lwip: update to Class C static IP adress
- samples: tinyuf2: remove unnecessary cache ops.
- samples: lwip: lwip_tcpecho_freertos: optimization for API call in a thread-safe way
- samples: lwip: lwip_ptp: v1: slave: update static ip
- samples: lwip: optimize DHCP enable logic
- samples: lwip: opts: adjust the allocation strategy of memory pool
- samples: lwip: lwip_iperf: adjust MEM_SIZE for saving memory consumption
- samples: lwip: lwip_tcpecho_multi_ports: update the second IP with C class
- samples: enet: optimization for PHY selections
- samples: dma: update uart rx circle transfer buffer size
- samples: drivers: sdxc/emmc Correct doc for emmc sample.
- cmake: sdk_link_libraries link libraries for supported tools.
- cmake: add project name for hpm_sdk sub directory.
- cmake: decouple CMAKE_BUILD_TYPE and linker script.
- cmake: ses: remove -Ox from gcc option list.
- cmake: set default c++ standard to c++11.
- Update CONFIG_HAS_xxx to HPMSOC_HAS_xxx.
- segger: enable all warnings.
- segger: release: release optimization level use cmakelist config
- scripts: ses: set intermediate dir in project file.
- docs: remove quick start guide from top level readme
- docs: change doc structure.
Added:
- soc: HPM5361: add trgm filter shift length feature
- soc & drivers: hpm5300: add DMAMUX_SOC_WRITEONLY and TRGM_SOC_HAS_DMAMUX_EN features
- drivers: lcb: add lcb driver.
- drivers: sdxc add more APIs for timing and power control.
- drivers: mipi_csi: add mipi csi.
- drivers: cam: add cam_stop_safely API
- components: usb: device: add dtd chain transfer
- components: panel: enable panel component.
- components: camera: ov5640: add mipi interface.
- middleware: rtthread-nano: add v3.1.5
- middleware: rtthread-nano: add FPU support.
- middleware: tinyusb: device: update to support chain transfer
- middleware: cherryusb: device: update to support chain transfer
- middleware: vglite: add 4.0.49.
- middleware: cherryusb: add USB_OSAL_WAITING_FOREVER for sem and mq use
- middleware: add hpm_mcl_v2
- middleware: lwip: add ptpd v1 & v2
- middleware: cmsis_os2: add source files.
- samples: mcl: add step motor.
- samples: lwip: lwip_ptp: v2: support IEEE1588 V2
- samples: cherryusb: add audio_v2_mic_speaker_rtthread sample
- samples: cherryusb: host: add hid and msc rtthread samples
- samples: cherryusb: host: usbnet: add support ec20 module sample.
- samples: cmsis_os2: add blinky sample.
- samples: driver: mipi_csi: add mipi_csi.
- samples: mcan Support MCAN4-7 loopback testing.
- cmake: support custom output file name.
Fixed:
- soc: fix cache maintenance at startup
- soc: hpm53xx Correct exip API tree offset.
- soc: toolchain: missing .fast.* in gnu ld linker script.
- soc: fix tbss and tdata section not initialized.
- soc: sysctl: sysctl_enable_group_resource() should be check LOC_BUSY
- soc: hpm5300 Correct Cache size and Cacheline size.
- boards: hpm6750evkmini Fix the issue that eMMC is still 3.3V even 1.8V is selected.
- boards: hpm5301evklite correct jlink script device number.
- components: camera: power_up is enable by default for ov5640/ov7725.
- docs: samples: drivers: add numberic index.
- drivers/soc: fix build warning
- drivers: i2c: add slave device response judgment for master read/write APIs
- drivers: opamp: fix opamp vssa connect error.
- drivers: pllv2: fix pllctlv2_pll_is_stable() API
- drivers: qeiv2: fix invalid argument check
- drivers: dac: fix the upper limit value setting for DAC_OUTPUT
- drivers: jpeg: fix pixel format index for out buffer.
- drivers: uart: fix not support oversample 32 for rx idle detection on hpm5300
- middleware:ftafs Fix SD card init crash.
- middleware: mcl: fix path plan error.
- middleware: hpm_sdmmc Fix the issue that IO initialization work unstable on HPM6300.
- middleware: hpm_sdmmc Fix voltage switch setting issue for SD and eMMC.
- middleware: hpm_sdmmc Fix the PWR and VSEL IO initiaization issue. refs:hpm-sdk-#863
- samples: sei: fix nikon sample crc calc error.
- samples: cherryusb: msc device: add pre-format fat12 file system in u disk
- samples: adcx: replace const with a macro for ADC sample cycle
- samples: tinyusb:fix the usb host pin init.
- samples: motor_ctrl: bldc_littlevgl_foc: program crash.
- samples: qeiv2: uvw: fix uninitialized pointer usage
- samples: cherryusb: fix semaphore give in isr
- samples: drivers: Fix the issue that can error example may block.
- samples: uart_irq: fix unable to limit receive large than buffer size.
- samples: drivers:sdxc:emmc remove infinite loop for emmc initialization.
- samples: drivers: i2s: fix tx underflow during tx start
- samples: lwip: lwip_tcpecho_multiple_ports: fix no echo data when receiving large amounts of data
- samples: mcl: pwm duty set error.
- samples: cherryusb: host: usbnet: fixed when performing a stress test with a large amount of iperf data, will send fai.
- samples: cherryusb: audio_v2_mic_speaker_rtthread: fix mic no voice problem
- samples: jpeg_decode: add delay after usb pins init for waiting power stable
- samples: hfi: hpm6750evk2: fix the motor shake.
- cmake: segger: remove workstation specific path info.
- cmake/soc: fix heap/stack size setting for andes toolchain.
- cmake: ses: correct device name for core1.
v1.3.0
[1.3.0] - 2023-09-28:
Main changes since 1.2.0
Tested Segger Embedded Studio Version: 7.32
Changed:
- boards: hpm6200evk/hpm6300evk: delete unwanted clock_ahb div set
- boards: hpm6750xxx: switch dcdc work mode to dcm mode
- docs: sdk: boards: hpm6750evk2: add pps pin information
- component: wm8960: support sysclk pre-divider
- components: serial_nor: add serial nor flash.
- openocd: probes: ft2232: remove trst and srst config.
- ip: cam:remove 0x5c MAX_WN_CYCLE register in regs.h
- driver: cam: remove invalid register
- drivers: i2s: update API
- drivers: adc: adc12/adc16: rename adc16_get_busywait to adc16_is_nonblocking_mode
- drivers: adc: adc12/adc16: update adcx_init API
- drivers: pllctrl: update pllctrl drivers
- drivers: spi : add spi enable and disable datamerge
- drivers: spi : add spi_set_address_len API
- drivers: pdgo Add missing APIs
- drivers: uart: update uart rx idle flag process and fifo control
- soc: delete_unnecessary_ppor_reset_bit_field
- soc: hpm_gpiom_soc_drv.h: delete gpiom_gpio_t soc name
- soc: delete DMA_SOC_BUS_NUM Macro
- soc: pcfg: update pcfg SCG_CTRL related drivers
- soc: hpm6750:startup Enable LMM1 clock before access to LMM1
- soc: gcc ld: add memory used size check
- middleware: cherryusb: update to v0.10.1
- middleware: guix: demo adapts to 800 * 480 resolution
- middleware: guix: improve demo display performance
- middleware: cherryusb: update for midi descriptor define
- middleware: cherryusb: update for midi
- samples: drivers: adc: adc12/adc16: speed optimization for oneshot reading
- samples: drivers: adc: adc12/adc16: update API call used for nonblocking judgement
- samples: drivers: adc: adc12/adc16: update API call related to blocking setting in oneshot mode
- samples: drivers: adc: adc12/adc16: reduce the input parameters of init_trigger_target function
- samples: drivers: adc: adc12/adc16: update init_oneshot_config
- samples: drivers: adc: adc12/adc16: optimization for clearing interrupt status
- samples: drivers: pwm: Add pwm clock jitter demo
- samples: cherryusb: hid host: separate mouse and keyboard urb
- samples: hrpwm: Add demo for updating hrpwm frequency
- samples: drivers:mcan Add CAN error handling and refined logic.
- samples: mbx: move dualcore mbx sample to multicore folder
- samples: cherryusb: update for v0.10.1
- samples: motor_ctrl: bldc smc: gcc toolcahin enable fpu.
- samples: lwip: lwip_tcpecho_freertos: optimization in a thread-safety way
- samples: qeo: update qeo abz frequency configuration
- samples: gptmr: add sent_signal sample.
- samples: lwip: lwip_ptp: remove the dependency on pps0 pinout
- samples: dma_manager: update for use dma_mgr_setup_channel()
- samples: drivers: gptmr: pwm_measure: support use dma
- samples: lwip: lwip_httpsrv/lwip_https_server: rename project names for uniform naming
- samples: multicore: lvgl_coremark: delete custom linker files and using andes toolchain
- samples: flash_algo: update device size.
- samples: cherryusb: host: hid: use ep_mps to fill urb
Added:
- cmake: ses: support specify custom openocd board cfg file.
- cmake: support specifying minimum sdk version in app.yaml.
- boards: add hpm5300evk
- components: eeprom_emulation: add hpm nor-flash support
- components: eeprom_emulation: add eeprom emulation component
- soc: add APIs for get or set sysctl resource status
- drivers: common: add HPM_ALIGN_DOWN and HPM_ALIGN_UP define
- drivers: adc: ad12/adc16: add adcx_set_blocking_read/adcx_set_nonblocking_read
- drivers: add encoder position driver
- drivers: lcdc: add enable/disable background in alpha blender.
- drivers: usb: add api to set dp/dm pin pulldown resistance
- drivers: spi: add spi_get_rx_fifo_valid_data_size and spi_get_tx_fifo_valid_data_size APIs
- drivers: spi: add directIO function APIs
- drivers: enet: add rx resume API
- drivers: adc16: add resolution setting in adc16_get_default_config API
- drivers:rtc Add rtc_get_timeval API.
- drivers:mcan Add mcan_transmit_via_txfifo_nonblocking API.
- drivers: usb: add usb_hcd_set_power_ctrl_polarity() API
- drivers: plb: add plb drivers
- drivers: linv2: add linv2 driver
- drivers: sei: add sei driver
- drivers: dmav2: add dmav2 driver
- drivers: qeo: add qeo driver
- drivers: qeiv2: add qeiv2 driver
- drivers: mmc: add mmc driver
- drivers: rdc: add rdc driver
- drivers: add opamp driver
- drivers: bgpr: add related APIs for bgpr
- middleware: FreeRTOS: add xPortIsInsideInterrupt() API
- middleware: threadx: add definition automatically when enable traceX
- middleware: freeRTOS: add use gptmr to generate interrupt
- middleware: hpm_mcl: add hfi
- samples: drivers: adc: adc12/adc16: add wdog feature
- samples: add opamp demo
- samples: cherryusb: rndis: host: add iperf sample.
- samples: cherryusb: rndis: host: add ping sample.
- samples: drivers: adc: adc12/adc16: add hw trigger configuration in sequence mode
- samples: eeprom_emulation: add eeprom emulation perf test sample
- samples: eeprom_emulation: add base api demo
- samples: tracex: add demo for traceX usage
- samples: cherryusb: add audio_v1_mic_speaker_midi sample
- samples: cherryusb: add midi device sample
- samples: drivers: sei: add sei samples
- samples: drivers: plb: add plb demo
- samples: drivers: mmc: add mmc demo
- samples: drivers: qeiv2: add qeiv2 demo
- samples: drivers: qeo: add qeo demo
- samples: drivers: dmav2: add dmav2 demo
- samples: drivers: linv2: add linv2 demo
- samples: drivers: rdc: add rdc demo
- samples: drivers: pdgo Add PDGO samples
- samples: drivers: ewdg Add EWDG sample
- samples: lwip: add a lwip_tcpecho_multi_ports sample
- samples: motor_ctrl: add hfi
Fixed:
- cmake: fix segger default heap and stack size config
- cmake: fix add_subdirectory_ifdef arg processing.
- doc: boards: hpm6300evk: fix acmp pin info.
- boards: hpm6750evkmini: fix board_init_rgb_pwm_pins() problem
- boards: hpm6200evk: fix BOARD_G_GPIO_CTRL defined in wrong position
- openocd: hpm6750-dual-core: fix expression warning.
- component: wm8960: fix clock tolerance process
- soc: toolchains: segger: block tls add with fixed order
- soc: toolchain: gcc: fix Thread-Local Storage problem
- soc: segger linker files: fix heap and ctors initialize
- soc: fix interrupt complete operation
- soc: pcfg: fix DCDC_PROT[OVERLOAD_LP] bit access
- soc: ip: adc12: fix ADC12 threshold setting
- soc: HPM6750: fix clock setting and frequency obatining error
- soc: HPM6360: fix clock source definitions for ADC16
- soc: HPM6280: fix clock source definitions for ADC16
- soc: HPM6360: fix obtaining clock source error for DAC
- soc: HPM6280: fix obtaining clock source for DAC
- drivers: adc16: add bus mode enable control APIs
- drivers: adc16: fix ahb setting
- drivers: cam: clear the status of CAM should not affect other bits
- drivers: trgmux: filter function can't work.
- drivers: src: adc16: fix end count setting
- drivers: adc/dac: fix interrupt status clearing
- drivers: adc16: fix DMA access format
- drivers: sdm: fix over sample rate and signal sync problem
- drivers: pwm: fix pwm xcmp enable setting
- drivers: pwm: correct external fault polarity setting.
- drivers: pwm: add update hrpwm reload shadow api
- drivers: spi: fix can't set change data_bits use spi_set_data_bits API
- drivers: ptpc: fix ptpc_clear_irq_status API issue.
- drivers: i2c: fix i2c_clear_status API issue.
- drivers: gptmr: fix gptmr_clear_status API issue.
- middleware: erpc: rpmsg_lite: fix platform_in_isr() error
- middleware:hpm_sdmmc Fix the issue sdsc cards are not supported.
- middleware: threadx: fix D extend asm code error
- samples: usbx: add multi devices and hot plug support
- samples: motor_ctrl: fix adc trig invalidate.
- samples: lwip: fix TCP reception error when size over 2KB
- samples: lwip: DHCP failure in lwip_tcpecho_freertos
- samples: drivers: adc: adc12: fix the status flag judgement in isr process
- samples: rgb_led: fix cmp shadow error
- samples: gptmr: pwm_generate: fix inaccurate duty in high frequency
- samples: lwip: low_level_input: fix the network storm issue
- samples: timer_basic: fix inconsistent use of defines
- samples: drivers: adc: adc16: fix the bit of interrupt status clearing in sequence mode
- samples: power_mode_switch: trigger system lowpower for standby mode
- samples: touch_panel: fix error data when 5 fingers touch screen at same time.
- samples: jpeg: jpeg_decode: fixed lcd display is tore when decoder is running
- samples: jpeg: jpeg_decode: malloc out of memory on gcc
- samples: drivers:can Fix abnormal behavior on can error sample.
- samples: segger_rtt: call board_init_clock.
- samples: drivers: acmp: fix one toggle value but multi toggle pulses
- samples: lwip_tcpecho_freerstos: fix code stuck with gcc toolchain
- samples: jpeg: fix JPEG_USE_UDISK compile error
- samples: bldc_foc: fix input value range.
- samples: cherryusb: rndis: udp_echo: fix echo extra char
- samples: usbx: fix global var placement
- samples: power_mode_switch: set to preset_1 after exiting wait mode.
- samples: pla: fix pla first pulse abnormal.
- samples: plb: fix the first pulse is abnormal.
v1.2.0
[1.2.0] - 2023-06-30:
Main changes since 1.1.0
Tested Segger Embedded Studio Version: 7.22
Changed:
- boards: hpm6750evk*: decrease core frequency from 816MHz to 648MHz
- openocd: soc: hpm6280: simplify dual core release core1 approach.
- cmake: segger: configure optimization level according to gcc level.
- soc: dmamux: move it from ip to soc
- soc: interrupt: adjust irq api. #659
- soc: improve svd file
- soc: hpm_soc_feature.h: remove ADC16_SOC_TEMP_CH_EN for some specified Socs
- components: enet_phy: update the common enet phy header file
- components: sgtl5000 and wm8960: update clock setting
- drivers: uart: update uart driver
- drivers: pdma: improve quality of scale
- drivers: adc: adjust wait_dis type in adc16_config_t struct
- drivers: enet: update rmii reference clock setting API for ENET
- utils: hpm_swap: escape for andes toolchain.
- middleware: hpm_sdmmc: add spi sdcard
- middleware: motor_ctrl: change the file organization
- middleware: motor_ctrl: remove slide control content from foc
- middleware: lvgl: upgrade to v8.3.5 (with pdma)
- middleware: lvgl: Add direct mode
- middleware: cherryusb: update version to v0.8.0
- samples: I2S_DMA and I2S Interrupt: update sample behavior
- samples: cherryusb: hid host: separate mouse and keyboard urb
- samples: cherryusb: increase max interface and endpoint number Configuration
- samples: cherryusb: uac2: move setting sampling freq to isr
- samples: cherryusb: audio: update descriptor for identification
- samples: audio_codec: set codec voice to max and increase irq priority
- samples: multicore: lvgl_coremark: delete custom linker files and using andes toolchain
- samples: lvgl_audio_player: update CMakeLists.txt to using noncacheable framebuffer
- samples: spi: clean the redundant code
- samples: i2c: improve the processing of FIFO in ISR
- samples: drivers: uart: update uart_rx_timeout demo
- samples: drivers: gptmr: split sample into multiple function samples
- samples: drivers: adc: optimization for all macro definitions in applications
- samples: drivers: adc: update struct member names
- samples: update clock divider setting for ADC-related examples
- samples: cherryusb: move vid/pid etc definition to usb_config.h
- samples: cherryusb: device: update vid to hpmicro 0x34B7
- samples: cherryusb: change API update for v0.8
- samples: cherryusb: device: audiov1: change to full speed mode
- samples: tinyusb: uac2: update descriptor and sample
- samples: lwip: disable mmc interrupt settings
- samples: lwip: lwip_ptp: v1: sync precision improvement
Added:
- cmake: toolchains: add isa spec 20191213 support.
- cmake: ses: support set ses raw option in CMakeLists.txt
- cmake: add option to specify board search path.
- cmake: generate compile_commands.json file
- soc: hpm_soc_feature: add a common macro for ADC12 and ADC16
- drivers: cam: add new APIs
- drivers: spi: add new APIs
- drivers: i2c: add new APIs
- drivers: I2S: add i2s_check_data_line_status API
- drivers: dma: add dma_set_transfer_src_width_byte_size() API
- drivers: gptmr: add output capture APIs
- drivers: gptmr: add gptmr_channel_get_dma_request_event api
- drivers: adc: add adc16_trigger_pmt_by_sw API
- drivers: enet: add some APIs related to interrupt settings
- drivers: enet: add a new API for transmisstion
- drivers: usb: add macro CONFIG_USB_DEVICE_FS to set full speed mode
- components: uart_lin: add uart lin component
- components: add smbus
- components: add sccb
- middleware: lvgl: add macro HPM_LVGL_FRAMEBUFFER_NONCACHEABLE
- middleware: add AzureRTOS (threadx/usbx/netx/guix)
- middleware: hpm_mcl: sensorless over-zero
- middleware: add smc
- middleware: hpm_sdmmc Add eMMC support
- middleware: hpm_math: add bit conversion function
- middleware: add uC/OS-III
- middleware: cherryusb: audio: add feedback descriptor
- middleware: cherryusb: audio: add param to set endpoint bmAttributes
- middleware: microros: add microros foxy sources
- samples: drivers: spi: add spi_sdcard_fatfs sample
- samples: drivers: spi: add sd sample
- samples: add uart_lin
- samples: motor_ctrl: sensorless: over-zero demo
- samples: cherryusb: add rndis host dhcp samples
- samples: drivers: sdxc :emmc Added eMMC sample
- samples: drivers: adc12: update irq pattern for sequence usage
- samples: drivers: pla: add pla tamagawa demo
- samples: drivers: gptmr: add counter_sync sample
- samples: drivers: gptmr: add timer_basic sample
- samples: drivers: gptmr: add t_shape_accel_decel sample
- samples: drivers: dma/gptmr: add trigger dma transfer using gptmr event sample
- samples: drivers: uart add uart_rx_timeout sample
- samples: i2c: add smbus samples
- samples: lwip: lwip_tcpecho_freertos: add self-adaption
- samples: cherryusb: hid host: move usbh_submit_urb() out of condition
- samples: cherryusb: add composite freertos sample
- samples: cherryusb: add rndis freertos sample
- samples: cherryusb: add msc freertos sample
- samples: cherryusb: add audio v2 mic speaker freertos sample
- samples: cherryusb: add hid mouse freertos sample
- samples: cherryusb: add hid keyboard freertos sample
- samples: cherryusb: add cdc acm freertos sample
- samples: cherryusb: add rndis tcp server sample
- samples: cherryusb: add rndis device udp_echo sample
- samples: cherryusb: add rndis device http_server sample
- samples: cherryusb: device: add audio_v2_speaker_sync sample
- samples: add several uC/OS-III samples
- samples: smc: add smc demo
- samples: microros: add subscriber, sevice and publisher
- samples: uC/OS-III: mutex
Fixed:
- cmake: ses: fix __SEGGER_RTL_vfprintf issue with nds tool in SES 7.20.
- soc: hpm6280: Modify the number of PWM cmps.
- soc: reset.c: __dso_handle needs to be declared for nds toolchain.
- soc: fix max buffer length in sequence mode for ADC
- soc: HPM6750: enet soc drv: fix set clock delay settings
- soc:hpm6360:sdxc Correct clock divider settting issue
- drivers: pla: missing Union Field
- drivers: spi: fix the problem of CMD and ADDR configuration order
- drivers: i2c: fix clock frequency error rate problem
- drivers: i2c: clear CMPL bit in API to avoid blocking the trans
- drivers: i2c: fix i2c slave device read and write fail
- drivers: i2c: fix read data unexpected multi transition.
- drivers: i2c: fix w1c clear status error
- driver: usb: fix w1c clear flag error
- drivers: gptmr: fix dma request enum definition
- drivers: adc: fix logics for judging the validity of arguments
- component: uart_lin: fix break signal problem
- middleware: cherryusb: fix buffer size error
- middleware: lvgl: fix fbbuffer option
- samples: gptmr: fix pwm_measure sample compile waring
- samples: jpeg: fix interchange format of exif support
- samples: jpeg: fix jpeg decode
- samples: drivers: spi: fix the problem of CMD and ADDR configuration order
- samples: drivers: mcan: can_fd loopback test setting is incorrect
- samples: cherryusb: http_server_freertos: fix printf content error
- samples: cherryusb: audio: change endpoint attributes for support MACBOOK
- samples: tinyusb: msc: increase block numbers for windows format
- samples: lwip: lwip_httpsrv: fix reload or refresh error
v1.1.0
[1.1.0] - 2023-03-31:
Main changes since 1.0.0
Tested Segger Embedded Studio Version: 7.10
Changed:
- docs: add new docs for rtd project.
- soc: ip: enet: update the enet register file
- soc: ip: adc16: update the adc16 header file
- soc: hpm_romapi - Add APIs for configuring remapping, exip regions
- drivers: enet: improve APIs related to PPS
- drivers: adc: change adc bus blocking interface
- drivers: adc: optimize getting oneshot result
- drivers: src: update the default config for ADC12&ADC16
- boards: rename board-level APIs related to enet
- components: enet_phy: rtl8201: update the register file
- middleware: hpm_math: update dsp version
- middleware: erpc: update to v1.10.0
- samples: uart: rename uart_dma_rx_idle to uart_software_rx_idle
- samples: uart: add hardware rx idle detection sample
- samples: multicore: erpc: core1 add sdk_compile_options(-O1)
- samples: drivers: gptmr: update sample output.
- samples: lwip: common: arch: ethernetif: update a calling function name
- samples:drivers: adc: optimize oneshot handler
Added:
- arch: add FPU related APIs
- soc/board: add HPM6280 support
- soc: HPM6750: acmp: add ACMP section
- components: add mt9m114 support
- drivers: add raw8 pixel format support
- drivers: csr - Implement CSR driver
- drivers: adc: adc16: support resolution setting
- drivers/samples: add SDM/PLA/CRC/MCAN
- drivers: I2C: add new API
- drivers: adc: adc16: support resolution setting
- drivers: enet: add enet control config for transmission
- middleware: cherryusb: audio: update class driver and demo template
- middleware: add mbedtls lib files with SDP acceleration
- freeRTOS: add support for static allocation
- samples: drivers: enet: add a pps demo
- samples: cherryusb: add audio samples
- samples: add the resolution parameter in all demos with ADC16
- samples: add rfft demo
- sampels: i2c: add interrupt b2b samples
- samples: drivers: i2s: add an i2s_master demo
- samples: drivers: i2s: add an i2s_slave demo
- samples : rom_api : add sw_gm_api filter
- samples: add the resolution parameter in all demos with ADC16
Fixed:
- openocd: hpm6300evk: update sdram initialization.
- drivers: trgmux: trigmux edge filter setting error
- drivers: enet: fix register access error
- drivers: adc16: fix the config error of ADC16_CONFIG1
- drivers: i2c: fix i2c timing configuration
- drivers: SPI: fix SPI status API
- drivers: fix gptmr cmp value don't minus one
- drivers: mcan: correct the mcan ext_id filter issue
- drivers: I2C: fix issue in i2c_master_address_read API
- drivers: Self_ACK cannot be set in CAN driver
- drivers: rtc rtc_config_alarm always return error code
- cmake: correct source code compilation
- soc: toolchain: gcc: initialize heap for SES
- soc: gcc linker files: add NOLOAD keyword to noncacheable.bss section
- soc: HPM6360: gcc: ld: correct noncacheable region name.
- drivers: qei: Fix speed display always zero
- middleware: freertos: disable global irq before vTaskStartScheduler
- freeRTOS: fix trap when enable float feature
- freeRTOS: fix tick lost
- freeRTOS: fix segger project build warning
- samples: drivers: i2s: fix CFGR config
- samples: drivers: fix acmp toggle error
- samples: lwip: fix the DHCP issue
- samples: uart: fix irq_id judgment
- samples: fix the order of uart pin configuration and clock configuration
- samples: update spi dma sample
- samples: drivers: sysctl: correct reset enable approach.
- samples: fix dma_general_transfer sample memory out of bounds
- samples: drivers: wdog: Fix logic issue on finding the nearest interrupt interval
- sample: audio_codec: decoder_wav: add '\0' to fatfs path
v1.0.0
[1.00.0] - 2022-12-31:
Main changes since 0.14.0
Tested Segger Embedded Studio Version: 7.10
Changed:
- boards: add version info in banner.
- board: lcdc: move panel para to board
- components: spi component to support to transfer different width of data in dma handshake mode
- drivers: rename dram to femc
- middleware: cherryusb update to v0.7.0
- middleware: erpc: update for support rtos
- middleware: hpm_mcl: update api naming
- samples: erpc: rename erpc_matrix_multiply_rpmsg to erpc_matrix_multiply_rpmsg_bm
- samples: erpc: reorganize erpc_matrix_multiply_rpmsg samples
- samples: erpc: move samples folder to erpc_matrix_multiply_rpmsg
- samples: update i2c/spi dma channel and dmamux channel definition
- ses: project template: use demo.* as output file naming.
- soc: HPM6750: toolchains: update linker files
- soc: HPM6360: toolchains: update linker files
Added:
- arch: riscv: add read_clear_csr() API
- component: add wm8960 support
- component: add usb device iso transfer support
- drivers: hpm_common: include hpm_sdk_version.h.
- drivers: common: add NOP and WFI.
- drivers: uart: add api to recv/send byte directly.
- soc: HPM6750 linker files: rename rpmsg_sh_mem to sh_mem
- cmake: add sdk version header file generation.
- middleware: tinyusb: add audio class
- middleware: hpm_math: add NN library
- samples: erpc: add erpc_two_way_rpc_rpmsg_rtos sample
- samples: erpc: add erpc_matrix_multiply_rpmsg_rtos sample
- samples: add power mode switch demo. #282
- samples: drivers: adc: add a temperature measurement demo
- samples: drviers: femc: add sram sample
- samples: lwip demo for FreeRTOS
- samples: lwip demo of interrupt usage
- samples: tinyusb: add uac2 demo
- samples: tflm: add face detection demo
- samples: tflm: add MLPerf Tiny benchmark demo
- samples: lwip: common: feature: add a LPI interrupt process
Fixed:
- drivers:interrupt: Fix FPU context crashing in nested irq case
- drivers: src: adc: fix adc result in period mode
- segger: update app directory structure in SES.
- soc: disable irq during cache maintenance
- middleware: lvgl: fps calculation to No.
- samples: get off level based on board api.
- samples: multicore: hello: core1 rgb led does not change correctly.