Skip to content

Releases: RT-Thread/rt-thread

v5.2.1

30 May 08:02
Compare
Choose a tag to compare
v5.2.1 Pre-release
Pre-release

RT-Thread v5.2.1 Released

Change Log Since v5.2.0 Release

Kernel

  • src/clock: add rt_tick_get_delta function
  • Update include/rtdef.h version to 5.2.1

Components

  • drivers
    • fdt:
      • Fix garble when booting
    • wlan:
      • Fixing comments errors of RT_WLAN_EVT_SCAN_DONE and RT_WLAN_EVT_SCAN_REPORT
    • pcl:
      • Add /proc access in RT-Smart user
    • serial_v2:
      • The handling of dma_ping_buf in the full discard policy is incorrect; details adjusted
      • Allowed blocking reception of data exceeding the RX buffer size, increased timeout duration, added flush command, added command to get buffer data length, fixed data overflow handling logic, optimized stability details, and added more serial_v2 test cases(#10187)
    • audio:
      • Add audio driver test framework
  • lwp
    • Add vDSO support for RISC-V architecture and refactor related components
    • Fix parameter issue when calling the __arch_get_hw_counter function
    • Enhance build script with additional cleanup steps
  • dfs
    • dfs v2:
      • Enable procfs and tempfs in default when using smart; fix LWIP_ROUTE warning issue
  • utilities
    • Rename the group name: LIBADT to Utilities(#10267)
  • finsh
    • Fixed error logging when the list_mutex mutex is not held by any thread
  • fal
    • Add new example for norflash

Libcpu

  • aarch64:
    • Fix Aarch64 architecture runtime issues
    • Fix NORMAL_NOCACHE_MEM attr(#10180)
    • Cleanup undefined rt_hw_mmu_kernel_map_init(#10177)
    • Fix gicv3 mpidr table(#9284)
  • riscv:
    • Declare external symbols inside
    • Add ultrarisc ur-cp100 core support(#10338)

Tools

  • Fix scons --target=cmake command failure(#10276)
  • Fixed the issue where RT-Studio could not import the BSP(#10290)
  • Fixed missing unique files creation and cache logic
  • Fixed an error by running scons --tartget=cmake under LINUX(#10164)
  • Fix mannual trigger to create dist zip file

Action

  • Replace the judgment file modification mechanism of bsp_building(#10314)
  • Show the PR status for Pull request
  • Cancel the filtering rules for the MAINTAINER file
  • Optimize the logic for generating comments for the maintainer robot
  • Fixed the abnormal operation of ci files(#10259)
  • Ci script assigns PR reviews based on the list of maintainers(#9913)
  • Fixed the parameter passing issue in bsp_buildings(#10254)
  • Add qemu-pre-build-and-post-build for RT_SMART build (#10203)
  • Aeparated BSPs to be compiled, and compiled corresponding BSPs based on modified files.(#10159)
  • Integrated all outputs into a single package.(#10136)
  • Upload compilation results to GitHub after each build.(#10135)

Documents

  • doxygen
    • Re-org module groups (#10197)
    • Cleanup and re-org files

BSP

  • Some driver issues have been resolved and some driver support has been added
  • Approve the master branch slimming process, reducing the main compartment size by approximately 1G.
  • Added some new BSPs
    • STM32:
      • STM32f103-keysking
    • Infineon:
      • XMC7100D-F144K4160AA
    • ultrarisc
      • DP1000-EVB

RT-Thread v5.2.0 released

19 Mar 10:21
Compare
Choose a tag to compare

Change Log Since v5.1.0 Release

Kernel

  • include/rtatomic.h: set RT_USING_STDC_ATOMIC to first priority
  • src/clock.c: rt_tick setting arbitrary value function is added to support low-power wake-up tick compensation
  • src/timer:
    • add all soft timer config (#9048)
    • Merge the functions of rt_timer_check and _soft_timer_check (#8884)
  • src/kservise:
    • Enhance support for backtrace service (#9037)
    • optimize console_device(#9767)
  • src:
    • add CPU/thread usage tracing config (#8947)

    • src/Kconfig: separate klibc Kconfig, format Kconfig, update src/Kconfig, add RT_USING_CI_ACTION

  • Remove redundant memset & unlock in smp
  • Add smp_ipi_call function to call other cpus to work
  • Change size_t to rt_size_t (#9787)
  • Fix kconfig display copywriting error (#9750)
  • Add RT_USING_SMP judgement inside smp_call.h (#9835)
  • Support rt_packed
  • Added rt_interrupt_context* family for nested interrupt handling
  • Suppress unused warnings when DEBUG disabled
  • Specification interrupt nested level variable declaration type
  • Enable "recycling thread" in smart mode to fix bug with thread hanged
  • Remove RT_USING_SCHED_THREAD_CTX for next release
  • smart: User space context optimization
  • Add kerrno.h, kstring.h and kstdio.h
  • driver: smp_call: add non-blocking IPI calling method
  • Fixup memory address reserved and translate in early
  • fix bug of thread exit without releasing mutex & add error check log
  • add memset zero for rt_thread_init
  • support of lockless rt_completion,The new rt_completion implemented by lockless algorithm can improve timer resolution for up to ~12%, compare to sem IPC.(#8887)
  • add rt_hw_cpu_id() wrapper API (#8894)
  • make RT_ASSERT independent of RT_USING_DEUBG
  • add rt_thread_close()
  • fix the issue of abnormal memcheck and memtrace calls when using SLAB.(#8862)
  • Fixup UP irq_spinlock ,add cpu up,add Kconfig option
  • add rt_hw_interrupt_uninstall declare in rthw
  • upgrade RT-Thread version to v5.2.0
  • Add a check for the time slice parameter in the create thread function(#8807)
  • Add subsys init level to facilitate earlier clk initialization
  • Fixed the rt_exit_critical_safe function incorrectly using returns
  • SIGNAL node assignment failure should return an error

Components

  • drivers

    • virtio: fix virtio net rx error(#9170)
    • sensor:
      • Add power detection type(#9410)
      • added sensor device lookup function
      • Synchronizing sensor_v1 changes
      • [sensor_v2] Repair an error occurs when sensor v2 probes a sensor device for the first time
    • fdt:
      • legacy fdt (#9062)
      • Add bootargs select in early(#9411)
      • fixup: add address reverse/translate for DMA/CPU's address
      • fixup: ofw_parse_object fail
      • fixup: DTS version header always v1.0
      • fixup: Increase append child node's ref_count
      • fixup: rt_ofw_foreach_node_by_compatible args
    • tty:
    • serial:
      • skip configure of rt_serial on tty open (#9152)
      • Make serial_v2.c compatible with the DFS_V2 interface (#9153)
      • Add an exception exit mechanism to poll tx.
      • fix_serial_baudrate_set
      • fix compiler error in serial dm (#8927)
      • fix error in getting serial_tty settings (#8953)
      • init dm serial naming framework in a separate phase (#8971)
      • fix when open smart but using msh after run elf file the msh will down
      • Add bypass hook to direct processing char when uart irq coming (#9713)
      • Add bypass testcase in utest (#9713)
      • fixed a minor typo in the comments of dev_serial_v2.c
      • using serial name to name tty
      • introduce hook for tty,improve code quality.
      • fix: code format of serial.c and compile error in aarch64 context_gcc
      • fix posix tty, and add more baudrate (#8683)
    • i2c:
      • merge the software i2c driver(#9886)
      • adjust the timing for I2C initialization
      • add ofw support i2c
    • rtc:
      • Specifies the rtc synchronization function (#9804)
      • Update software and hardware rtc device naming as rtc (#9778)
      • Fix rtc alarm thread parameters issue
      • Make RTC alarm internal thread's attributes configurable
    • hwtimer:
      • Add a user control interface
    • core:
      • Added default values for CPUTIME_TIMER_FREQ in components/drivers/cputime/Kconfig.
      • DFS mount auto by kernel parameters (#8989)
      • Simple NUMA (Non-Uniform Memory Access) (#9000)
      • Support simple power domain API (#9005)
      • Add IDA init in runtime
      • check available in stub probe
      • Fix the issue where creating a device using rt_device_create fails when attempting to delete it using rt_device_destroy(#9379)
    • wlan:
      • Add get_info api for more new sta information (#9837)
      • Add ap_get_info api for more ap information (#9867)
      • fixed a duplicate issue with the wifi scan command
      • add the wlan join scan function
    • usb
      • refactor(drivers/usb):replace rtt usb stack with cherryusb (#8799)
      • cherryusb fix USBD_IRQHandler argument
      • update(cherryusb) to v1.4.3
    • common
      • Organize the Kconfig in components/drivers(#9054)
      • Replace spinlock static init by RT_DEFINE_SPINLOCK
    • led
      • Rename LED register/unregister
    • pin
      • Reset the value of PIN_NONE
    • spi
      • Fix potential abnormal operations.
      • Fixed the issue where spi configure would be executed twice (#9972)
      • Fixup device rename by chip_select
      • Make CS pin config fixed in system (#9977)
      • Unified software SPI configuration
      • dev_spi_flash_sfud: fix: set message.parent.next to NULL for qspi_read API
      • fix: set message.parent.next to NULL for rt_qspi_send_then_recv API and rt_qspi_send API
      • Fixed an issue that caused spi bus deadlock in the spi configuration
      • Add -RT_EBUSY return value for rt_spi_bus_configure and mutex protection
      • soft_spi_pin_init loop variable is initialized to 0
      • spi device driver framework adds pin init function function
    • thermal
      • Remove unused code in update poll
      • fixup coefficients's offset lost
    • can:
      • Fix possible memory overflow caused by RX
      • close can irq before release fifo
      • fix can warning in 64bit cpu (#8772)
      • fix compile warning in 64 bits arch cpu (#8739)
    • sdio:
      • fix a bug that read members in non-existent functions
      • fix an issue where repeated remove of card resulted in assertions
      • Fix the issue where ART-PI smart cannot read partitions on SD/EMMC.(#9058)
      • add HS400 support to mmc driver
      • port to the block
    • ofw:
      • fix initrd scan err
      • add cromfs start with bootargs cmd
      • fix ofw_alias_scan() bug (#8908)
      • Fixup irq parse map and map mask (#8992)
      • Support ID map interface (#8994)
      • io ranges use list to storage without ofw data (#8993)
      • Delete redundant strcasecmp function (#9779)
      • Fix when printf 0 addr by %p will return nil (#9741)
      • add pci
      • Fixed fdt_scan_memory() memory adjustment bug (#8853)
      • fix some uninitialize err (#8806)
      • fix pin ofw variable init.
    • misc:
      • Fix the calculation error in ADC voltage conversion.
      • random should copy size bytes of data to buffer (#9012)
      • fix pwm driver warnings
      • Fix potential return value discre...
Read more

RT-Thread v5.1.0 released

22 Apr 06:50
Compare
Choose a tag to compare

Change log since v5.0.2 release:

Kernel

  • kservice: Use C89 format to avoid warnings; Fix start address misalignment issue; Remove malloc scheduler lock, fix incorrect use of memheap lock; Add MT-safe console support
  • rtdef: Add rt_always_inline operation function
  • cpu: Optimize CPU scheduler
  • thread: Remove thread reference count
  • rthw: Add rt_hw_interrupt_uninstall declaration
  • Add hooks for malloc service; Support hook lists (add multiple hooks in a single hook node)
  • Optimize system scheduler; Improve rt_vsnprintf
  • Prohibit nested blocking IPC interfaces such as free, malloc inside spinlock
  • Rename RT_DEBUGING_INIT to RT_DEBUGING_AUTO_INIT
  • Define standard spinlock to require scheduler to be disabled, all external spinlocks use disable/enable scheduler mode
  • Add RT_USING_NANO macro, support BSP one-click switch to Nano version
  • Add functionality to release mutex locks when deleting threads
  • Add support for controlling configuration of rt_sem to set the maximum value of semaphore
  • Add RV64 RTOS kernel backtrace support; Add ARM64, RV64 implementations
  • Add thread creation function time slice parameter check
  • Add scons compilation to display project space usage information (#8697)
  • Add abstract layer of scheduler (rt_sched), optimize SMP performance (#8537)
  • Fix SMP mode software timer repeated triggering issue
  • Fix rt_slist_for_each_entry macro cannot traverse elements in slist linked list normally issue
  • Fix thread cannot be reclaimed error; Fix deadlock issue of repeatedly obtaining spinlock in SMP mode rt_timer timer check and timer start
  • Fix software timer sleep issue; Fix idle_hook_list not locked issue; Fix thread exit system function possible issue
  • Fix issue of only being able to schedule two threads with the same priority
  • Fix data race issue of accessing percpu object data; Fix rt_exit_critical_safe function error return issue
  • Fix SIGNAL node allocation failure return error issue

Component

  • Drivers
    • core: Adapt and optimize new device driver model; Fix issue where some device drivers could not enter the probe function after registration
    • usb: rt_size_t follows UNIX style, changed to rt_ssize_t
    • virtio: qemu-virt64-aarch64 / qemu-virt64-riscv support SDL2
    • i2c: Add generic software simulation I2C; Add device tree support
    • spi: Fix qspi configuration not taking effect issue
    • sdio: Add rt_mmcsd_fops_flush(block_dev) function
    • rtc: Fix rt_soft_rtc_sync function warning issue caused by using deprecated declaration method
    • clk: Add clk driver framework, preparing for full use of device tree
    • pwm: Add console secondary command completion feature
    • can: Optimize can close order (#8780)
    • serial: Add tty name allocation mechanism when using dm, support more baud rates; Add tty related hook functions; Add serial framework device tree support; Fix serial_v2 memory leak issue; Fix virtual serial port data can only be successfully sent once issue
    • pic: Add pic-gic support
    • pinctrl: Add pinctrl/pin-irqchip support
    • hwtimer: Improve Cortex®-a, ARMv8 driver
  • DFS
    • Add exfat configuration;
    • dfs_v1: Fix assertion bug caused by FATFS file system using cat command
    • dfs_v2:
      • Update Smart kernel to default dfsv2; Update elmfat version from r14b to r15
      • Support O_DIRECT and O_SYNC flags
      • Fix dfs_dentry_lookup resolving file path issue
      • Fix dfs_tmpfs_write error; Fix dfs_v2 dfs_romfs_getdents buffer overflow issue
      • Fix potential heap buffer overflow issue in dfs_v2 dfs_file
      • Fix transfer fd under dfs_v2, dentry or vnode not existing issue; Fix lwp_free timer recovery call issue
      • Fix permissions issue in elm; Fix page cache issue; Fix unmounted mqueue issue
      • Add dfs pwrite pread (#8672); Add ptyfs support (#8672)
      • Add symbolic link, regular file management and other features (#8672)
      • Add sys_utimensat function; Add cromfs symbolic link (#8132)
      • Add cromfs mmap support (#8218)
  • Libc
    • Fix difftime function multiple definitions issue in MDK compilation environment
    • Fix data race issue in shared counter ID list; Fix compatibility issue of ctime.c file with old drivers
    • Fix macro redefinition issue in eventfd due to toolchain update
    • Fix logic error in posix thread local storage search for posix thread handle
    • Fix issue of adding legacy macros when unable to get IAR version
    • Improve gcc picolibc; Further optimize epoll and timerfd
    • Add RT_USING_INTERNAL_LIBC_ONLY macro; Add GCC generic atomic operation functionality (#8648)
  • LWP
    • Add sys_setitimer function
    • Replace lwp_new function with lwp_create; Replace irq disable/enable code in futex; Replace off_t with size_t in lwp_syscall.c
    • Fix CPU affinity setting issue; Fix rt_channel internal lock issue; Fix pid recycling issue; Fix init process signal protection flag setting (#8797)
    • Enable automatic selection of LDSO and pcache options by default after enabling smart/lwp options
    • Update AF_UNIX bind and connect entry, update AF_UNIX data structure sockaddr_un to standard structure
  • MM
    • Add reserved memory support; Add rt_aspace_mremap_range function implementation
    • Fix issue of using released memory in aspace_traversal; Fix issue of page_install function on shadow region
  • Net
    • Fix wifi scan command duplication issue (#8666)
    • at: Optimize at formatting output to avoid conflicts between multiple at client and server outputs; Optimize AT component, and fix potential memory leak issue
    • lwip: Fix possible deadlock issue under SMP
    • sal: Add ifconfig updown function; Add message quantity limit; Update SAL socket abstraction layer, improve socketpair, sendmsg, recvmsg functionality
  • Finsh
    • Optimize list_thread display; Optimize MSH macro definition
    • Add finsh thread stack size check; Add finsh thread entry hook function
  • FAL
    • Add blocks mechanism for fal, support adding special block definitions
  • MProtect
    • Add MPU abstraction layer design, support ARMv7-M, ARMv8-M architecture
  • Others
    • Synchronize differences in kernel, file system, etc.; Remove vmm
    • Fix -Wmissing-prototypes warning

Libcpu

  • AARCH64: Fix kernel entry symbol; Fix trace information not visible issue under ulog environment; Use device tree to initialize CPU and memory; Improve IRQ disable/enable performance
  • ARM: Add support for Cortex®-M85, Cortex®-R52 architectures; Fix abnormal SMP operation issue in Cortex®-A (#8517)
  • RISC-V: Fix d1s smart build failure issue (#8212)
  • Fix mmap support
  • Support for the overall backtrace framework in the RT-Thread kernel; Added weak implementation of architecture-level backtrace service; Added support for RV64 architecture
  • Standardize the Libcpu group name as libcpu

Tools

  • Support for LLVMEmbeddedToolchainForArm-17.0.1 toolchain
  • Added scons --target=vsc/--pack=xxx command; Added prebuilding operation
  • Fixed rtconfig.h file recognition issue in MPU in scripts
  • rt_studio: Fixed missing {cross_toolchain_flags} field issue when importing bsp projects in rt-studio
  • env: Fixed built-in python2 subprocess issue

action

  • Fixed Doxygen CI issue
  • Added CI monitoring for BSP
  • Added bsp attach check CI

utest

  • Added memory system test cases; Added serial_v2 framework test cases; Added mm test cases; Added scheduler test cases

BSP

  • Improved several bsp driver files; Fixed some issues in bsp
  • RT-Smart support: DFZU2EG MPSoC, cv181x-riscv
  • STM32: STM32 G0, G4, L0, L4 series support one-click switch to RT-Thread Nano version; STM32 Nucleo series added board-level identification macros; STM32 series added Nano version attach config related CI
  • RTduino support: raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, stm32f407-rt-spark
  • Added some new BSP:
    • Adafruit:Metro M4
    • Seeed Studio:Wio-Terminal
    • ST:stm32L431_tencentos、stm32h7s7-disco,stm32f407-lckfb-skystar、stm32h503-st-nucleo
    • Renesas:ek-ra8m1、ek-ra8d1、ra8d1-vision-board
    • AT32:at32f402-start、at32f405-start
    • HT32:ht32f52352、ht32f12366
    • AVR32:at32uc3a0256、at32uc3b0256
    • CVITEK: c906_little、cv18xx_risc-v
    • WCH:yd-ch32v307vct6(risc-v)
    • HC32:ev_hc32f4a0_lqfp176、ev_hc32f460_lqfp100_v2、ev_hc32f448_lqfp80
    • GD32:gd32407v-lckfb
    • NXP:
      • mcxn:frdm-mcxn947
      • mcxa:frdm-mcxa153

Userapps

  • Fixed issue where the timer would not run when the user space retrieves the current time and then retrieves it again in kernel space, resulting in a negative difference
  • Default enabling of epoll/eventfd/signalfd/timerfd/select when using RT-Smart
  • Removed prebuilt versions
  • Fixed setitimer bug, improved FUTEX support
  • Added support for RT-Smart terminal subsystem (#8672)
  • Other updates: ssh, sftp, weston, vim...

RT-Thread v5.0.2 released

08 Oct 03:25
Compare
Choose a tag to compare

Change Log Since v5.0.1 Release

Kernel

  • include/rtdef.h
    • Fixed two issues with atomic volatile in bsp/simulator compiled in VS2019.
    • Added RT_USING_LIBC_ISO_ONLY macro.
    • Supported POSIX-compatible errno.
  • src/kservice.c
    • Improved rt_strerror function compatibility.
  • Supported DM device id management; Supported multiple threads receiving the same event at the same time.
  • No longer used RT_DEBUG_LOG in rtdebug.h.
  • Tidied up debug macros and added RT DEBUGING CONTEXT.
  • Fixed User mode MQ receive blocking issue.
  • Added priority to message queues supported in POSIX interfaces.
  • Removed recursion in mutex; Removed RT_DEBUG_xxx macros.
  • Implemented default weak function for rt_hw_cpu_shutdown.

Components

  • drivers
    • sensor: Fixed an error in Sensor-V1 where the return type was inconsistent; Re-implemented sensor framework as Sensor-V2.
    • fdt: Added the device tree child node search macro.
    • tty: Fixed a bug on foreground app switch; Supported TCGETA/TCSETAF/TCSETAW/TCSETA commands.
    • serial: Fixed an issue where the serial port sometimes sent carriage returns repeatedly.
    • Supported the Core API for dd2.0.
    • i2c: Optimized control interface format to add available commands.
    • rtc: Reconfigurable clock framework; Fixed the bug that triggered the alarm for a single time and repeatedly used the timer that did not start.
    • hwtimer: Overflow is invalid in oneshot mode.
    • core: Revised the macros of header files.
    • wlan: Fixed some variables not used warnings when building.
    • Moved the core header files to the path: include/drivers/core.
  • lwp
    • Executed elf with added executable permissions check.
    • Supported more features of signals from IEEE Std 1003.1-2017.
    • Fixed possible memory leak; Fixed the setup of fake LWP in sys_execve; Fixed socket addr bug; Fixed waitpid function exception.
    • Fixed bugs on LWP kill; Fixed exit(2) and added exit_group(2); Fixed rt_memcpy to lwp_memcpy in smart source; Fixed cmd_kill (Fix cmd_kill).
    • Added fops for dfs_v2 and fixed warning for eventfd_write and eventfd_read after dfs_v1 changes.
    • Cumulative updates of lwip and lwp.
  • libc
    • Updated the allocation mode of the libc timer id.
    • Added signalfd for system call, Added eventfd for system call.
    • Implemented lightweight timezone configuration.
    • Renamed libc.c as posix/stdio.c.
    • Optimized the epoll code to remove restrictions on descriptors.
    • Adapted rt_channel, increased the generality of some rt_channel functionality on dfs v2, and standardized signalfd.
  • dfs
    • Fixed variable usage errors in dfs elm.c.
    • Connected the posix mqueue pair to the file system fd.
    • Modified some function prototypes of the dfs_file_ops structure and function declarations.
    • Fixed fcntl(F_SETFL) bug, and modified the error code when opening a file failed.
    • Cumulative repair of dfs changes, including forced uninstallation and pread/pwrite changes.
    • dfs v2: Added cromfs function.
  • utilities
    • Supported ulog_async_output_enabled, Supported adt API for DM.
    • Removed zmodem.
  • mm
    • Improved output of list_page.
    • Added unmap page API.
  • net
    • sal/socket: Fixed a BUG where calling closesocket interface triggered assertions when RT_DEBUG is enabled; Fixed duplicate free on allocated buffer.
    • sal: Fixed the IPv4 & v6 compiling issue.
  • ktime
    • Added RT_USING_KTIME to Kconfig build.
    • Fixed some bugs with ktime.
    • Optimized the performance of high-precision timer, deleted a useless function.
    • Change the Ktime path to: components/drivers/ktime.
  • sdio
    • Enabled the eMMC internal cache to speed up transmission.
  • finsh
    • Added msh autocomplete suboption feature.

Drivers Device

  • Prepared for device driver v2.0.

Libcpu

  • aarch64: Fixed default core binding failure on GICv2; Fixed aarch64 SMP startup failure; Supported hardware atomic; Fixed up FPU storage's size in stack and appended Q16 ~ Q31; Fixed HW atomic_t ops type from dword to qword; Supported public linker scripts; Changed aarch64 trap backtrace & coredump priority rating; Fixed an issue where AARCH64 Qemu failed to compile when SMP was disabled.
  • arm: Fixed IAR compilation warnings: function "__LDREX" declared implicitly; Modified start_gcc.S; Fixed race condition with ldrex, strex; Fixed header file circular reference issue.
  • arc: Fixed the thread switching bug in the arc architecture.
  • sim: Fixed an issue with inconsistent function definitions.
  • Added ARCH_ARM_CORTEX_M23 macro definitions.

Tools

  • Fixed .uvoptx/uvopt project name.
  • Supported Env for finsh shell.
  • Removed --dist-strip command.
  • Corrected prompt message.

Action

  • Added CI to compile more drivers for the changed BSP, Added pkgs-test; Added the manual trigger and fail BSP check; Added more config for manual trigger.
  • Added manual triggers for all STM32, Added the exp_STM32 SCons.
  • Added the repo check for self-use; Added the code_owner review request; Added paths-ignore for format and static check.
  • Fixed the path the YAML can't be folded; Fixed the flag of dist.
  • Used env install script.

Documents

  • Added RT-Thread Code of Conduct; Added ktime readme doc; Added env vscode document.
  • Fixed a typo in documentation.
  • Updated env document, Updated qemu for windows doc; Updated quick_start_qemu_windows.

Utest

  • Adding volatile solves the problem that the test fails when the optimization level is high.
  • Changed the thread size of the thread_tc thread stack to avoid stack anomalies caused by 64-bit machines; Changed the size of the thread stack to avoid stack anomalies.
  • Added the signal dependency in signal test.

BSP

  • Added some new BSPs
    • ST: imx6ull, stm32u585-iot02a, stm32f405zgtx, stm32h563-st-nucleo, stm32h563-st-nucleo, stm32f407-rt-spark
    • SOPHGO: cv1800b
    • TI: msp432e401y-LaunchPad
  • Supported Open Firmware API and model of PIC.
  • Fixed MM32 compilation issues.
  • stm32
    • stm32/stm32u5: Fixed GPIO interrupt error.

    • stm32/stm32l476-nucleo: Supported timer7 for RTduino; Supported PWM switch to SPI.

    • stm32/stm32wl55-st-nucleo: Fixed SCons compilation failure, improved link file, removed hardware floating-point support.

    • stm32/stm32f407-rt-spark: Release of the first version of rt-spark BSP; Added rt-spark to run utest link snippets under GCC.

    • stm32/stm32f401nucleo/rtduino: Supported function switching of docking pins.

    • stm32/stm32l431-BearPi: Supported the MPU6050 module.

    • stm32/rtduino: Supported tone timers and limited the maximum number of pins checked; Supported function switching of docking pins; Fixed a demo bug and modified the SPI switch function.

    • stm32/i2c driver: Replaced stm32_udelay with rt_hw_us_delay.

    • stm32/build path: Example Modified the STM32 project generation path.

  • qemu
    • qemu-virt64-aarch64: Fixed qemu failed to mount elm file system.
  • airm2m
    • airm2m/air32f103: Synchronized lib changes, including SRAM locking, fixing RTC acquisition frequency errors; Updated the pin num command.
  • wch
    • wch/riscv/ch32v307v: Added _head_end for link file.
    • wch/riscv/ch32v208w: Fixed C++ compiling errors.
    • wch/risc-v/Libraries/ch32_drivers: Fixed UART IRQ declaration.
  • imxrt
    • imxrt/imxrt1060-nxp-evk: Solved the adaptation problem of RW007 module in MIMXRT1062-EVKB board; Imxrt1060 fix wrong image reference.
    • imxrt/imxrt1021-nxp-evk: Fixed RT_ASSERT undefined RT1021 FIXED.
  • renesas
    • renesas/sdhi driver: Fixed an issue where SDHI could only read the first block when attempting multiple block reads.
    • Fixed part of renesas BSP and added related CI to it; Fixed an issue where Renesas BSP compilation would not pass.
    • Added hwtimer device for renesas.
  • acm32
    • acm32/acm32f0x0-nucleo: Fixed scons --dist command error.
    • Fixed some issues with acm32 BSP and added CI to it.
  • bouffalo_lab
    • bouffalo_lab/bl808/d0: Added bl808 d0 core SPI and I2C drivers.
  • nuvoton
    • nuvoton/numaker-m467hj: Fixed related LVGL version issues.
  • Infineon
    • Infineon/psoc6-evaluationkit-062S2: Added I2C config for psoc6-evaluationkit; Fixed i2c init error; Added cyw43012 wifi module; Added BT support.
  • esp32_c3
    • Realized scons compilation of ESP32-C3.
  • raspberry-pico:
    • Added software simulation SPI and software simulation I2C driver code.
    • Optimized Kconfig configuration.
    • Improve UART driver.
    • Add flowcontrol and parity settings.
  • phytium
    • phytium/aarch32/e2000d_rtthread: Phytium e2000 update.
    • Fixed the Phytium QSPI driver.
  • hpmicro
    • Three new BSPS are added: hpm6750evk2, hpm6300evk, and hpm6200evk.
  • gd32
    • gd32/arm/gd32470z-lckfb: Add SDRAM driver.
  • nuclei
    • nuclei/gd32vf103_rvstar: Add USB-related configuration headers.

Userapps

  • Added support for user mode updates in MicroPython, sdl2, lua, ffmpeg.

RT-Thread v5.0.1 released

21 Jun 14:54
Compare
Choose a tag to compare

Change log since v5.0.0 released

Kernel

  • Add stdc atomic detection. (#7536)
  • Add API rt_hw_interrupt_is_disabled. (#7706)
  • Add API to get object name and thread name (#7507)
  • Add AMP rt_hw_cpu_id and RT_USING_SMP Macro decoupling,rt_hw_ipi_send depend on RT_USING_AMP
  • Fix device_open oflag comparison error. (#7512)
  • Fix thread.c variable rt_err not initialized timer.c type conversion error in iar
  • Fix and add null pointer check
  • Fix Avoid repeated calls device_open interface. (#7476)
  • Modify rt_thread change the structure to explicit inheritance rt_object (#7131)

Components

  • DFS

    • Add dfs-v2.0
    • Fix potential Memory leak problems(#7378)
    • Fix tmpfs spinlock error. (#7216),nfs 64bit arch fault
  • Libc

    • Support rt-thread CPP wrapper sub-switch macros, external third pary libc software package, picolibc heap
    • Optimize resource consumption
    • Modify redirecting header sys/ioctl to bits/ioctl, improve posix interface message queue
    • Modify if define cputime, then CLOCK_REALTIME use cputime (#7343)
  • LWP

    • Add more syscall support.
    • Support file descriptor transmit (#7318)
  • Support for scalable memory management (#7277)

    • Fix lwp _load_script. (#7405)
    • Modify rt_err_t change to sysret_t in the lwp_syscall (#7374)
    • Modify when fork Child process, lwp_struct_copy function adds copy working_directory function (# 7380)
  • Network

    • Add more hook functions
    • Fix ping timeout calculation bug(#7545),ipv6 compatibility issues(#7339)
    • Fix next-hop finding in lwip_ip4_route_src. (#7504)
    • Modify use the interface to set the default netdev
    • optimize at_vprintfln and network related Kconfig
  • Other

    • Fix Finsh offset used before range check
    • Support for scalable memory management (#7277)

Drivers Device

  • Fix cpu timer in multithreading (#7222),dtb compiling warning.
  • Optimize the spi transfer speed and fix some issues
  • Modify the ADC channel data type and add the built-in channel universal channel number identification
  • Modify convert the current sensor framework back to v1 version and make it independent of v2 (# 7698)
  • Modify changing tty's driver to a device and fixing multiple scanfs resulted in data loss issues

Libcpu

add debug info for gdb

  • arm: Optimize interrupt mode API,Fix atomic_arm.c
  • aarch64: Optimize interrupt mode API,Decoupling startup process,Add no device tree mode in PSCI,Fix cache invalidate operation (#7363)
  • risc-v:add ioremap for c906
  • mips:Fix variable misuse

Tools

  • Add feature to filter out files to file_check.py that do not require cppcheck (#7499)- Add --add-rtconfig args for scons when you want to add macro definitions build time.
  • Support llvm-arm 16.0; Add llvm-arm workflows.
  • Fix cannot select c99 and gnu choice in Keil-MDK
  • Fix the deque issue for Env['CPPDEFINES'] (#7541)
  • Modify move file_check.py into ci folder

action

  • Refactoring and optimizing the execution process of ci and adding manual triggers and cppcheck checks for scons dist

utest

  • Add UtestTcTab section access under MSC and change access under gcc
  • Fix strtol,the sizeof incorrect calculation,the issue of thread test case looping at high optimization levels,file open close mismatch

bsp

fix mismatched function types in rt_pin_ops for all drv_gpio.c

  • Add some new BSPs
    • apm32: apm32e103ze-evalboard apm32e103ze-tinyboard apm32f030r8-miniboard
    • at32: at32f423-start
    • essemi: es32vf2264
    • imxrt: imxrt1061-forlinx-OK1061-S
    • renesas: ra6m3-hmi-board
    • stm32: stm32f334-st-nucleo stm32l496-st-discovery
    • yichip: yc3122-pos
    • bouffalo_lab: bl808/d0
  • Add RTduino support for some bsps
  • Update some stm32 BSP drivers: timer, uart v2, pwm, adc
  • Update BSP
    • Add kconfig for some BSPs without kconfig
    • fix mismatched function types in rt_pin_ops for all drv_gpio.c (#7457)
    • stm32: Fixed some issues, added and improved some drivers
    • Renesas: Fixed some issues, added and improved some drivers
    • Infineon:Fix drv_gpio and spi problem,psoc6 add drv sdcard (#7522),update: READ.me use path of relative (#7500), fix spi chipselect
    • simulator:sync upstream win32 driver (#7165), Fix Linux support
    • airm2m/air32f103: update AIR32F10xLib (#7472)
    • allwinner: update allwinnter libraries object file path (#7482)
    • apm32: add can driver and add apm32e1/s1 rtt driver support (#7170)
    • at32 : add support dac driver,update for perfection of drv_usart_v2 (#7210),fixed some
    • bouffalo_lab : add sdcard spi driver drv_i2c drv_soft_i2c hwtimer & flash driver support,update bouffalo_lab libraries && script, sdio host driver, uart driver pin && bl808-d0 ioremap mode
    • essemi: Update es32vf2264 some library functions and drivers
    • fujitsu: BSP support menuconfig
    • gd32: Add PWM driver for GD32F303
    • imxrt: Update to support Keil AC6, add link script files, improve SPI support, improve SPI support for RW007, and improve documentation
    • LPC4088: Increase support for IAR environment (# 7611)
    • lpc55sxx: update keil default project,update drv_soft_i2c drv_soft_spi drv_adc drv_wdt,add adaptation LVGL drv_lcd and drv_touch
    • raspberry-pico: add drv_soft_spi drv_adc drv_wdt drv_soft_i2c
    • rk3568:Support PSCI, amp mode

Userapps

  • Using xmake to build a system to replace the original scons
  • Built in Toolchain, zlib and other software packages
  • Can automatically generate images such as ext4 and fat
  • Supports multiple architectures such as arm aarch64 riscv64
  • Add built in QEMU runtime environment

RT-Thread v5.0.0 Released

31 Mar 13:47
897ba36
Compare
Choose a tag to compare

Change log since v4.1.1 released

kernel

  • Add RT-Thread Smart features, Support user-mode app.
  • Add atomic feature.
  • Add nested mutex feature.
  • Add rt_ssize_t data structure.
  • Add static name for rt_object (#6422).
  • Adopt new version macro definition version control specification: https://semver.org
  • Split scheduler.c (#7103).
  • Fix the Oz optimization problem of AC6 compiler in memheap.
  • Fix rt_memset to be word size independent.
  • Modify RT_ALIGN_SIZE as 8 by default

Components

  • Add FDT(Flattened Device Tree), TMPFS, CRomFS,
  • Libc:
    • add musl libc support.
    • Improve Posix support.
  • LWP:
    • Add more syscall support.
    • Add mm(virtual memory management layer) feature.
    • Improve clock accuracy.
  • Network: add AF_UNIX feature.
  • Drivers Device:
    • Improve device: sensor, spi, i2c, serial, can, usb, cpu_time, sdio, pwm, etc.

BSP

  • Add RT-Thread Smart support with some BSP: D1/D1s, raspberry, qemu-vexpress-a9, qemu-virt64-aarch64,qemu-virt64-riscv.
  • Add company readme.md under bsp dir.
  • Fix that use RT_ERROR, RT_EFULL, RT_ENOMEM, RT_EEMPTY, etc.
  • Add some new BSPs:
    • bouffalo_lab: bl60x/bl70x/bl61x/bl808,
    • Infineon: 062s2, 062s3-4343w, 062s4, 062-wifi-bt, 062-ble
    • nuvoton: numaker-iot-m467, numaker-m467hj, numaker-hmi-ma35d1
    • nxp: LPC55S16, LPC55S36, LPC55S06, LPC5528, LPC55S28
    • nrf5xxx: nrf5340
    • gd32: gd32470z-lckfb, GD32303C-START
    • apm32: apm32f030r8-miniboard, apm32f051r8-evalboard, apm32f091vc-miniboard, apm32f103vb-miniboard, apm32f107vc-evalboard, apm32f407zg-evalboard,apm32f072vb-miniboard
    • n32: n32g43xcl-stb, n32g457qel-stb, n32g45xcl-stb, n32g45xml-stb, n32g45xrl-stb, n32g45xvl-stb, n32140xcl-stb, n321436_evb, n32143xml-stb, n32143xrl-stb, n32wb45xl-evb, n32g4frml-stb.
    • mm32: mm32f3270-100ask-pitaya
    • at32: at32f421-start, at32f425-start
    • stm32: stm32f723-st-disco
    • phytium: aarch32, aarch64
    • other: core-v-cv32e40p, air32f103, YS-F1Pro, etc.
  • Update some stm32 BSP drivers: timer, pwm, uart v2, can, etc.
  • Update BSP:
    • qemu-vexpress-a9: play the version number of QEMU when QEMU running.
    • tms320f28379d: fix the startup problem, implement PWM driver.
    • simulator: fix simulator compilation warnings, fix compile error.
    • raspberry-pico: add SMP
    • synopsys: Fix timer call-backs, Fix print syntax, Fix GNU toolchain RTT_CC alias, Use RTT_EXEC_PATH for the toolchain location substitution.
    • ti/c28x: add support to not disable global interrupt in context-switch to enable zero-latency isr for critical interrupts, add GPIO & pwm & ADC driver, update rt_vsnprintf for compliance with ti c28x cpus,add support to scons-based .project creation.
    • stm32: update all bsp projects.
    • renesas: add segger rtt function, add tft-lcd lvgl support, add ra6m4-cpk lvgl for spi-lcd support and update rt_spi_bus_attach_device_cspin function, add tft-lcd pin connection description, and fix some bugs, etc.
    • Infineon: add capsense support, add Infineon Doc and modify file structure, update spi driver, add slider driver demo, fix spi cs problem, etc.
    • nuvoton: modify RT_WEAK as rt_weak, fix building issue of Nuvoton porting, etc.
    • nxp: imxrt1170 Fix usb, Fix flexcan driver, add sdio support. lpc55s69 update PWM. lpc55sxx i2c driver fix & repair, add i2s and wm8904 driver, update spi and pwm driver. etc.
    • nrf5xxx: add spi twi drv for nrf5340, fix the Kconfig of nrf52832, etc.
    • gd32: fix bug on spi driver
    • apm32: fix apm32f0/apm32f1 gcc startup assembly file bug and fix apm32 drv_eth.c bug, add apm32F0 series MCU support, add apm32 rtt sdio/flash/sdram driver. etc.
    • at32: fixed gcc compiling usb driver errors, update for including file position and adding macros, optimize emac and usart driver code, add support usb driver. etc.
    • esp32: ESP32_C3 fix compile errors/warnings, igrate to ESP-IDF package, add I2C drivers. ESP32 support applying patch to local IDF. etc.
    • ch32: add rt_hw_context_switch_interrupt. ch32v307 add uart/spi/adc/gpio/wdt/dac/can/pwm drivers, update readme. etc.

Libcpu

  • arm: cortex-a revert safety MMU initialization, cortex-m7 change the return type of function rt_hw_cpu_dcache_ops to rt_uint32_t, etc.
  • risc-v: support noncached normal memory, add rt_backtrace function, etc.
  • aarch64: add rt_backtrace function, stop when no page is free.

Tools

  • Improved ci function
  • Add some scons cmds: scons --exec-path=xxx, scons --exec-prefix=, scons --dist --target=xxx, scons --strict, scons --dist --project-path=xxxx, etc.

RT-Thread v4.1.1 released

22 Aug 02:31
aab2428
Compare
Choose a tag to compare

Change log since v4.1.0 released

Kernel

  • rtdef.h
    • Add BGR888 pixel format
    • be friendly to macro expansion
  • add 64bit default value for stack size
  • set tick HZ as 1000 by default
  • enhanced rt_kprintf to support "long long" type
  • use RT_KSERVICE_USING_STDLIB_MEMXXX to replace RT_KSERVICE_USING_STDLIB_MEMCP/MEMSET
  • RT_KSERVICE_USING_STDLIB is open by default
  • ipc
    • Add descriptions for rt_mq_recv and rt_sem_take timeout parameters
    • fix parameter name
  • enable RT_DEBUG_DEVICE by default and move weak rt_hw_dealy_us in kservice.c
  • Updated the Cortex-A of linker scripts for the new version of GCC, Removed C++ global constructor initialization, this method is not used in GCC4.7 and later versions
  • remove the register keyword
  • rename _rt_scheduler_stack_check as _scheduler_stack_check
  • update comments for rt_thread_suspend
  • fix comment for rt_container_of
  • fixed bug of timer
  • remove the executable permission of thread.c
  • remove strnlen function
  • add NULL check for rt_free and rt_free_align
  • suuport perf_counter
  • tighten size before check with mem_size_aligned
  • Add string information for error
  • fix a problem about finsh_set_prompt redefined msh command
  • Unify the data type and macro definition of kernel built-in and standard LIBC library
  • add macro RT_VERSION_CHECK to implement version check
  • fix the style for "rt_hw_us_delay" function
  • fix the time slice logic for schedule.c

Components

  • driver
    • Detailed classification of devices types
    • Update device type definition and command definition
    • ioctl add F_SETFL cmd
    • fix a problem that eliminate recursion
    • fix som compilation warning
  • driver/serial_v2
    • add support for "termios"
    • add hardware flow control support
    • fixed bug for RT_SERIAL_TX_BLOCKING model
    • add rt_assert for serial_v2
  • driver/sensor
    • Add blood pressure sensor type
    • Add RT_SENSOR_VENDOR_MELEXIS in sensor.h
    • Add RT_SENSOR_VENDOR_MELEXIS in sensor_cmd.c
  • driver/spi
    • remove _spi_bus_device_control
    • Fix rt_qspi_send symbol extension BUG
    • fix issue report #6008 rt_spi_sendrecv8
  • driver/rtc
    • Adjust ops function input parameters
    • Optimize execution efficiency
    • Add get/set timestamp function
    • Enhanced date command
    • fix the parameter check about "time"
    • use gmtime_r to replace gmtime
  • driver/alarm
    • Fix week alarm bug
    • Compact alarm output
    • fix a typo
  • driver/inputcapture
    • add DBG_TAG for rt_inputcapure.c
  • driver/hwtimer
    • add disable interrupt protection for hwtimer_isr function
  • driver/hwcrypto
    • Optimize memory usage
  • driver/sdio
    • Support DDR mode
    • modify the address offset problem for sdio read and write
  • driver/dac
    • fix return value of rt_dac_write function
    • add get resolution method
  • driver/adc
    • add a interface to get sampling resolution
    • add finsh voltage conversion command
    • implement adc_get_vref
  • driver/pwm
    • clean the useless code
    • add finsh pwm function
  • driver/usb
    • fix build error
    • fix stall bug on control transfers
    • add interface to get information about virtual uart connect state
    • fix usbhost hid issues
  • driver/wlan
    • Modify wlan framework
  • driver/phy
    • fix the PHY_FULL_DUPLEX conflicts
  • driver/can
    • Add CANFD support and correct typos
    • Fix can infinite loop when can driver send error
  • driver/hwcrypto
    • Correct function return value definition
  • driver/pin
    • add pin operate command in MSH
  • driver/touch
    • adjust the header file for touch.h
  • libc
    • fix c/c++ compilation warnings and errors
    • improve sconscript
    • fix the sys/select.h problem
    • fix that some function cannot be found in unistd.h
    • Remove definitions that "posix/io" are not in use
    • fix the time bug
    • optimize the handle logic on armcc/armclang
    • fix the compiler error on iar
    • fix dlmodule compile 'SEEK_END' undeclared eror
    • the recycle logic about resource of pthread
    • fix the function pthread_barrier_init return "EINVAL" if "count" is zero.
    • solve the conflicts between libc data types and rtdef data types
    • remove strdup from rtthread.h
    • Fix clock_gettime for CLOCK_CPUTIME_ID
    • solve the libc/timer problem which the os tick can be calculated wrongly because the local variable was not initialized
    • implement extension standard C functions
    • fix the error return
    • modify the complier error in iar
    • use atomic operation to protect pthread conditional variable
    • memory leak when the value of posix semaphore is zero
    • fix a problem that function difftime() compile error in iar environment
    • pthread_mutex_destroy can't work
    • the risk for function exit() when open pthread support
    • supplement the case that exit() haven't been impletement
    • try to fix the problem about "fflush" functions in armlibc
    • use __clang__ to replace __CLANG_ARM
    • solve the compiling error for_sys_ensure
  • ulog
    • Add file backend
    • Optimize unnecessary refresh
  • sfud
    • support NM25Q128EVB, GD25Q32C, SST25VF080B, W25Q32BV, W25X16AV, W25X40CL
    • modify the opeated way to handle a situation that flash blocks protected
    • keep macros in order
  • sal
    • add draft for docking winsock
    • rearrange sal dependencies
    • rename sal.h as sal_low_lvl.h
  • at
    • use pointer that memory had freed
    • implement about "AT server"
  • lwip
    • Support windows simulator
    • add list command
  • finish
    • fix list_device crash
    • Enhance system robustness
    • add available memory information for free cmd
    • add binary search algorithm
    • add new functions to get length of finish cmd
  • fal
    • support fal api for c++
    • modify PKG_USING_FAL to RT_USING_FAL
  • utest
    • add cpp11 base testcase
    • enhance strength about cpp testcase
    • add posix testcase frame
    • add timeslice test
  • ymodem
    • move error codes to rym_code to silence warnings
  • Fix compilation warning

BSP

  • Attention, the list of new bsp we have added :

    • at32f413, at32f415-start, at32f435-start, at32f437-start
    • cypress-psoc6-cy8cproto-4343w
    • ESP32_C3
    • gd32vf103r-start, gd32vf103v-eval
    • hc32f4a0
    • imxrt1021-nxp-evk, imxrt1170-nxp-evk
    • microchip, samc21, same54, same70, saml10
    • n32g45xvl-stb
    • ch32v103r-evt, ch569w-evt, ch32f103c8, ch32f203r-evt
    • rockchip-rk3568
    • stm32f103-100ask-mini, stm32f103-100ask-pro, stm32wle5-yizhilian-lm402
  • lpc55sxx

    • fix issue that dist cannot specify a directory
    • fix building error
  • stm32

    • use weak reference to handle Macro of RTDINO_xxxx
    • add new bsp for STM32WLE5JCI6
    • fix some can and pwm bug
    • select the input clk of spi based on SPI instances
    • fix the bug of can filter conflict
    • add rtc for openmv
    • add ov5640、dcmi、i2c for openmv
    • update ov5640 configuration of openmv
    • update arduino related
    • stm32f072 support Arduino I2C and update readme
    • judge the SPI instances before operating
    • fix the io confict about SDIO and UART6(TX) DMA
    • fix the problem if use uart DMA to receive
    • remove hardware NSS
    • Enable RNG Clock
    • avoid conflict between cmsis5 and bsp cmsis
    • add tim7 support
    • f072, f401 support TIM7/TIM11 hardware timer
    • l475, remove meaningless header file
    • stm32f407, stm32f469 optimize lvgl folder structure about simulator
    • stm32f746, cancel choose lwip and dfs by default
    • remove CMSIS/RTOS folders
    • add RTDUINO_NO_SETUP_LOOP
    • add F_CPU to indicate the frequency of CPU
    • suuport MsTimer2 library
    • add correct the command description for adc, pwm
    • add support for STM32L0 series
    • move CMSIS hearder files to common folder
    • add bootloader.bin, add the description of the bootloader in README.md for stm32h750-art-pi
    • Modify the content of flash algorithms in README.md for stm32h750-art-pi
    • fix stm32f767-st-nucleo console device name
    • create two new bsp for 100ask stm32f103 boards
    • add stm32l496zg feature, add on-chip flash
    • change the bsp name of 100ask to be consistent with other bsp and commit a bug for drv_adc.c
    • add h7 timer support
    • implement soft spi
    • use perf_counter to instead of hwtimer
    • support wireless module pinout for stm32l475
    • Add lvgl adaptation of touch screen xpt2046 for stm32f407-atk
    • Docking lvgl for stm32f469-st-disco bsp using ft6336 touch chip
    • adapt the rtc alarm function
    • optimize pwm functions
    • Adapt RTduino package for stm32f469-st-disco BSP
    • Docking lvgl touch driver using package for stm32f469-st-disco BSP
    • Adapt lvgl for using ft6206 model touch screen for stm32f469-st-disco BSP
    • Fix the configuration of stm32f401's PWM in CubeMX
    • fix the network I/O is confict for stm32f429-atk-apollo
    • fix PWM complementary problem and function description
    • Improve the connection of RTdunio PWM for stm32f401-st-nucleo
    • add a new board f407-robomaster-c and supprot stm32 timer8
    • avoid the "recv_len" will be negative if happend accident
    • add RTdunio for stm32f103-blue-pill
    • stm32l475-atk-pandora update readme, .gitignore
    • update the Kconfig for stm32f407atk
    • remove libraries dependencies for rtduino function
  • wch

    • add ch32v103r-evt bsp
    • add WCH CH569W-R0-1v0 evt board bsp port
    • ch569w-evt : add spi master driver, SPI0 tested
    • add pwm driver and spi_xfer bug fix
  • gd32

    • Add gd32450i-eval board bsp
    • Complete the pins device define
    • firx adc driver
    • bug fixed gpio_mode_set mis...
Read more

RT-Thread v4.1.1 Beta released

16 Aug 11:56
1ba47b7
Compare
Choose a tag to compare
Pre-release

Change log since v4.1.0 released

Kernel

  • rtdef.h
    • Add BGR888 pixel format
    • be friendly to macro expansion
  • add 64bit default value for stack size
  • set tick HZ as 1000 by default
  • enhanced rt_kprintf to support "long long" type
  • use RT_KSERVICE_USING_STDLIB_MEMXXX to replace RT_KSERVICE_USING_STDLIB_MEMCP/MEMSET
  • RT_KSERVICE_USING_STDLIB is open by default
  • ipc
    • Add descriptions for rt_mq_recv and rt_sem_take timeout parameters
    • fix parameter name
  • enable RT_DEBUG_DEVICE by default and move weak rt_hw_dealy_us in kservice.c
  • Updated the Cortex-A of linker scripts for the new version of GCC, Removed C++ global constructor initialization, this method is not used in GCC4.7 and later versions
  • remove the register keyword
  • rename _rt_scheduler_stack_check as _scheduler_stack_check
  • update comments for rt_thread_suspend
  • fix comment for rt_container_of
  • fixed bug of timer
  • remove the executable permission of thread.c
  • remove strnlen function
  • add NULL check for rt_free and rt_free_align
  • suuport perf_counter
  • tighten size before check with mem_size_aligned
  • Add string information for error
  • fix a problem about finsh_set_prompt redefined msh command
  • Unify the data type and macro definition of kernel built-in and standard LIBC library
  • add macro RT_VERSION_CHECK to implement version check
  • fix the style for "rt_hw_us_delay" function
  • fix the time slice logic for schedule.c

Components

  • driver
    • Detailed classification of devices types
    • Update device type definition and command definition
    • ioctl add F_SETFL cmd
    • fix a problem that eliminate recursion
    • fix som compilation warning
  • driver/serial_v2
    • add support for "termios"
    • add hardware flow control support
    • fixed bug for RT_SERIAL_TX_BLOCKING model
    • add rt_assert for serial_v2
  • driver/sensor
    • Add blood pressure sensor type
    • Add RT_SENSOR_VENDOR_MELEXIS in sensor.h
    • Add RT_SENSOR_VENDOR_MELEXIS in sensor_cmd.c
  • driver/spi
    • remove _spi_bus_device_control
    • Fix rt_qspi_send symbol extension BUG
    • fix issue report #6008 rt_spi_sendrecv8
  • driver/rtc
    • Adjust ops function input parameters
    • Optimize execution efficiency
    • Add get/set timestamp function
    • Enhanced date command
    • fix the parameter check about "time"
    • use gmtime_r to replace gmtime
  • driver/alarm
    • Fix week alarm bug
    • Compact alarm output
    • fix a typo
  • driver/inputcapture
    • add DBG_TAG for rt_inputcapure.c
  • driver/hwtimer
    • add disable interrupt protection for hwtimer_isr function
  • driver/hwcrypto
    • Optimize memory usage
  • driver/sdio
    • Support DDR mode
    • modify the address offset problem for sdio read and write
  • driver/dac
    • fix return value of rt_dac_write function
    • add get resolution method
  • driver/adc
    • add a interface to get sampling resolution
    • add finsh voltage conversion command
    • implement adc_get_vref
  • driver/pwm
    • clean the useless code
    • add finsh pwm function
  • driver/usb
    • fix build error
    • fix stall bug on control transfers
    • add interface to get information about virtual uart connect state
    • fix usbhost hid issues
  • driver/wlan
    • Modify wlan framework
  • driver/phy
    • fix the PHY_FULL_DUPLEX conflicts
  • driver/can
    • Add CANFD support and correct typos
    • Fix can infinite loop when can driver send error
  • driver/hwcrypto
    • Correct function return value definition
  • driver/pin
    • add pin operate command in MSH
  • driver/touch
    • adjust the header file for touch.h
  • libc
    • fix c/c++ compilation warnings and errors
    • improve sconscript
    • fix the sys/select.h problem
    • fix that some function cannot be found in unistd.h
    • Remove definitions that "posix/io" are not in use
    • fix the time bug
    • optimize the handle logic on armcc/armclang
    • fix the compiler error on iar
    • fix dlmodule compile 'SEEK_END' undeclared eror
    • the recycle logic about resource of pthread
    • fix the function pthread_barrier_init return "EINVAL" if "count" is zero.
    • solve the conflicts between libc data types and rtdef data types
    • remove strdup from rtthread.h
    • Fix clock_gettime for CLOCK_CPUTIME_ID
    • solve the libc/timer problem which the os tick can be calculated wrongly because the local variable was not initialized
    • implement extension standard C functions
    • fix the error return
    • modify the complier error in iar
    • use atomic operation to protect pthread conditional variable
    • memory leak when the value of posix semaphore is zero
    • fix a problem that function difftime() compile error in iar environment
    • pthread_mutex_destroy can't work
    • the risk for function exit() when open pthread support
    • supplement the case that exit() haven't been impletement
    • try to fix the problem about "fflush" functions in armlibc
    • use __clang__ to replace __CLANG_ARM
  • ulog
    • Add file backend
    • Optimize unnecessary refresh
  • sfud
    • support NM25Q128EVB, GD25Q32C, SST25VF080B, W25Q32BV, W25X16AV, W25X40CL
    • modify the opeated way to handle a situation that flash blocks protected
    • keep macros in order
  • sal
    • add draft for docking winsock
    • rearrange sal dependencies
    • rename sal.h as sal_low_lvl.h
  • at
    • use pointer that memory had freed
    • implement about "AT server"
  • lwip
    • Support windows simulator
    • add list command
  • finish
    • fix list_device crash
    • Enhance system robustness
    • add available memory information for free cmd
    • add binary search algorithm
    • add new functions to get length of finish cmd
  • fal
    • support fal api for c++
  • utest
    • add cpp11 base testcase
    • enhance strength about cpp testcase
    • add posix testcase frame
    • add timeslice test
  • ymodem
    • move error codes to rym_code to silence warnings
  • Fix compilation warning

BSP

  • Attention, the list of new bsp we have added :
    • at32f413, at32f415-start, at32f435-start, at32f437-start
    • cypress-psoc6-cy8cproto-4343w
    • ESP32_C3
    • gd32vf103r-start, gd32vf103v-eval
    • hc32f4a0
    • imxrt1021-nxp-evk, imxrt1170-nxp-evk
    • microchip, samc21, same54, same70, saml10
    • n32g45xvl-stb
    • ch32v103r-evt, ch569w-evt, ch32f103c8, ch32f203r-evt
    • rockchip-rk3568
    • stm32f103-100ask-mini, stm32f103-100ask-pro, stm32wle5-yizhilian-lm402
  • lpc55sxx
    • fix issue that dist cannot specify a directory
    • fix building error
  • stm32
    • use weak reference to handle Macro of RTDINO_xxxx
    • add new bsp for STM32WLE5JCI6
    • fix some can and pwm bug
    • select the input clk of spi based on SPI instances
    • fix the bug of can filter conflict
    • add rtc for openmv
    • add ov5640、dcmi、i2c for openmv
    • update ov5640 configuration of openmv
    • update arduino related
    • stm32f072 support Arduino I2C and update readme
    • judge the SPI instances before operating
    • fix the io confict about SDIO and UART6(TX) DMA
    • fix the problem if use uart DMA to receive
    • remove hardware NSS
    • Enable RNG Clock
    • avoid conflict between cmsis5 and bsp cmsis
    • add tim7 support
    • f072, f401 support TIM7/TIM11 hardware timer
    • l475, remove meaningless header file
    • stm32f407, stm32f469 optimize lvgl folder structure about simulator
    • stm32f746, cancel choose lwip and dfs by default
    • remove CMSIS/RTOS folders
    • add RTDUINO_NO_SETUP_LOOP
    • add F_CPU to indicate the frequency of CPU
    • suuport MsTimer2 library
    • add correct the command description for adc, pwm
    • add support for STM32L0 series
    • move CMSIS hearder files to common folder
    • add bootloader.bin, add the description of the bootloader in README.md for stm32h750-art-pi
    • Modify the content of flash algorithms in README.md for stm32h750-art-pi
    • fix stm32f767-st-nucleo console device name
    • create two new bsp for 100ask stm32f103 boards
    • add stm32l496zg feature, add on-chip flash
    • change the bsp name of 100ask to be consistent with other bsp and commit a bug for drv_adc.c
    • add h7 timer support
    • implement soft spi
    • use perf_counter to instead of hwtimer
    • support wireless module pinout for stm32l475
    • Add lvgl adaptation of touch screen xpt2046 for stm32f407-atk
    • Docking lvgl for stm32f469-st-disco bsp using ft6336 touch chip
    • adapt the rtc alarm function
    • optimize pwm functions
    • Adapt RTduino package for stm32f469-st-disco BSP
    • Docking lvgl touch driver using package for stm32f469-st-disco BSP
    • Adapt lvgl for using ft6206 model touch screen for stm32f469-st-disco BSP
    • Fix the configuration of stm32f401's PWM in CubeMX
    • fix the network I/O is confict for stm32f429-atk-apollo
    • fix PWM complementary problem and function description
    • Improve the connection of RTdunio PWM for stm32f401-st-nucleo
    • add a new board f407-robomaster-c and supprot stm32 timer8
    • avoid the "recv_len" will be negative if happend accident
    • add RTdunio for stm32f103-blue-pill
    • stm32l475-atk-pandora update readme, .gitignore
  • wch
    • add ch32v103r-evt bsp
    • add WCH CH569W-R0-1v0 evt board bsp port
    • ch569w-evt : add spi master driver, SPI0 tested
    • add pwm driver and spi_xfer bug fix
  • gd32
    • Add gd32450i-eval board bsp
    • Complete the pins device define
    • firx adc driver
    • bug fixed gpio_mode_set miss gd32_spi->mosi_pin,gd32_spi->sck_pin
    • fix compile error in rtc: "pmu_backup_write_enable" was not found
    • Optimize GD32 bsp architecture
    • fix a bug about interrupt vetor table lost cause system exception
    • add driver of sdio
    • correct pin number in drv_gpio.c
    • fix compile error if use rtc in gd32 f1~f4
    • fix the defined error that uart I/O
  • simulator
    • improve libc time and MSVC simulator
    • slove the problem of simulator can't attach SD card
    • upgrade SDL2.0 to 2.0.20
    • remove meaningless debug file
    • crea...
Read more

RT-Thread v4.1.0 released

30 Mar 09:13
201bd88
Compare
Choose a tag to compare

Change log since v4.1.0 Beta released

Kernel

  • src/clock.c add hook for rt_tick_increase
  • fix thread init bug if you open RT_USING_MODULE
  • Fixed issue that could all timers stop
  • remove duplicated clear to 0 in the "thread.c"
  • Revert modifications to the semaphore
  • Fix 64 bit compilation warning
  • src/device.c add RT_DEBUG_LOG

Components

  • ulog
    • Optimize code to improve readability
    • remove the useless function declaration about "localtime_r"
    • Optimize "ULOG_OUTPUT_FLOAT" to avoid use "vsnprintf" that provided by complier tools chain
    • solve the interference when enable the ulog timestamp
    • Fixed the issue LOG_HEX no output at asyn mode
  • drivers
    • misc
      • modify the error name in the "dac.c"
    • remove useless head file to avoid problem about recursion
    • add the header file to avoid compiler error
    • Open RT_USING_POSIX_STDIO caused serial_v2 to compile failed
    • add the simulative spi bus drivers that based on spi bus drivers
    • remove the complier warning in C99 about "ipc/ringbuffer.c"
    • improve serial_v2 structure
  • dfs
    • offer complete path when use command "list_fd"
  • libc
    • posix
      • add the included head file
      • add the header file to avoid compiler error
      • add RT_USING_POSIX_SOCKET
    • fix a typo
  • net
    • adjust folder structure
    • lwip
      • integrate lwip porting layer
      • integrate and improve lwipopts.h
      • add lwip latest version
  • utest
    • add dependence RT_USING_UTESTCASES
  • finsh
    • remove extra code
    • fix finsh bug
  • fal
    • add fal component
  • utilities
    • adjust the order of compiler macros
    • var_export
      • replace the search algorithm and fix some problems
  • tidy the folder name and structure about Kconfig

BSP and CPU porting

  • libcpu
    • aarch64
      • rt_hw_trap_irq get irq instead of iar when using gicv2
      • disable irq/fiq when switch thread
      • add gtimer frq set and stack align
      • add gicv3 support
    • mips
      • correct the watch dog register address about "gs232.h"
      • modify the problem that can't feed hardware watch dog
    • arm
      • fix syscall_iar.S compiler error based on cortex-m33
  • essemi
    • fix bugs
  • nuvoton
    • Update configuration files and fix issue
    • Nuvoton drivers updating and more LVGL supporting
    • Update drivers and project setting
    • format code
  • raspberry-pico
    • add Raspberry-Pico-LVGL README.md
  • simulator
    • Optimize the auto initization
  • qemu
    • vexpress-a9
      • Fix a typo in qemu.sh
  • n32g452xx
    • add drv_spi.c
  • at91sam9260
    • add mtdnand driver to support "uffs" file system
  • at32
    • upload bsp package based firmware library v2.0
    • add ingore_format.yml
  • gd32
    • Optimize UART
  • add Soft spi for gd32303e-eval
  • ft32
    • modify the name that head files are included
  • apm32
    • apm32f103xe-minibroard
      • add project and device drivers
      • update readme picture name
    • fix the startup files of apm32f1
  • stm32
    • Add support with pwm6 to pwm13
    • add qspi flash and sdio for openmv h7plus
    • modify the bug that the CRC custom configuration can't work
    • stm32f469-st-disco
      • add readme in english
    • stm32f072-st-nucleo
      • add arduino support
      • support pwm for arduino
    • stm32f407-atk-explorer
      • add board identification word
    • stm32l475-atk-pandora
      • update application/arduino folder
      • enable i2c4 bus
      • fix the bug when using LCD demo
      • fullly support analog output(PWM) and analog input(ADC)
      • support backlight with brightness adjustable
      • Adding dependencies
    • stm32h750-art-pi
      • porting LVGL to ART-Pi with Media-IO
    • stm32f769-st-disco
      • fix wrong CPPDEFINES and close lwip
      • add stm32f7xx_hal_dsi.c when using LTDC/MIPI-DSI
    • stm32h743-openmv-h7plus
      • add usbcdc for openmv
  • imxrt
    • imxrt1060-nxp-evk
      • add imxrt1060-evk BSP
      • README_zh.md, led blink
      • fix gcc can't runing issue
  • vango
    • add v85xxp bsp
    • migrate v85xx and v85xxp into the subcatalog of vango
    • remove duplicated files
  • acm32f0x0-nucleo
    • Add some drivers
  • delete swm320-lq100 bsp
  • add ch579m bsp
  • add air105 bsp
  • add RA series bsp
  • add bsp-ft32
  • migrate acm32f0x0-nucleo and acm32f4xx-nucleo into the subcatalog of acm32
  • migrate at91sam9260 and at91sam9g45 into the subcatalog of at91
  • migrate mb9xxx series into the subcatalog of fujitsu
  • migrate lsxx series into the subcatalog of loongson
  • add rockchip/rk3568 bsp

Documentation

  • move documentation repo to rt-thread repo
  • update documentation
  • Fixed Program Memory Distribution - Basic.md

Tools

  • fix the problem that print 'b' when complier code that after RT-Threadv4.0.3
  • use the relative path to create "CMakefile.txt" when use "scons" command
  • allow users to set specific link scripts
  • update the template for projcfg.ini in rt-studio
  • keil.py Distinguish LOCAL_CFLAGS/LOCAL_CXXFLAGS, refine file control

RT-Thread v4.1.0 Beta released

29 Jan 14:23
Compare
Choose a tag to compare
Pre-release

Change log since v4.0.4

Kernel

  • rt_show_version update the year
  • Improve comments and parameter checking
  • [pm] beautify code
  • remove RT_THREAD_BLOCK
  • remove .init_priority
  • update notes
  • Delete an extra semicolon
  • change all double-empty-lines to single-empty-lines
  • move some __on_rt_xxxxx_hook from rtdef.h to dedicated c soure files
  • [kservice] add RT_KSERVICE_USING_STDLIB_MEMSET、 RT_KSERVICE_USING_STDLIB_MEMCPY
  • [memheap] Fix 64 bit potential risk
  • update Kconfig, add RT_HOOK_USING_FUNC_PTR
  • Improving hooking methods
  • Backward compatible with existing function-pointer based hooking method
  • Using RT_USING_HOOK as an on/off switch
  • Introducing a new low-overhead macro-based hooking method
  • [include/rtthread.h] Add function declarations to avoid compilation warnings
  • ipc init/create add flag judgement
  • Adjust RT_ASSERT and RT_DEBUG_NOT_IN_INTERRUPT to maintain code style
  • Add a new algorithm to find the lowest non-zero bit of a byte
  • Add weak RT_KSERVICE_USING_TINY_FFS definition
  • A simplified version of rt_ffs function
  • Add RT_WEAK for rt_vsnprintf
  • Change the return value type from signed int to int, in accordance with ISO C standards, to prevent compiler errors
  • Fix rt_size_t as rt_uint32_t
  • Cfg cancels rt_kprintf declaration
  • [kservice] add return value's comment
  • Modify rt_size_t's type
  • [timer] Update the RT_TIMER_CTRL_GET_STATE code in rt_timer_control
  • Fix up .bss size define in link.lds and set spsel=1 in aarch64
  • remove duplicate work between idle and thread_exit
  • When memheap memory management is used, rT_malloc 0 returns RT_NULL, consistent with slab and small memory management algorithms.
  • Aligns the address passed in by rt_system_heap_init when using the memheap memory management algorithm
  • Set rt_thread_timeout to a private function
  • Add attribute(...) for rt_kprintf() to let the compiler check the format string parameters
  • Return thread error when resumed by signal

Components

  • libc

    • Clear the POSIX/IO folder
    • Move libdl to posix folder
    • Add the support for PSE51
    • Optimize the nanosleep function
    • Add RT_USING_POSIX_STDIO
    • To deal with compilation problems under win32 platform
    • Remove getline
    • Create 'posix' folder and move related files into it
    • Put getline into posix folder
    • Optimize posix structure in libc
    • Eliminate judgments in code that rely on RT_LIBC_USING_FILEIO
    • Move libc.c/.h to posix folder
    • Remove gettid and other functions that do not comply with PSE51
    • Add RT_USING_POSIX_SELECT RT_USING_POSIX_POLL
    • Add RT_USING_POSIX_DELAY
    • Add RT_USING_POSIX_STDIO
    • Add delay.c as default
    • Select RT_USING_POSIX_STDIO for RT_LIBC_USING_FILEIO
    • Add readme
    • Revert kconfig of pthread
    • Move mmap to src folder
    • Implement delay functions as RT_USING_POSIX_DELAY
    • Fix a bug caused by two different macro encoding methods in fcntl.h
    • Improve IAR and KEIL's read write pile function
    • Memory functions add error warnings when HEAP is not enabled
    • Revise some RT_USING_POSIX to RT_USING_POSIX_DEVIO
    • Add RT_USING_POSIX_FS
    • Separate posix into a Kconfig directory
    • Fix the bug of _sys_read and _sys_write
    • Modify time.h to sys/time.h
    • Add dataqueue.c function annotation
    • Fix armclang Cpp11 memory leak and compilation warning issues
    • Add ipc header files
    • Create the mman folder
  • drivers

    • Rename src folder as ipc
    • Optimize scripts for compiler judgment
    • Add rt_work_urgent
    • Change the time parameter to ticks to prevent misinterpretation of the unit as ms
    • Improve comment
    • [sdio] Fix compile warning and optimized code.
    • Rename rt_workqueue_critical_work as rt_workqueue_urgent_work
    • Fix sensor_cmd.c build error.
    • Cputime support 64bit.
    • Update cputime_cortexm.c support 64bit.
    • Add IPC for POSIX and add pipe for it
    • [components] framework update
    • Add waitqueue.c function annotation
    • Fix compile warning in cdc_vcom.c
  • lwip

    • Improve lwip support for 64-bit architecture
    • Remove lwip 2.0.2
    • Fix ioctl and lwip socket definitions
    • modify annotation for sys_arch_mbox_tryfetch
    • Fix the return value for sys_arch_mbox_fetch in lwip stack
    • Fix dhcpd not including version 2.0.3
    • Define RT_USING_BIG_ENDIAN for the long-term version
    • ping cmd with specified netif in lwip-2.1.2
    • Fix sys_arch.c
    • Solve the conflict between multi BYTE_ORDER(s)
    • Fix the problem of implicit declaration for "lwip_ip4_route_src".
  • dfs

    • Move dfs_posix.h to legacy/dfs/dfs_posix.h
    • Move dfs_posix dfs_poll dfs_select.c to posix folder
    • Remove dfs_select.h and dfs_poll.h
    • Update fatfs to the latest version
    • Saved dfs_poll.h dfs_select.h,add warning log
    • Remove RT_USING_LIBC from dfs_fs.h
    • Move dfs back
  • Shrink pThread to POSIX. Change DFS from POSIX to POSIX from DFS

  • Adjust the SAL dependency

  • Implement legacy support

  • Revise RT_USING_POSIX_STDIO to RT_USING_POSIX_DEVIO

  • Add macro definition restrictions to finsh set Device calls

  • shell

    • Update the list_timer cmd.
    • Update the code format
  • kservice

    • Optimize RT_PRINTF_LONGLONG,reduce duplicate code
    • Simplification RT_PRINTF_PRECISION
    • Fix the problem of rt_strlen crashed in win32
  • [kernel] Collating of Kconfig

  • [ulog] Add ulog backend filter.

  • [posix] Organize IO categories according to advanced Unix environment programming

  • Add creat() function

  • [Ymodem] silent warnings

  • Use rt_memcpy rt_memset instead of memcpy memset

  • Fixed AT component in CLI mode, the command input is too long, resulting in the array out of bounds

  • [example] Remove RT_USING_TC

  • Fix armclang Cpp11 memory leak and compilation warning issues

  • Improve and add comments in examples/network/ including tcpserver.c

BSP and CPU porting

  • [at91sam9260] Fix "rt_interrupt_dispatch" Undefined error

  • Add pulse encoder porting to imxrt1052

  • libcpu

    • Solve the problem of mixing tab and space
    • [arm] Fix thumb instruction set assembly syntax error
    • [aarch64] Add smp support
    • [nuclei] Fix context switch in nuclei
    • Fix s-mode issue
    • [t-head] Fix rt_hw_interrupt_disable/rt_hw_interrupt_enable bug
    • [libcpu] Add ARCH_CPU_BIG_ENDIAN
  • Add and update gd32 bsp

    • gd32103c-eval
    • gd32105c-eval
    • gd32107c-eval
    • gd32303e-eval
    • gd32450z-eval
    • gd32105r-start
    • gd32205r-start
    • gd32305r-start
  • Update n32g452xx

    • Reinit .config based on default setting
    • Regenerate rtconfig.h based on default configuration
    • Reformat code
    • Init update
    • Add rt_pin_get support
    • Add n32g45x can driver
    • Unified header file definition. "GPIO_H__" to "DRV_GPIO_H". "USART_H" to "DRV_USART_H"
    • In drv_pwm.c, variable meaning is different with RT-Thread interface definition. Fixed and tested.
    • Add support for UART4/UART5.
    • In drv_gpio.c Modify "N32F10X_PIN_NUMBERS" to "N32G45X_PIN_NUMBERS"
    • Perfect ADC driver and format code
    • Add ble support
    • Fix formatting issues
    • Remove unnecessary comments
    • Add gpio input nopull
    • rtc add version check
    • n32g452xx direct structure base at32
  • Nuvoton

    • Support LVGLv81 RTT music demo for N9H30 and NUC980.
    • Update drivers
    • [N9H30/NUC980] Update SDH driver
    • Fix SDH_Set_clock function.
    • Correct EMMC, SDH0 and SDH1 options for N9H30.
    • Fix IRQ trap issues.
    • Update porting drivers and configurations.
  • [raspberry-pico] Add lvgl_8.1.0 support

  • simulator

    • Resolves the warning that the "Gm" option was rejected and will be removed in a future release
    • Clear the warning under vs
    • update project
  • [gd32] Repair startup_gd32f30x_cl.s

  • Remove the problematic rtconfig.h

  • [console] Fixed an error when using device without defining RT_USING_DEVICE

  • Use clang instead of __CLANG_ARM

  • Update essemi bsp

    • es32f0654
    • es32f369x
    • es32f365x
  • [nuclei] change hbird_eval bsp to nuclei_fpga_eval

  • The sconscript script in the application folder increases the recursion searching capability

  • [Vango V85xx] modify NULL to RT_NULL

  • fix the compiling issue for qemu-riscv64

  • update K210 bsp and base on https://github.com/kendryte/K210-Micropython-OpenMV

  • [lpc55s69_nxp_evk]

    • Fix the scons --dist
    • Add the fixed gcc version
    • Add the ci machine
  • Correction of 'BSP /Copyright notice.md' errors

  • nrf5x

    • Add the fixed lds
    • Add hwtimer driver
    • Add hwtimer config & tinyusb config
    • Fix i2c driver bug
  • Remove the bsp of nrf51822

  • Add tkm32f499 bsp and flash_download app

  • Remove empty rt_hw_us_delay

  • [at32] Optimized the pin-index algorithm

  • ra6m4

    • Organize the project configuration
    • Add DAC, ADC and SPI drivers
    • Formatting code Style
    • Add Flash Driver
    • Add SPI, Flash, ADC, DAC documentation
    • Add PWM driver
    • Fix incorrect dependency macros in scons scripts
    • Fix bugs in the code
    • Update the error description in the documentation
  • MAX32660-EVK

    • Update pin map instruction
    • Add MAX32660-EVK pin map
    • drv_soft_i2c.c was not in libraries
    • delete drv_soft_i2c.c for it was not be used
  • [bluetrum] add flash support

  • [ra6m4-cpk] add gcc build support.

  • stm32

    • Fix STM32 USB driver matching hal library version
    • stm32h743-openmv-h7plus bsp add sdram for openmv
    • Add tinyusb for stm32 driver
    • Add stm32g474-st-nucleo bsp
    • Add stm32u575-st-nucleo bsp
    • Add stm32l552ze-nucleo bsp
    • [gcc] Fix stack 0 bug, expand stack to 0x400 (same as Keil IAR)
    • Modify variable name p_tm to tm
    • drv_common.c add LOW_E for Error_Handler
    • Add i2c config for stm32l496-st-nucleo bsp
    • For STM32F4 series, CAN is configured according to different ABP1 bus frequencies
    • Improved STM32H7 series SPI driver using DMA
    • Add BSP ART-PI down...
Read more