Skip to content

SiFli-SDK Release v2.5.0

Choose a tag to compare

@rabbitsaviola rabbitsaviola released this 19 Jun 06:36
· 668 commits to main since this release

Changelog

Documentation for v2.5.0 is available at https://docs.sifli.com/projects/sdk/v2.5.0/sf32lb52x/index.html

Major Changes

  • Update toolchain install script, use uv to manage Python and its dependencies.
  • Add cherryusb as new USB stack, legacy USB stack could still be used, but not recommended for new project.
  • Add sdk.py wrapper command. It supports several subcommands, such as sdk.py menuconfig to open menuconfig window, sdk.py build to trigger build just like what scons does. Run sdk.py --help for details.
  • Add Partition Table v3, clearer semantics and enhanced functionality compared to ptab v1/v2, for details please read ptab v3.
  • Add sf-pkg to support external package management, for details please read sf-pkg.
  • Add many boards, e.g. sf32lb56-lcd, sf32lb58-lcd, sf32lb58-core and sf32lb56-wlan-core series boards, all examples support sf32lb56-lcd and sf32lb58-lcd series boards.
  • Many examples are added.
  • Audio and video documents are added.

Upgrade Guide for Breaking Changes

  • Follow install guide to install uv first and then run install script to update toolchain.
  • New submodule SiliconSchema under tools directory is added. If you are updating code in an existing repository, make sure to run git submodule update --init --recursive to fetch the corresponding submodules.
  • CONFIG_BSP_USING_PWMx has been renamed to CONFIG_BSP_USING_PWMTy, where y=x-1. For example, if an existing project enables BSP_USING_PWM2, it should now enable BSP_USING_PWMT1. Refer to commit 439f8cd for the corresponding changes in board.conf. PWM device names have also been changed from pwmx to pwmty, where y=x-1. For example, if an existing project uses pwm2, it should now use pwmt1. Refer to commit 0b989c5 for the corresponding changes.
  • tools/flash/jlink_drv/JLinkDevices.xml now follows syntax supported by J-Link version >= 7.62, if using it directly please upgrade J-Link version. You can get old format file from here
  • The type of config CONFIG_RGB_USING_SK6812MINI_HS_DEV_NAME has been changed to string (929b8cc).
  • Add config CONFIG_BSP_USING_SDMMC1 and CONFIG_BSP_USING_SDMMC2,corresponding to the SD1 and SD2 instances respectively. No need to enable old config BSP_USING_SDHCI1, BSP_USING_SDHCI2 and BSP_USING_SD_LINE in board.conf or proj.conf anymore (b7f20ec).
  • A name member is added in structure type button_cfg_t, it must be set to NULL or valid string pointer when calling button_init (6f0d92c).
  • Use sd0 and sd1 as the device names for the two SD instances. For example, if SD2 instance is used as interface of the TF card, sd1 should be used as its device name (0e58349).
  • Recorder device read may return 0, refer to commit 82f23ef to see how example is affected.
  • SDK v2.4 can coexist with v2.5. If you have previously run the install script under v2.4, you must run the install script again after switching to v2.5 to refresh the environment. After that, you can activate the environment using the export script.
  • SiFli-ENV tool needs to be upgraded, download new version from link.

Change log since v2.4.0

Drivers

Fixed

  • audio: Fixed audio dma buffer across 1M (1d1e082)
  • audio: Fixed audcodec ADC gain not controlled by EQ (ab8df25)
  • audio: Fixed MIC gain decrease (1be6dfa)
  • epic: Keep the render list pool in retention memory (b67c235)
  • crc: Fixed validate CRC handle during init (be6ae14)
  • spi: Fixed The received bytes may be fewer than expected in 3wire SPI master mode (b8f84d9)
  • pmu: Fixed the shutdown abnormality on the 52_core board (43a538d)
  • cmsis: Fixed ACPU ram cannot pass HPSYS ram range check (6e9c298)
  • epic: Limit the EPIC maximum width&height to 505 on 52x (309a501)
  • i2c: Fixed I2C2 DMA channel configuration error (ebdb9fe)
  • cmsis: Fixed flash5 init fail as memset is not put in RAM (96adcad)
  • lcdc: Fixed LCDC DPI_AUX mode crash on 52x (6b4c408)
  • lcdc: Fixed a timeout error when closing DSI VIDEO LCD (81dce29)
  • aes: Fixed the AES calculation error. (efe7693)
  • pmu: Check if hwp_pbr present before accessing PBR registers (0138ab9)
  • gptim: Fixed hal_tim macro definition error (036851a)
  • cmsis: Align address to cache line for SCB cache maintenance (07f7d3e)
  • nand: Fixed HYF1GQ4UDA NAND Flash does not work properly in Type 4 mode (3cfce31)
  • usb: Trigger the endpoint data packet receiving process when the received packet length is 0 (e6b6b84)
  • epic: Fixed Wrong MAX_COL&MAL_LINE configuration of L2&VL (2b1c0b2)
  • i2c: Fixed i2c7 config for 56x and fix I2C4_CORE definition error (79a81bb)
  • aon: Fixed No PBR wakeup pin is present on sf32lb52x (ccd18fe)
  • trng: Fixed TRNG interrupt enable/disable bit was written incorrectly (73b90a3)
  • usb: Fixed the occasional disconnection issue of USB when transmitting large amounts of data (5d4c5c6)
  • lcdc: Modify the DMA channel allocation in the dpi screen driver and use dynamic allocation (57ed171)
  • cmsis: Fixed system not work when compiling with GCC (396a5d9)
  • wdt: Fix LCPU crash after wakeup when wdt2 is enabled. (bed9e1d)
  • usb: Fixed When 58x interacts with data in host mode, it is necessary to configure the swcntl1= 0x40 register (8900bdb)
  • usb: Fixed some bugs on the USB drive, the details are as follows (909d80f)
  • lcdc: Fixed Waiting LCDC busy flag to be cleared in it's deinit function (1fc8837)
  • ezip: Fixed abnormal EZIP IRQ when using 'HAL_EZIP_DecodeFast_IT' API (6baffb8)
  • sdio: Fixed the bug where sdio experiences data gaps when reading large amounts of data (0509ec4)
  • usb: Fixed fail to open cdc vcom device (6abd260)
  • pmu: Fixed reboot failure when using eMMC as boot device on sf32lb52x
  • sdio: Fixed data error when clock rate is higher than 400kHz
  • btim: Fixed BTIM clock is not enabled (e904af4)
  • adc: Fixed drv_adc.c sifli_op_adc_init MULTI_CH_SAMPLING 52x config 8 channel (9c38db8)
  • adc: Fixed slot1~slot7 en is not cleared by the first call of HAL_ADC_Init (dc9cd59)
  • epic: Fixed EPIC coordinates overflow in 'HAL_EPIC_Copy_IT' (459c096)
  • cmsis: Updated GCC linker scripts to support new application and animation tables (f5f5cd3)
  • i2s: Fixed I2S MIC demo for master mode (438460c)
  • i2s: XTAL is used by 55x I2S as no PLL available (a05407d)
  • sd: Fixed sd device is not ready before being used by rt_sys_config_init (a51f94a)
  • psram: Fixed bit-flip when PSRAM working at 24MHz on 52x (c34c998)(0ce6786)
  • nor: Fixed 6600A8 dual flash OTP write error in ATE program as dual flash is not detected (8293a68)
  • gpio: Fixed gpio pin range of 52x and 57x (be32e75)
  • wdt: Fixed HPSYS WDT register is accessed when LPSYS wake up (553bed9)
  • spi_msd: Align MSD buffers to 32 bytes and add wait timeout (0b4c585)
  • sdio: Treat ITCM addresses as unaligned address due to DMA limit (b762cb4)
  • sdio: Serialize host requests to prevent concurrent access (9d4e5e5)
  • sdio: Fixed the sd2 init failed when both sd1 and sd2 are enabled (3717fb2)
  • sdio: Fixed misuse CBUS address as DMA buffer address (b948625)
  • usb: Fixed USB detection fail after wakeup (18ecda0)
  • nor: Fixed W25Q128JV cmd type to type0 to support both new and old version (db9b293)
  • usb: Fixed assert when receiving SUSPEND interrupt by handling RESET interrupt first (80fc269)
  • gpio: Fixed SET/CLR registers are write-only (#234) (f4c2a81)
  • sdio: Reduce the time of waiting for instructions (07459a5)
  • sdio: Fixed DMA data buffer address not using the SBUS address (starting from 0x60000000) (3d60651)
  • usb: Fixed hang when USB is plugged or unplugged (b7973ff)
  • spi: Fixed the SPI simplex transmission freeze error and the error where original data in memory was overwritten when writing files to the SD card. (c62aded)
  • rcc: Fixed PCLK2 config error in deepwfi state for sf32lb52x and sf32lb57x (363b1f3)(df15957)
  • spi: Fixed missing direction control of SPI Three-Wire Mode in Camera Devices (fc94894)
  • nand: Fixed ecc status mode of HYF4GQ4UTACAE (bf32e4c)
  • gpio: Fixed rt_pin callback is not invoked by LCPU side if HCPU is in sleep on SF32LB58 (ee3aa33)
  • gpio: Fixed HPSYS cannot sleep when using GPIO2 wakeup pin sometimes (45a0a98)
  • extdma: Fixed EXTDMA access conflict by defining all NAND_BUF_CPY_MODE with NAND_CACHE_USE_MEMCPY (c62e7ed)
  • nor: Fixed FIFO clear from OTP lock (#203) (76000ad)
  • rcc: Not reset GPIO2 when only LCPU is to be reset (7e334b8)
  • pmu: Only configure boot options if not set (78e5843)
  • nor: Fixed address size error of OTP related command for type3 flash (4048f7b)
  • adc: Fixed sf32lb52 letter series ADC measurement abnormal as chip id is not detected correctly (9aee2fa)(167ee53)
  • trng: Fixed RNG not work as STOP bit is not cleared (789a85e)
  • nor: Fixed DMA IRQ is not disabled after flash write (496dcac)
  • pmu: Fixed hcpu wakeup crash on sf32lb56 (9658e10)
  • epic: Fixed YUV image is all black in EPIC render-list mode. (b8eb487)
  • epic: Fixed drv_epic rendering list mode timeout handler (20cb8a2)
  • nor: Fixed compile warning by Keil v5.39 (4b6bab7)
  • serial: Fixed 'rt_serial_close' memory-leak. (0d60738)
  • lcdc: Corrected LCDC output format (7125416)
  • epic: Fixed image recolor issue (1eb8396)
  • cmsis: Fixed Stack overwritten by D-cache. (f922838)
  • i2s: Fixed i2s driver (7ebb2e7)
  • i2s: Fixed i2s2 driver error (abc470b)
  • pwm: Fixed PWM pulse configuration error (a158f99)
  • pwm: Use UPDATAE_DMA and solve rgbled error (bcdb6ac)
  • pwm: Fixed incorrect interrupt priority setting in drv_pwm driver (a6b303f)
  • i2s: Fixed calloc function parameter error (c39e2b5)

Changed

  • spi: Optimize spi_camera configuration for SPI DMA circular receive (4acf8fc)
  • adc: ADC calibration is moved to the HAL layer for unified implementation (829ee69)
  • adc: Uses the unified HAL_ADC calibration interface (afaaa97)
  • mem_map: Both 58x A1 and A2 set LPSYS_RAM_SIZE to 896KB. (58e38bf)(8e14bf3)
  • adc: Adjust the ADC threshold judgment: limit the retrieved value if it exceeds the threshold. (f9fbc4f)
  • dma: Add settings to implement DMA priority (070e61b)
  • i2c: Added I2C1 and I2C2 DMA config for 58x (6245a82)
  • audcodec: Changed ADC rough default volume to 0db (89f7e0b)
  • audcodec: MIC gain use audcodec (7f03521)
  • audcodec: Avoid big current when open audio tx/rx (b591842)
  • i2s: Update I2S driver (c3ca64c)
  • pdm: Added PDM2 support (073165d)
  • audio: Use audio pipe as ring buffer only (a0db5ec)
  • i2c: Added HAL_I2C_Slave_ReceiveNoStop for slave reception without stop flag (47bf509)
  • epic_ex: Updated the library as the 'EPIC_LayerConfigTypeDef' structure changed. (2c7f6fc)
  • simulator: Define SDMMC memory base addresses (2f8ffae)
  • common: Updated board initialization and reboot logic (889f125)
  • watchdog: Changed IWDT timer to ensure IWDT is pet (11a9a1e)
  • sdio: Disable automatic partition detection in block device probe (e87361d)
  • spi_msd: Increase card wait token timeout (c9f7251)
  • sys_cfg: Updated SYS CFG module to support LCPU and SDIO storage (a0a3bc8)
  • sdio: Changed MMCSD thread priority dynamically in boot stage (38f1f9b)
  • sdio: Added PM-aware initialization wait for SDIO status (32eee50)(2518b05)
  • sdio: Support card detection and improve driver cleanup (be1849b)
  • sdio: Improve SDIO register recovery mechanism (61d7dd6)
  • sdio: Added mutex lock and unlock interfaces for MMCSD core (061bed0)
  • sdio: Support polling mode for SDIO and SDHCI drivers (a1a20af)
  • nand: Separate read and write buffers and implement read caching (a1bd9f4)
  • nor: Refactor OTP operations to support configurable base address (6e4003f)
  • nor: Support extended configuration and user-defined IDs for NOR flash (541eea4)
  • sdio: Simplify sdio kconfig option (b7f20ec)
  • nand: Support extended nand flash configuration (ae0a802)
  • nor: 58x LCPU supports OTP read and write operations (06b26e3)
  • efuse: Added API HAL_EFUSE_Extract to parse cached bank data (adf1a43)
  • sdio/nor/nand: Support real-time switch between sdio and mpi2 interfaces (9a4377c)
  • aes: Ensure AES clock is enabled before using it (5df6c32)
  • pdm: Added the configuration of pdm2 (30e0d38)
  • efuse: Added Read2 and Write2 API to read/write any position (09f2f3e)
  • nor: Added UC 8M, 32M and 64M flash support (7291935)
  • pwm: Rename drv_pwm to drv_pwm_tim in preparation to add new pwm driver for 57x (2fe0bb6)
  • pwm: Rename GPTIM based pwm device to PWMTx (439f8cd)
  • gpio: Fixed pin command output wrong pinmux value (b2b6b91)
  • common: Changed sf32lb58 revision and LCPU config mismatch check (0821ef7)
  • nor: Send reset command to exit 4byte mode (bce5aeb)
  • rcc: Re-implement HAL_RCC_EnableModule related API to reduce code size (c209bdd)
  • sdio: Added sleep function option configuration for sdhci (c45885a)
  • lcpu: Use run-time LXT check instead of MACRO (4ace162)
  • pinmux: Added PBR support for sf32lb58 series (77de97e)
  • nor: Added new flash chip UC25IQ128 (ffb51fa)
  • acpu: Added RT-Thread support for ACPU (7157777)
  • dma: Not enable dma dynamic allocation for Keil download algorithm (4e53994)
  • nor: Added MPI2 dual flash support on sf32lb52x (a65c176)
  • rcc: Reset GPIO2 when reset LPSYS to avoid GPOI2 interrupt flooding (c27ed80)
  • math: Enable CDE of HAL_MATH for GCC (6098bba)
  • sdio: Support multi-host naming (0e58349)
  • serial: Support SRAM allocation for serial buffers when heap is in PSRAM (b053e23)
  • rtc: Implement retry mechanism for NTP synchronization (32a70d1)
  • mem_map: Changed macro LPSYS_SRAM_TOTAL_SIZE to indicate total physical sram size in LPSYS (not including TCM) (16df8e0)
  • mem_map: Changed sdmmc logic address (0862b95)
  • lrc: Added HAL_LRC_Delay to customize delay implementation when measuring RC10K (faa4125)
  • systick: Put HAL_SYSTICK_Config in RAM (3317c0c)
  • nor: Added some new flash chip id (e72e25c)
  • i2c: Added I2C Slave driver (7102607)
  • sdio: Added drivers for DAT1 interrupt and synchronization solutions in sdio, while adjusting the default configuration of sdio (b33baab)
  • spi_msd: Make spi bus device name configurable (3da308e)(11e7200)
  • spi_msd: If the TF card is not inserted, the system will skip the TF card initialization process when powering on. (e9d0a9b)
  • mem_map: Enlarge HCPU_RO_DATA_SIZE to 19KB by default for 58x (261002d)
  • mem_map: Enlarge HCPU RAM DATA region by 128KB in default configuration for sf32lb56 series (275afe4)
  • usb: Changed the default value of usb vid (a146331)
  • SPI_MSD: SD card frequency automatically configured in SPI mode (009a951)
  • sdio: Fix eMMC compatibility issue which can cause errors in eMMC enumeration for some manufacturers (cf8f111)
  • usb: Changed the udisk class to adapt to new drivers, mainly the difference between IAD and non IAD (7f8f80c)
  • aon: Add lcpu force sleep function API HAL_LPAON_Sleep (9219e26)
  • usb: Optimize the USB HSOT driver to increase the efficiency of host reception and transmission (3df736f)
  • usb: Modify USB slave mode driver (3e01a0e)
  • usb: Modify USB host HAL layer driver to adapt to continuous DMA (663325e)
  • epic: Optimize epic render-list mode (4d5c2d0)
  • lcdc: Updated JDI exposed parameters (30d92a7)
  • sdio: Changed the printing error message to 'assert' (1c7af3c)
  • sdio: Several changes: add more sleep mode, fix timeout bug, ensure 4 bytes aligned write access (608787d)
  • pmu: Turnoff LDO2 to ensure flash changing to 3byte address mode when boot up (10656cd)
  • cmsis: Add RTM symbol table support in GCC link file (a3ab614)
  • epic: Separate drv_epic.c to multi files (fc4efe9)
  • lcdc: Added JDI timing parameters (b7e36a3)
  • secu: Simplified the hal_secu APIs (0a4871a)
  • ptc: Added word memory copy, and used in ptc reg update (64a1619)
  • epic: Added the EPIC_OUTPUT_IS_TRANSLUCENT macro for EPIC (51b1f8b)
  • spi_msd: Added an interface for external calls to re-initialize. (c17efaa)
  • spi_msd: Enhance the compatibility of SPI_MSD driver with SD cards (4f1f890)
  • epic: Suppor to draw dotted line (6012a02)
  • pmu: Avoid using roundf on PMU driver (#190) (e52aaa0)
  • adc: 55x support to use adc_max_voltage value based on vol10 bit15 and vol25 bit15 (ed341ad)
  • spi_msd: Add enter idle mode (30162bf)
  • adc: Optimize 52x adc channel 0~6 delay (c1df977)
  • epic: Enable EPIC auto clock gate for saving power (17bceca)
  • usb: Add eye diagram test code (0a14aff)
  • lcdc: LCDC supports RGB332 layer format (194bb14)
  • epic: Added polygon implementation in render-list (1eb8396)
  • epic: The render list supports block rendering. (f91753f)
  • epic: Support nested creation of render lists. (0af54ea)
  • touch: Add compiler check for BSP_TOUCH_IRQ_FROM_DATASVC (71301d9)
  • pinmux: Added PBR function selection on sf32lb52 (feb8877)
  • epic: Add ZIP_PAL_SUPPORT kconfig option (9df9ac3)
  • Replace dma_malloc_in_1m & dma_free_in_1m with malloc_dma_friendly_sram & free_dma_friendly_sram (d127b51)
  • cmsis: Changed RW_IRAM_RET$$RW_start and RW_IRAM_RET$$ZI_end label to indicate retm data region range (202ac91)
  • dma_config: Allow some dma to be enabled at the same time (196fb8c)
  • kconfig: Clean up Kconfig (929b8cc)
  • epic: Added a magic number at the end of 'drv_epic' variable (4c3372b)
  • epic: Supports matrix blending in rendering list mode (c4af72f)
  • epic: Added JPEG format support in rendering list mode (859209a)
  • epic: Dual-core EPIC render-list works on 58x chips (b901cc7)
  • pwm: Added missing 52x/56x/55x/58x pwm config and pwm dma config (e54a01e)

Added

  • can: Added the can driver (7810a09)
  • hlp: Define BOOTOPT fields and add some helpers for 52x (929113e)
  • ll: Added implement sf32lb52x LL drivers (e990b32)
  • mpi2_sdio_switch: Added switch driver for mpi2 and sdio interfaces (edef9f0)

Middleware

Fixed

  • ffmpeg: Fixed ffmpeg timeout (c8fc875)
  • audio: Fixed calculation for audio cache time (a42ba5b)
  • audio: Fixed skip LIST section in wav file (1fe4922)
  • lvgl_v9: Fixed ezip file decoder (9e193b9)
  • acpu: Fixed inconsistent opus encoder parameters passed between ACPU and HCPU. (9408242)
  • lvgl_v9: Fixed simulator build error by excluding source files under tests folder (58f582b)
  • dfu: Fixed some issues that occur during the use of DFU (c186280)
  • audio: Fixed i2s modem config (940d43f)
  • lvgl: Fixed default theme not work correctly (c8c0647)
  • audio: Fixed i2s modem debug error (21d3434)
  • audio: i2s driver use sram malloc for dma buffer (6269767)
  • audio: Fixed i2s modem compile error (5446552)
  • boot: Fixed build error if HAL_HASH is enabled (4a8dfda)
  • media: Fixed ffmpeg crashed if http timeout. (24cbc5f)
  • lvgl_v9: Revert "perf(draw): skip empty draw tasks (49c7c1f)
  • lvgl: Fixed file image resource load failure (27ea628)
  • lvgl_v9: Fixed LV_USE_MEM_MONITOR cannot be enabled as LV_STDLIB_BUILTIN is absent (e004a92)
  • lvgl_v8: Fallback to software decoding when hw decoding is not supported by GPU (fb48c75)
  • lvgl_v8: Fixed the issue of abnormal slider progress filling caused by the rendering problem of the list (a56b855)
  • elm_rw: Fixed exported file data is incomplete (a318522)(1012cb7)
  • ffmpeg: Fixed crash when no audio in mp4 file (c612741)
  • audio: Fixed memory overflow using soundplus audio 3a lib (76b3b9d)
  • audio: Fixed avoid audio pipe memory overflow when use ring put force (2757be5)
  • dfu: Fixed uart dfu memcpy size error (3c6464a)
  • dfu: Fixed dfu erase flash issue (c50f275)
  • lvgl: Fixed the issue where lvgl fails to compile cpp files (0db5d28)
  • audio: Fixed micbias using as GPIO pin bug (7aafa5c)
  • audio: Fixed audio mixer callback bug (d5396df)
  • audio: Fixed wav end msg being sent again when wav close (4df9c81)
  • audio: Fixed BT relative volume bug (a5a9a8a)(9348883)
  • lvgl_v8: Fixed SJPG color format conflict when gpu is used (a4230e5)
  • media: Fixed wrong const float var for audio decode (5299eb7)
  • audio: Fixed ble audio src bug (2eac0e2)
  • media: Fixed audio noise for some ffmpeg file (3d0e774)
  • media: Fixed ezip audio & video not synchronized (d447b2f)
  • lvgl_v9: Fixed simulator pixel shift in some resolution. (5abf75e)
  • media: Workaround rt_enter_critical crash on Simulator (7d22c60)
  • audio: Fixed audio 3a bypass bug (27d5297)
  • audio: Fixed audio using pdm flow (1713eb7)
  • libhelix: Fixed compile error (4142909)
  • audio: Fixed crash issue with new SifliTrace version when dumping audio data (bbc92ea)
  • ffmpeg: Fixed allow errno set to 0 (312f663)
  • pm: Fixed LCPU crash after wake-up. (828abe8)
  • mbedtls_228: Fixed issue of tls_certificate.c being incorrectly overwritten (badfd64)
  • mem_section: Fixed the VC compilation errors (e54524c)
  • lwip: Fixed null payload memclr crash (34a38df)
  • lvgl_v8: Fixed slider/bar indicator rendering on EPIC new API (e5a44ff)
  • dfu: Invalidate cache after update ftab (dc4c2ab)
  • lwip: Fixed MQTT packet decoder bug (5d12fa7)
  • lwip: Fixed tcp_in : fix ooseq update error (00ccd04)
  • lwip: Fixed MQTT bug when MQTT packet in multiple TCP buffers (86cb901)
  • lwip: Fixed webclient double free issue. (84911dc)
  • fsck: Fixed C++ build error when fsck is enabled (dc3e839)
  • ipc_queue: Fixed comparison of integer with different signedness (70b3c9a)
  • lwip: Fixed bug about lwip sys timeout uinit failed (6378ddf)
  • lwip: Websocket printf using rt_kpirntf for UART TX DMA (bbf939b)
  • ipc_queue: Fixed compile issue in Zephyr (fa24653)
  • ipc_queue: Updated to make it compatible with Zephyr compilation (e279989)
  • lvgl_v9: Add initial render_list adaption for lvgl v9 (674a50f)
  • audio: Close i2s device (d32b61d)

Changed

  • media: Convert ffmepg audio to stereo for tws (fe74d06)
  • media: Use source channles for switch back to speaker (1aded01)
  • lvgl: Added an independent memory pool for tiny ttf (f219986)
  • audio: Update audio cache to support 32bit ring buffer (93f39f9)
  • webrtc: Changed webrtc to use audio_mem_malloc (92f5f69)
  • audio: Added ANS and AGC process when no reference data (a531f26)
  • lvsf: Move the current multilingual files to the public area (d653788)
  • dfu_pan: Added NAND Flash support (d571835)
  • audio: Added MP3 ringbuffer interface functions (fb92058)
  • audio: Added stereo DAC and ADC support for 58x (62b53a5)
  • media: Use instance-based short thread names for player threads (04f49be)
  • app_mem: consolidate scattered app_mem implementations under the LVGL directory (6213a87)(9a04fda)
  • audio: Reduce MP3 cache full delay time for fast decocde (27bd57d)
  • media: Added ffmpeg audio seek support (2718723)
  • audio: Added software fade out for audio stop (b26af8c)(67b21ea)
  • flac: Removed fprintf in flac lib (322a8aa)
  • audio: Update audio server to allow call api after all cmd processed (53caf86)
  • ffmpeg: Added ffmpeg tcp timeout for bad network. (621ef3b)
  • audio: Supported audio dump by ble (c5e4535)
  • ffmpeg: Support playing mjpeg format without audio in mp4 (4bf755a)
  • ffmpeg: Optimize using arm cm33 instruction (2e09344)
  • sys: Clarify crash trigger log messages for HCPU and LCPU (ac83c82)
  • sys: Added sleep command support for LCPU shell utility (a30826d)
  • audio: sync ffmpeg API layer from solution (06c2064)
  • audio: Added mp3 ringbuffer (dcaa876)
  • lvsf_v9: Added file support of widget lv_seqimg (4fd14b6)
  • audio: If it's Xiaozhi, then reduce the requested ring_size from 32k to 4k. (62dd224)
  • audio: Support playing mp3 with fixed device (b89f4ab)
  • ffmpeg: Use cm33 arm math fucntion (db29881)
  • audio: Added anyka bypass mode for factory (2c6c82a)
  • lvgl_v9: Support 8bpp bitmap fonts (7008adc)
  • button: Make ADC button voltage range configurable (97775bf)
  • audio: Changed audio cpu speed interface (f958a9e)
  • audio: Enable audio pm scenario setting (d9ab695)
  • audio: Allow disable uplink agc by Automatic Speech Recognition app (0d213c1)
  • audio: Open micbias power for pdm (ff04491)
  • audio: Use small MP3 cache buffer if no a2dp source (1a50de4)
  • lvgl: Updated i18n support of lv_ext_resource (8b9ef55)
  • lvgl_v9: Upgrade from version 9.2 to 9.4 (03acd74)
  • libhelix: Use audio_mem_malloc instead of malloc in stdlib (adca547)
  • audio: Supported PLL and XTAL selection (66ce82d)
  • lvgl: Enable dithering for YUV420 images when ouput is RGB565 (c8b6ce2)
  • audio: Changed audio demo code to save wav file instead of pcm file (10027d9)
  • opus: Optimize opus to use silk only mode for small stack size (b3def48)
  • lvsf_v9: Added some tiny ttf fonts as built-in font (d01a24b)
  • mbedtls_228: Dynamically obtain the certificate after default certificate authentication fails (6afd73b)
  • lvgl_v9: Fix(tiny_ttf): release entry for correct cache (#9429) (7ef1501)
  • cwm_lib: Added GCC version of cwm_lib (52cc4bf)
  • lvgl_v8: Fixed lv_conf_sifli.h to make LV_USE_THEME_DEFAULT and LV_USE_LVSF mutually exclusive (9729848)
  • vglite: Fixed fail to create vglite semaphore (e5ec934)
  • jpeg_codec: Force to alloc buf from SRAM for JPEG linear memory in SOLUTION (5eae1f1)
  • freetype: Decouple Freetype's macro switch from LVGL (2f2c5a2)
  • dhara: Copy the block data if correctable ecc error happens (c55b781)
  • lwip: Changed POSIX socket I/O names and set FD offset (965d55e)
  • at: Added command control table and execution engine (20c4595)
  • opus: Updated audio memory allocation macro guards (9991f75)
  • webrtc: Improve header guards for bluetooth and audio memory (b0377f3)
  • metrics_collector: Updated configurations and improve system robustness (f0e8b19)
  • data_service: Ensure ble_nvds section is put in PSRAM with GCC building (bb7ea3f)
  • cpu_profiler: Handle memory allocation failure in metrics collection (594feb8)
  • pm: Added function to get current run mode (93e4c53)
  • pm: Added BLE and APP scenario for scenario PM (a98fea8)
  • freetype: Support larger glyphs in small bitmap cache (908beda)
  • ffmpeg: Add RAM resource support (96cc455)
  • webclient: Expose webclient_connect and webclient_clean as public APIs (b3ff546)
  • mbedtls: Make boot MBedTLS mutually exclusive with MBedTLS228 (7107759)
  • cjson: Added cJSON_DeleteChar API (4bddb10)
  • tinymp3: Add guard for MIN and MAX macros (fca59c9)
  • vglite: Updated vglite driver to 4.0.127 (6520db1)
  • mbedtls: Enable CBC mode support (97f546f)(820a169)
  • mbedtls_228: Add DigiCert Global Root G2 certificate (2bac953)
  • pm: Changed pm_debug command for pm debug (9bf83c2)
  • ipc_queue: Move ipc_queue.h from common include folder to its own folder (089746d)
  • data_service: Not enable mbox thread by default for sf32lb52 (fb790f0)
  • lwip: Disable tls_malloc/tls_free registration for now as it's conflicted with tls_config.h (0e1c394)
  • acpu_ctrl: Supports to start multi ACPU task (4de0166)
  • systemview: Update SystemView to be compatible with lvgl v9 (3335ffe)
  • lvsf_v9: Added ezipa support, add lvsf ezipa obj. (a355274)
  • dfu: Added pingpong OTA support for 52x bootloader. (c212ae3)
  • systemview: Support SystemView log transfer via UART (d0ee39c)
  • audio: Update PA delay to 200ms (64ba464)
  • opus: Update code (ea5d148)
  • lwip: Increased due to the need for WPA add LWIP_NUM_NETIF_CLIENT_DATA and LWIP_NETIF_EXT_STATUS_CALLBACK configuration (28853b7)
  • pm: Added set_idle_mode interface (06bcbbd)
  • acpu: Respond to unknown ACPU task id (d5d8f06)
  • flashdb: Added fdb_tsl_append_with_ts (sync with FalshDB new version) (d4ae618)
  • fatfs: Upgrade fatfs to 0.14 to support utf8 (bdc0f4a)
  • flashdb: Support SD/MMC and SPI MSD device partition (0bf5c1a)
  • flashdb: Declare fal_mtd_msd_device_create as static (2ed2a01)
  • flashdb: Upgrade to 2.1.1 except commit:72a7905 (0c447b0)
  • button: Support custom button name for service registration (6f0d92c)

Added

  • audio: Added anyka speech algo support (034be7d)(592ca99)(8bf307f)(056ac78)(a9f7d0f)(372a2dc)
  • flac: Added flac lib (7e8137b)(a93e88b)
  • dfu: Added support of eMMC (cd6a912)
  • lvsf: Added gui_widget lib (a78a5c3)
  • audio: Added i2s modem support (ed28406)
  • audio: Added libogg support (e59388f)
  • crypto: Added cyrto module to support AES-CMAC algorithm (1c7ed3b)
  • audio: Added xiaozhi with hfp (bd3e7b7)
  • dfu_pan: Added DFU_PAN (a898ad6)
  • battery_calculator: Added battery_calculator component (5bc7d39)
  • lvgl: Added the CONFIG_ prefix to macro definitions that do not have it. (518170b)
  • ffmpeg: Added https URL support (bb4b658)
  • lvsf_v9: Added sequence frame widget (1bedbce)
  • faad2: Added faad2 to support AAC decoding (f77dfe2)
  • wpa_supplicant: Added wpa_supplicant for WiFi (c553223)(e8dc97b)
  • coredump: Added coredump feature (326bf2e)
  • dfu: Added support for ota example on 55x (1b9a16b)
  • micropython: Added micropython module (76192f3)
  • cherryusb: Add cherryusb (886959a)

Bluetooth

Fixed

  • bt: Resolved an issue where the BT connection manager failed to correctly determine the maximum link count when the configured max link number exceeded 2
  • ble: Fixed connection index error within the serial transceiver client
  • Corrected incorrect PHY option definitions
  • bt: Fixed incorrect role assignment when establishing HFP connections in the BT connection manager
  • bt: Addressed a memory leak occurring in the PAN module
  • bt: Fixed 52X revision B issues related to multi-link and 2SCO
  • bt: Fixed A2DP connection setup always fail in some corner cases
  • ble: Fixed a bug in serial transmission under multi-connection scenarios
  • Fixed multiple MUX ID bugs in RFCOMM
  • bt: Synced LCPU patch for sf32lb52x and sf32lb56x
  • ble: Fixed ble connection cfm auth error
  • bt: Fixed typo by replacing mis-use of callHeldStatus with callSetupStatus
  • ble: Fixed ad type flags set error
  • ble: Changed rw timer to soft time
  • bt: Fixed hf feature about multi connect
  • bt: Fix bug about lwip timer not restart
  • ble: Fixed the error of bass profile to handle level notify.
  • bt: Fixed the parameter error in sco cfm event of HFP AG profile.
  • bt: Fixed read BT rssi always return invalid value.
  • ble: Fixed that gatt service registerred multi times if tran_service register more than one time.
  • ble: Fixed a bug that tran_client could not handle data length more than MTU.
  • bt: Fixed BT ACL is stuck if highest 8 bits of addr.lap is not NULL.
  • bt: Fixed a HFP AG profile connection collision bug.
  • bt: Fixed a bug that HID may not reconnect if disconnected due to abnormal disconnection.
  • ble: Fixed a bug that ke_malloc encountered assert due to using extra memory pool.

Changed

  • ble: Optimized the gatt service change logic of the BLE connection manager
  • bt: Renamed header file bluetooth/include/config.h to bt_config.h
  • bt: Adjusted SCO retry attempts from a maximum of 2 times to 1 time, to prevent conflicts across multiple links
  • Added return value validation for NVDS service subscription operations
  • bt: Optimized PBAP public APIs
  • bt: Optimized AVRCP get element APIs
  • ble: Optimized GATT service change behavior to prevent some phones from behaving abnormally in certain corner cases
  • bt: Optimized AAC/SBC decoding process
  • bt: Unified BR/EDR output power to 10dBm for 56x no-signal test
  • bt: Synced 52x and 56x RF driver
  • bt: Fixed 56x BIS audio stuttering issue
  • ble: Added some GATT cmp message process
  • bt: Supported two sbc/aac decoders
  • bt: Optimize bt_connection_manager to spilit with turn key solution.
  • common: Optimize 48M calibration for product verification.
  • common: Enable secure connection in host.

Added

  • bt: Implemented AVRCP cover art support
  • ble: Added multi-link capability for HID profiles
  • Supported phone book notification function in PBAP
  • bt: Extended audio cache to support 32-bit ring buffer
  • bt: Added HFP relay function
  • bt: Added two connections support for HFP
  • bt: Added two simultaneous A2DP connections with mixed CODECs (SBC/AAC) support
  • ble: Support Find My profile (The user must have obtained authorization from Apple)
  • bt: Added additional AT commands support for HFP
  • bt: Added cover art feature support for AVRCP
  • bt: Added AVRCP multi-connection function
  • bt: Added API for role switch
  • ble: Added ble tx power service
  • bt: Added passkey and pincode pair mode
  • ble: Added BLE_GAP_SET_PHY_CNF message
  • ble: Added read remote feature finsh command
  • ble: Added a way to set primary phy for ble advertising
  • bt: Added RF hopping test
  • bt: HFP AG role support multi connection.
  • bt: Added new API bt_interface_rd_extend_feature() and event BT_NOTIFY_COMMON_RD_EXT_FEATURE_RSP to get remote extended feature.
  • ble: Add new event SIBLES_ATT_ERROR_EVENT_IND to indicate gatt error.

RTOS

Fixed

  • log: Fixed crash when pause log (992ce73)
  • log: Avoid output log when log is paused (e1d2bb6)
  • libc: Fixed the conflict of the EINVAL/EIO macro definitions in the AC6 compiler, which caused compilation failure (b320774)
  • libc: RTC device is only searched for when the time value is needed (bf73683)
  • log: Fixed rt_kprintf Inf/NaN float issue (cfb0e1c)
  • debug: Fixed call stack not shown correctly after assertion if building using GCC (c11a1cb)
  • timer: Fixed Sync with RTT:fixed timer ASSERT exception due to multithreaded scheduling (f3bfece)
  • alarm: Fixed one-shot alarm failed to start when reused. (4a1b690)
  • alarm: Fixed alarm lost after pmu reboot (285c4e5)
  • dlmodule: Flush cache after module is loaded (bedb8b6)
  • dlmodule: Fixed module is not found by dlopen as full path is used for lookup (a8cdc6c)
  • log: Fixed ulog crash(mutex assert because interrupt is disabled) (538b99f)
  • finsh: Fixed simulator build error by enabling FINSH_USING_MSH_ONLY by default (6164397)
  • entry: Clean DCache for GCC build after scatter loading (ee1d9e2)
  • Fixed build error with Keil 5.39 by enabling FINSH_USING_MSH_ONLY by default (2d33acf)

Changed

  • libc: Added timezone support to fix local time zone of watch v8 (e265926)
  • mem: Record memory trace information in rt_realloc and rt_calloc (db156e3)
  • memheap: Added helper functions to query system heap information (b556c97)
  • mem: Added rt_mem_available_size to query free heap memory (b0954a1)
  • mem: Changed rt_mem_header to rt_mem_is_sysheap (5c201c7)
  • mem: Record memory trace information in rt_calloc (57a7086)
  • mem: Use magic constants for memory block status (f45f607)
  • memheap: Changed cache line alignment for DMA-capable heaps (ce32451)
  • ulog: Support dynamic allocation and memory retention (dbf0b4b)
  • dfs: Added fast seek support for ELM FAT filesystem (f8fba3c)
  • finsh: Optimize msh command exporting and execution stack usage (74511bf)
  • libc: Added POSIX-like system types and unistd function implementations (a80718c)
  • llt_mme: Changed support for custom long-lifetime memheap implementation (0db8f66)
  • libc: Fixed O_DIRECTORY and O_BINARY definitions for DLMODULE (b877e44)
  • debug: Disable interrupt context check for WIN32 (4d4febf)
  • Fixed INIT_EXPORT macro definition to include sublevel argument (5e4a916)
  • debug: Move Dcache cleaning to start of exception and fatal error handlers (eccde9b)
  • Increase default main thread priority to reduce startup time (cec88b6)
  • debug: Added choice to select different assert print info (c89b058)
  • thread: Init struct rt_thread to avoid random data when variable is not initialized to zero (2608156)
  • scheduler: Added RT_SCHEDULER_LOCK_DEBUG option to debug rt_enter_critical/rt_exit_critical mismatch issue (bafacd5)
  • scheduler: Add API rt_interrupt_nest_clear to clear irq context flag (78b750c)
  • memheap: Added memheap dump API (17d3b30)
  • mem: Added smallheap dump API (21eab0f)
  • mem: Changed next and prev field in struct heap_mem to struct heap_mem * for simplicity (a549952)
  • dfs: Added ftruncate API (8f68c34)
  • dfs: Implement sys_dup for file descriptor duplication (fcf563d)
  • ulog: Delete obsolete assert_context_be as it's replaced by coredump (4f1acb0)
  • dfs: Modify the return value of dfs_ramfs_write. (96e9030)
  • dfs: Added support for exFAT file systems; mkfs will automatically enable exFAT for file systems larger than Threashold. (a0a9114)
  • dlmodule: Some modification for dlmodule. (f550719)
  • ulog: ULOG_USING_ISR_LOG on by default. (9e822b0)

Added

  • memheap2: Added memheap2 (4df9531)

Examples

Fixed

  • rt_device/i2s: Fixed data transmission error on sf32lb56-lcd board (402e698)
  • multimedia/lvgl/watch_v9: Fixed Keil link.sct for eh-lb551_hcpu and eh-lb555_hcpu (4f4b5a4)
  • multimedia/lvgl/watch_v9: Fixed the issue where the background zooming animation for the dial on the SF32LB55X platform is only executed once. (bba49cd)
  • rt_device/spi_tf: Modify the file system root starting from sector 8 (0d4ca83)
  • multimedia/lvgl/watch_v9: Increase the scaling limit for 55x (72a33a7)
  • pm/coremark: Move flash sleep function to RAM. (9bc70e9)
  • rt_device/i2s: Move audprc recording and i2s rx error (82f23ef)
  • misc/button: Fixed button not work on board eh-lb551 and eh-lb555 (2a47e11)
  • rt_device/pwm: Fixed no waveform output issue in PWM example (0b989c5)
  • misc/elm_rw: Fixed the failure when running on the NAND board (9367b8a)
  • rt_device/audprc: Fixed the issue where the audprc routine failed to record using the rx device (c45648d)
  • rt_device/emmc: Fixed the issue of mounting the file system fail as sd0 device was used before it was registered. (b170a55)
  • ble/hid: Fixed debouncing for the 55 button (active low) (daf54e6)
  • pm/coremark: Fixed the issue where 52x boards using built-in storage cannot release PIN_RET and thus exhibit abnormal startup after shutdown. (67aaffb)
  • hal/adc: Optimizate hal adc example for 52x letter series chip's ADC calibration anomaly (b416575)
  • multimedia/audio/record: Fixed the problem of acceleration in the nor board's playback (9a1a1d0)
  • multimedia/audio/record: Remove record gain (3041835)
  • multimedia/audio/record: Fixed play time bug (c8ab3cf)
  • rt_device/i2s: Fixed i2s example (ed39457)
  • bt/pan: Fix bug about pan delete link key (67b43c9)

Changed

  • multimedia/lvgl/ezip_v9: Optimize SD card backend handling (67d2733)
  • multimeda/audio/record: Use memory buffer for record playback (1753457)
  • multimedia/audio/opus: Updated to use ACPU control framework (04a32af)
  • multimedia/lvgl/lvgl_v9_examples: Added the decoding of jpg files of the IMAGE_SRC_VARIABLE type (e8d6878)
  • rt_device/usb/usb_host: Changed the USB host application to add a file system mount (ebcb7b5)
  • rt_device/gpu/render_list_mode: Draw an EZIP image in render-list mode example (2253212)
  • storage/fatfs: The file system routines have been added with read and write speed measurement capabilities (b7add6e)
  • bootloader/butterflmicro: Fixed flash_config read fail when boot device is connected to MPI1 on 52x (195cc6b)
  • bootloader/sf32lb58x_v2: The bootloader of 58x supports eMMC boot. (0c92277)
  • bootloader/butterflmicro: Reduce sd-nand boot time by multi-block read and using DMA (0c7c769)
  • bootloader/sf32lb56x_v2: Add the boot path for sd2 to the bootloader of the 56 series (1e7dcf2)
  • bootloader/sf32lb56x_v2: Fixed the issue where the bootloader of the 56 sd2 board freezes when using dfu mode (d68218b)
  • bt/hfp: Changed hfp example project setting to webrtc (0dfe591)

Added

  • multimedia/lvgl/multilingual: Added multilingual v8 & v9 examples (6c8c75f)
  • hal/can: Added CAN example (e67e36d)
  • hal/spi/dma: Added an example to use SPI in dma mode (72b3322)
  • system/coredump: Added coredump example (8525ad3)
  • mp3online: Added mp3 example (e79e923)
  • multimedia/lvgl/ezip: Added ezip example. (88bb58e)
  • hal/efuse: Added efuse example (a963e31)
  • hal/i2c: Added i2c slave example (b0e6846)
  • multimedia/agif: Added AGIF example (482632c)(5979bb8)
  • pm/jdi: Added JDI screen low-power example (c72f4e5)
  • pm/raise_wrist: Added wrist-lifting example (7cce09a)
  • rt_device/motor: Added encoder motor drive example (5d6993e)
  • ble/diss: Added the ble diss example (5bc9bf0)
  • ble/tip_cts: Added the ble tip_cts (bf1f023)
  • misc/adc_button: Added adc_button example (7760829)
  • multimedia/vlgl/lvgl_tools_example/NXP_GUI_guider: Added the NXP gui_guider routine (b4bd2df)
  • multimedia/vlgl/lvgl_tools_example/Square_Line: Added the Squareline routine (cc50fad)
  • multimedia/vlgl/lvgl_tools_example/eez_studio: Added the eez_studio routine (af593db)
  • hal/nnacc: Added hal_nnacc example (bd275fd)
  • rt_device/nnacc: Added rt_device nnacc example (bd275fd)
  • vglite: Added vglite example (cf1c409)
  • hal/facc: Added facc example (3c4d0b1)
  • multimedia/lvgl/watch_v9: Added watch_v9 (8fa1710)
  • storage/littlefs: Added LittleFs example (579529e)
  • hal/fft/simple: Added simple fft example (4c54b3d)
  • get-started/dualcore: Added dualcore example (80803bf)
  • misc/generate_lib: Added example for generating lib and docs (36867b2)
  • multimedia/lvgl/mp3_sd_player: Added SD card to play MP3 example (393a445)
  • pm/gui_pm: Added a low-power routine that uses the gui_app_pm interface to enter sleep mode when the sleep conditions are met. (20733af)
  • pm/amoled: Added AMOLED pm_example (debfe8b)
  • pm/gpio: Added Periodic reading of the power consumption of GPIO (81bf05a)
  • ble/cscpc: Added ble cscpc example (7040cfb)
  • ble/basc: Added ble basc example (126086c)
  • ble/hrpc: Added ble hrpc example (ec1e256)
  • ble/cppc: Added ble cppc example (4d59122)
  • dlmodule: Added dlmodule example. (1890e4b)
  • system/cpu_usage_profiler: Added cpu_usage_profiler example (39fa4d2)
  • rt_device/sensor: Added sensor example (3f33c8a)
  • hal/epic: Added epic example (eae6700)
  • rt_device/wifi: Add wifi example (6a55876)(9800ec5)
  • multimdedia/audio/opus: Added opus example (5e6f3e0)
  • rt_device/spi/circular_rx: Added SPI DMA rx circular mode example (10ade4e)
  • multimedia/audio/mixer: Add 3 audio stream mixer example (5002156)

Tools

Fixed

  • menuconfig: Fixed chip-specific and board-specific proj.conf is not saved in minimal way (a614c2c)
  • build: Fixed CPPDEFINES is not actually added in environment of child project (c11edb4)
  • tools: Fixed abnormal log printing and improved display. (7ec2006)
  • build: Skip pc simulator boot images (927821f)
  • build: Fixed VS2107 project generation fail (70ba477)
  • build: Fixed build error in Windows if child project has nested child project (6b92c25)
  • build: Fixed environment is not created correclty if SConstruct.py is present for child project (73d1135)
  • mkfatimg: Fixed execution error on Ubuntu 20.24 with glibc 2.31 (4f6adf9)
  • flash: Fixed 58 nor flash Keil download algorithm (a506451)
  • build: Fixed incorrect CPPDEFINES in generated keil project (b07e3e0)
  • build: Fixed build error if LIBPATH is not defined or empty (213cc50)
  • build: Fixed build error on Windows if there's Chinese character in rtconfig.h (1d47d13)
  • build: Only downgrade POSIX version to 199309L when using pthreads (70a3220)
  • build: Fixed Keil toolchain is not available by subprocess in env (dc033b8)
  • build: Fixed build error if both RT_USING_PTHREADS and RT_USING_LIBC are enabled (c385ca5)(5fb0f06)
  • build: Fixed HCPU child project build error if C++ is enabled (734b369)
  • build: Fixed build error if ptab.json is empty (5648fe8)
  • build: Fixed misuse of CCFLAGS (1b1116b)
  • UartburnEx: Fixed nor flash id error by updating UartburnEx to v1.5 (2a29af8)
  • ImgDownUart: Fixed emmc download fail (75b5523)
  • build: Fixed keil project generation fail (7f1e95e)
  • build: Fixed an issue where you sometimes needed to run export twice. (09d43f8)
  • build: Fixed generated cppdefines.txt (28cbcb5)
  • menuconfig: Fixed configuration shown by menuconfig is inconsistent with .config generated by kconfig during compiling (86df1eb)
  • dfu: Fixed dfu tool issue (92e1044)
  • tool: Fix save coredump fail if LCPU is not released (bda252b)

Changed

  • menuconfig: Changed the original menuconfig and rename to menuconfig_legacy to avoid misuse (5b01202)
  • set_env: Updated env dependency to 1.2.0 (3722261)
  • uart_download: Add 58x_nand_type1 and 58x_sd_type1 support (e23174e)
  • flash: Add 58x jlink driver for flash4 type1 (0a8d2f1)
  • set_env: Add SIFLI_SDK_VERSION env variable to support sf-pkg install (0aefad4)
  • build: Print build log of each file in the same line to reduce build logs (6d7af18)
  • build: Updated optimization level handling in SifliGccEnv function (09d78da)
  • AssertDump: Delete AssertDumpUart and put new version in tools/AssertDump (1680e28)
  • build: Add codebase index JSON export support (670232c)
  • UsartServer: Updated to v3.0 (9b86a51)
  • SifliTrace: Updated sifliTrace to 2.3.2 (87ca755)
  • FsrwTool: Updated FsrwTool to v1.9 (a2964e0)
  • flash: Delete unused files of sf32lb56x_sdio project (f2dbe59)
  • mkfatimg: Show not packed file size and disk free space if packing fail (a9fa2c3)
  • set_env: Use GCC as default toolchain (9cca46c)
  • secureboot: No need to set output file name when signing image (daf3dd9)
  • crash_dump_analyser: Changed 56x PSRAM2 address in load_hcpu_UI.cmm (71a1d1d)
  • build: Support 256KB block size (252e7c9)
  • secureboot: Generate cmac signed image (a217fde)
  • secureboot: Sign the image using AES-CMAC (18705da)
  • build: No need to set tags attribute in all regions (aa41dab)
  • build: Disable GCC strict-aliasing to avoid undefined behavior for pointer aliasing (c9290e6)
  • build: Added LINKFLAGS_POST variable to support user-defined link flags (2de3dad)
  • build: Support GCC lib circular dependency (f5ada4b)
  • build: Enable C++ support by default on HCPU (01b473e)
  • build: The optimization board search path can be specified via an environment variable (a9badbf)
  • build: Undefine generated macro to avoid redefinition (a6fc057)
  • build: Don't specify c++ standard to support as many Keil version as possible (dcfdd4f)
  • build: Add CDE support by GCC build (037fedc)
  • build: Combine -mcpu and and -march option to support newer version Keil (2602be3)
  • build: Remove absolute path in generated binary (1a24d69)
  • build: Change Keil used C++ standard to ISO C++ 2020 (5115f0c)
  • build: Prints the error message when an error is reported (5df0148)
  • bin2bmp: Make bin2bmp work on both python3.x and 2.x (9f0d4e3)
  • build: Add string resource generation logic in the original sdk_resource.py and add a script for packaging language packs. (9d55180)
  • build: Added Windows Keil toolchain export (8317c4e)
  • build: Include external peripherals driver from peripherals folder which is in the same folder as BOARD_SEARCH_PATH (fea1216)
  • png2ezip: Supports converting EZIP to PNG (4cd5dac)
  • build: .gif and .png use the same parametersd (9df9ac3)
  • secureboot: Supports files in custom paths and specified output directories (ff7b571)
  • crash_dump_analyser: Added ITCM address and PSRAM CHECKBOX POS in load_lcpu_UI.cmm (f9866b9)
  • build: Changed Ezip.exe output target to build directly (1505b2c)
  • build: Improve uart_download speed by skipping the same blocks (5d9c24a)
  • mkfatimg: Updated tool mkfatimg for linux and macOS to be compatible with fatfs 0.14 (75399e6)
  • bin2bmp: Support uppercase color format (c5ac4e1)
  • flash: Added the uart flashing driver for the SF32LB58 SD_TYPE1 (b1efa69)
  • build: Added BinFile Builder (3a79a60)
  • install: When encountering version mismatches, prioritize the lower version. (17fb7ad)
  • build: Compile and add the json file used to generate the sftool (6870301)
  • build: Return child project env. (0e8453d)
  • flash: Updated the JLink download driver for the 56 series to support SD2 (047d1d4)
  • flash: Added the JLink flashing driver for the SF32LB58 SD1_TYPE1 (28a5fad)
  • flash: Add J-Link device support for SF32LB58X_SD_TYPE1 (20079ad)
  • install: refactor install/export flow and remove legacy bootstrap (8259175)

Added

  • tools: Added windows build skill for claude code (36f1d1b)
  • impeller: Added Impeller v3.6.3 (6df3869)
  • sifli_eq: Added SiFli_EQ v1.1.5 (41d62a0)
  • sifl_rftool: Added sifli_rftool v1.5 (f174822)
  • BurnDriverEx: Added BurnDriverEx v1.5 (efff86e)
  • ImgStamp: Added ImgStamp v1.2 (2a0cb21)
  • build: Added a memory usage analysis script that is automatically executed at the end of the build. (08e7cec)
  • ptab: Add ptab v3 support (bfa00e4)
  • sf-pkg: Added sf-pkg command for sifli package management (b6e9977)
  • rt-pkg: Added rt-pkg command for rt-thread package management (07f97ce)
  • sdk.py: Added sdk.py to call subcommand, such as menuconfig (87e3f40)
  • flash: Added Compile the CMSIS Flash Loader using GCC (af6362a)

BSP

Fixed

  • board: Fixed no-os project build error on board sf32lb52-lchspi-ulp (2550a39)
  • board: Turn on the key1 configuration of eh-lb555 (f732ff6)
  • board: Fixed KEY1 config in lcpu board.conf of some boards (82b5382)
  • board: Fixed the missing macro definitions (ed7b122)
  • board: Fixed missing HCPU_FLASH_CODE tag needed by DFU (92b9974)
  • board: Fixed charger interface config error of board sf32lb52-lchspi-ulp (ce088f2)
  • board: Fixed dfu-related areas in ptab of 58-lcd board (f87d41d)
  • board: Fixed DFU_DOWNLOAD_REGION area in board sf32lb52-lchspi-ulp partition (31b615b)
  • board: Fixed dfu area in 58-lcd board (e139c52)
  • board: Fixed wifi related config for board sf32lb58-core_n16r32n1 (8ae4c62)
  • board: Increase the size of the eh-lb551 dfu area (9c616e3)
  • board: Fixed dfu region of board eh-lb555 is not large enough (da2bc9a)
  • board: Fixed dfu region of board eh-lb551 is not large enough (a9c4679)
  • board: If the SPI_tf function is enabled on the lchspi-ulp board, the 3V3 power supply will not be turned off. (4d759c4)
  • board: Fixed LED pin config error of 56-lcd board (45b8964)
  • board: Fixed RTC device in 56-lcd board config (d9d536b)
  • board: Fixed wrong partition of board 58-lcd_n16r32n1_a1_dsi (5f1b5c0)
  • board: Support the mounting of the file system on the sf32lb58-lcd_a128r32n1_dsi board (0f24582)
  • board: Fixed filesystem not working on board sf32lb58-lcd_a128r32n1_a1_dsi (fc2f22d)
  • board: Fixed JLINK_DEVICE of board sf32lb58-lcd_a128r32n1_dsi (8e6ede9)
  • board: Fixed PA and specify control pin of sf32lb58-lcd board (b26ad23)
  • board: Correct the pin configuration of the TF card to fix leakage and reduce card init time (113daee)
  • board: Correct the I2C pin configuration of the sf32lb52-lchspi-ulp to fix the I2C error issue. (5a0c203)
  • board: Change 52-lchspi-ulp PA44 to nopull,fix VBUS_DET not work (b7e7898)
  • board: Fixed board sf32lb52-lchspi-ulp button not work when battery voltage is low (5a8fae6)
  • board: No need to enable NON_OTP as external NOR Flash is available (1903161)
  • board: Fixed board 52-lcd_a128r16 config error (140aaa2)
  • board: Fixed lcpu console port config error of board 58-lcd_a128r32n1, 58-lcd_n16r32n1 and 58-lcd_n16r64n4 (0c79f36)
  • board: Fixed QADSPI LCD interface is not configured correctly on board 58-lcd (fd0851f)
  • mmc56x3: Fixed MMC56x3_ReadData Internal Buffer Error (ba5e2ca)
  • sifli_charge: Fixed wild pointer bugs and clean up redundant code in sifli_charge.c (c3dad20)
  • rgbled: Fixed DMA transfer error (d4f7036)
  • sht30: Changed a bug in the Sht30 driver. (3e5bf5b)

Changed

  • board: Changed board sf32lb56-wlan_core_a128r12n1 and sf32lb56-wlan_core_n16r12n1 (55e5eae)
  • board: Updated sf32lb52-core_e8r16 layout (3e035eb)
  • board: Add low-power functionality and modify the default configuration of pins of board 56-wlan-core (b60a095)
  • board: Config uart2 pinmux if enabled on board eh-lb52x (8ff03a8)
  • common: Added API BSP_Flash4_PowerUp to support flash4 connecting to different pins (9de3cf4)
  • board: Delete some duplicate boards (d22e4c9)
  • board: Upgrade boards to ptab v3 (95bfb7d)
  • board: Changed the activation of charge to the board configuration section. (6de8b5b)
  • board: Modify the sf32lb52-lchspi-ulp_base board configuration (d648e24)
  • board: Add the JDI screen to the 52-core board. (a05e860)
  • board: Increase the flash frequency of some 52 series boards (4a6ee1e)
  • board: Updated sf32lb52-lcd_base to support MPI2 and SDIO1 switch function (a74cb1d)
  • board: Enable Windows simulator by default on board pc (b61cce7)
  • board: Added new electronic paper display (00ee346)
  • board: Added Key1 configuration of the LB586DevKit-LCD on the LCPU (6db49fb)
  • common: Changed GCC syscall stubs for no-OS configurations to eliminate warnings (8ebcb42)(c37e9c6)
  • charger: Add EOC current setting and make i2c interface configurable (d8adf05)
  • encoder: Add control interface (eb2b1a0)
  • charger: Added simple_charge for the boards without a charger chip driver (76ae4af)(3f429d0)
  • boards: Fixed the wrong configuraton of PA04, PA17 and PA18 when using DPI display on board sf32lb56-lcd (238c83c)
  • board: Fixed PWMx to PWMTy (y=x-1) according to new naming rule (ba7e626)
  • rgbled: Changed multiple RGB lights (b980703)(08bba08)
  • board: The pinmux should be initialized to emulation mode when the CherryUSB protocol stack is enabled. (dd63523)

Added

  • board: Added sf32lb52-core series board (0275228)(f3f341a)(852754c)
  • board: Added sf32lb52-lcd_a128r16 board (4c9d475)
  • board: Added sf32lb52-nano series board (f663fbf)
  • board: Added sf32lb52-wlan-core_n16r16 board (a7009dc)
  • board: Added sf32lb56-wlan-core series board (b2de2c1)
  • board: Added sf32lb58-core series board (cd481fa)(63d516c)
  • board: Added sf32lb58-lcd board using A1 chip (624876a)
  • board: Added board sf32lb58-lcd_n16r32n1_qspi and sf32lb58-lcd_a128r32n1_qspi which use qspi display as default display (933a509)
  • board: Added board sf32lb58-lcd_e4r32n1_dsi to support application booting from eMMC (530ca4f)
  • board: Added the sf32lb55-lcd_n16r4n4 board (aa7257e)
  • board: Added board eh-lb523_dual which supports dual flash (0ce4af7)
  • board: Added ec-lb587_a2 udinh 58 A2 chip (be3c59e)
  • board: Add charge chip initialization on board sf32lb52-lchspi-ulp (9e0069b)
  • nor: Added user-defined nor flash confisguration support (65c1e45)
  • nand: Added user-defined nand flash configuration support (ab13b2c)
  • aw32001: Added the charging chip driver (AW32001) for sf32lb52-lchspi-ulp (72f52fe)
  • driver: Added co5300 (6687dfa)
  • sht30: Added SHT30 driver and RT-Thread package (1f19470)
  • aht20: Added the AHT20 temperature and humidity sensor driver (ec8ea4f)
  • boards: Added sf32lb52-lcd_n16r8_jdi board (4293ebb)
  • IO: Added lchspi_ulp IO mode (0657a66)
  • JDI: Optimize JDI driver (e11f159)
  • touch: Not enable touch irq data service by default (94b280d)
  • display: Allow user to use the LCD modules defined within their own projects. (4c5eeeb)
  • display: Remove unsupported LCD driver (76d8c8d)
  • co5300: Updated registers (#128) (b72ec22)
  • swt6621s: Added swt6621s WiFi driver (37eaed2)(44ed86c)(be0f9c7)

Docs

Fixed

Changed

  • docs: Changed plugin links and documentation links (63a0002)
  • startup flow: Improve the documentation of the application startup process. (b3b10b5)
  • pm: Improve the low-power consumption development guide (0f74de2)
  • flash: Add dual flash description for sf32lb52 series (907d3b5)
  • Fixed 52, 55, 56, 58 to the dump document description. (7834841)

Added