RT-Thread v4.1.0 Beta released
Pre-releaseChange 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 download algorithm
-
Add lvgl music demo for stm32f469-st-disco bsp.
-
Refresh using dma2d,screen refresh average 25fps for stm32f469-st-disco bsp
-
Add esp8266 configuration option takeover
-
add SOC_SERIES_STM32G0 to use "stm32_wdt.hiwdg.Init.Window = 0x00000FFF", otherwise the watchdog always reset.
-
Fix STM32L4 series flash will fail to erase the first time after downloading the program
-
stm32l475-atk-pandora
- Add ADC PWM pin definition
- Preliminary realization of Arduino ecological compatibility
- Add lcd_fill_array()
- Add lvgl demo
- Add BSP_USING_LCD_SAMPLE in rttlogo.h
- Enable SPI3-DMA2 for LCD
- Beautify kconfig of board
- Fix issue where board folder sconscript script did not continue scanning subfolders
- Improve the structrue of sconscript
- Add ESP8266 quick build option, serial port driver is changed from V2 to V1
-
-
Fix compile warnings on qemu-vexpress-a9 platform (-Wimplicit-function-declaration)
-
[qemu-a9] add lvgl support.
-
[fix] The baud rate is configured according to the different APB1 frequencies. f4-series only.
-
[qemu] update Kconfig
-
Fix Raspi3 GPIO driver write bug
-
[ls1cdev] add stack size to avoid stack overflow when boot
-
[rp6m4-cpk] Add new drivers and improve BSP
Tools
-
CI
- Optimize AutoTestCI trigger timing
- Add scons tools test
- Add the ci of nrf5x
- Ci toolchain download using github link.
-
Fix bug with missing brackets in eclipse.py
-
Change ccflags to cflags,add LOCAL_CCFLAGS、LOCAL_CLFAGS、LOCAL_CXXFLAGS
-
Fix generate .project file error
-
Remove unused file 1.txt
-
Update buildbot.py
-
Fix adding empty lists and empty strings
-
Add function of auto-update rtconfig.h