Skip to content

Commit 88e3e08

Browse files
committed
[update] add v4.0.4 changelog
1 parent 56e72de commit 88e3e08

File tree

1 file changed

+306
-0
lines changed

1 file changed

+306
-0
lines changed

ChangeLog.md

+306
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,309 @@
1+
# RT-Thread v4.0.4 released
2+
3+
Change log since v4.0.3
4+
5+
## Kernel
6+
7+
- Update memheap auto binding policy
8+
- Remove rt_thread_exit function
9+
- Improve API annotations and code comments
10+
- Standardize internal function naming
11+
- Add recessive RT_USING_ASM_MEMCPY definition to Kconfig
12+
- Add RT_PRINTF_LONGLONG option to Kconfig, not selected by default
13+
- Clear support for RT_PRINTF_LONGLONG in kservice.c
14+
- Fix RT_PRINTF_LONGLONG is supported by default in 64-bit mode
15+
- Solve the problem that FINSH cannot respond to serial port input in multi-core mode
16+
- Optimize the comment for ipc
17+
- Adjust the code to support cpu usage
18+
- Adjust the exception handling code structure to support backtrace functionality
19+
- Remove the mutex RT_IPC_FLAG_FIFO function
20+
- Remove switch_to_sethook function
21+
- Add idle reclaimed resources
22+
- Change defined(__CC_ARM) || defined(__CLANG_ARM) to ifdef __ARMCC_VERSION
23+
- Fix comment error for rt_mutex_detach().
24+
- Remove the rt_sscanf statement
25+
- Add RT_WEAK for rt_malloc_align,rt_free_align
26+
- Changed the memory heap protection mechanism from FIFO to PRIO
27+
- Remove fix priority inversion bug of mutex
28+
- Add volatile to the rt_tick variable to prevent compiler optimization problems
29+
- Keep the atomicity of idle task hook function calls
30+
- Fix the crash problem after opening Oz optimization on ac6.
31+
- Add protect to the rt_tick_increase critical section
32+
- Add rt_mutex_trytake function
33+
- Improve kernel stability
34+
- Remove C99 dependencies
35+
- Add conditional compilation for _has_defunct_thread function
36+
- Clarify the context
37+
- Add get/set microsecond time control command
38+
- Fix code comment error for function rt_memset().
39+
- Remove rt_device_init_all() function
40+
- Adjust graphics device driver definitions
41+
- Unsigned comparisons should still be used when the signed comparison is undone
42+
- Fix compile error when using LOG_HEX(...) function but RT_USING_ULOG not defined
43+
44+
## Components
45+
46+
- Support armclang
47+
- Optimized system for suppoort gcc
48+
- Update Libc
49+
- Create a gcc folder and merge the newlib and partical folders
50+
- Optimized system to support GCC
51+
- Fix support system function
52+
- Fix asctime_r return value
53+
- Lowers the action of calling printf before libc initialization to the warning level
54+
- Replace dfs_select.h with standard sys/select.h
55+
- The RT_LIBC_USING_TIME macro definition remains after RT_USING_LIBC is enabled
56+
- Optimized fcntil.h definition
57+
- Fix syscall was optimized to incorporate minilibc into syscalls.c file
58+
- Rebuild _libc_init_array to prevent chip startup failure under GCC
59+
- RT_USING_NEWLIB and math libraries are defined without libc enabled
60+
- Fix the conflict warning of read and write functions
61+
- Remove libc_signal.h and libc_fdset.h
62+
- Fix an issue where keil did not compile properly
63+
- Remove rtlibc, libc_stdio.h, libc_dirent.h, libc_ioctl.h,libc_signal.h,libc_fdset.h,libc_errno.h, libc_limits.h
64+
- Add delay when the scheduler is not running
65+
- Fix armClang support issues
66+
- usleep supports calling in interrupts.
67+
- Fix sys header file import when liBC is not enabled
68+
- The gettimeofday () function supports time zones and specification set_timeval/get_timeval returns a value
69+
- Fix warning of posix_signal
70+
- Fix bug where nonegcc folder path was not added to project in Simulator Win32
71+
- Fix error caused by libc removing sys/errno.h file
72+
- Remove _TIMESPEC_DEFINED
73+
- Add the RT_LIBC_FIXED_TIMEZONE default value to time.c to prevent projects that do not have RT_LIBC_FIXED_TIMEZONE configured
74+
- Add the ability to manually set the time zone
75+
- Add riscv.c dlmodule can support riscv architecture
76+
- Implement pid_t gettid(void)
77+
- Implement isatty()
78+
- Implement set_timeval
79+
- Change the libc directory to common and none-gcc
80+
- Remove dlib and armlibc `sys` folder
81+
- Fix MDK build error when using gmtime_r
82+
- Optimize get_timeval and set_timeval conditional compiled code structure
83+
- Update mktime support fixed timezone
84+
- Add microseconds time get feature in gettimeofday
85+
- LOG_W will cause a recursive printing if ulog timestamp function is turned on
86+
- Remove inherent mutex protect
87+
- Update drivers
88+
- Fix stdint in cputime
89+
- Delete NTP configurations
90+
- Make rt_soft_rtc_init private
91+
- Bypass controlling commands in touch class to driver
92+
- Update the RTC device driver framework to unify and simplify RTC device registration and access
93+
- Add i2c bus control api
94+
- Update uac class, remove GPL code
95+
- Fix measurement unit of "percentage" to "permillage" for accuracy
96+
- Add spo2 sensor support in drivers/include/drivers/sensor.h and drivers/sensors/sensor.c
97+
- Optimize pin.h, sensor.h, rtdevice.h to avoid reverse inclusion
98+
- Update usb enlarge uconfig_descriptor's data array space
99+
- Add security devices
100+
- [netif] Fix the eth_tx_msg protection
101+
- Update utest
102+
- Add kernel testcases
103+
- Fix TC_FAIL_LIST_MARK_FAILED Subscript calculation error
104+
- Fix comments error in ringbuffer and workqueue
105+
- Update ringbuffer
106+
- Add an interface comment
107+
- Local variables are used to prevent resource competition
108+
- Write_index bug in rt_ringbuffer_put_force
109+
- Update workqueue
110+
- Add an interface comment
111+
- Remove rt_delayed_work_init()
112+
- Privatize the rt_work_sys_workqueue_init function
113+
- Fix an unexpected suspension of critical condition threads
114+
- Fixed timer ASSERT exception due to multithreaded scheduling
115+
- Optimize the inclusion relationship between dfs.h and dirent.h
116+
- Update finsh
117+
- Restore the FINSH_USING_MSH definition for compatibility
118+
- Expose the finsh_getchar function
119+
- Fixed _cmd_xxx command unavailable due to finsh removal
120+
- Update Kconfig is more hierarchical
121+
- The finsh component can optionally include built-in commands
122+
- Repaie that the table key on msh do not work
123+
- The list-thread command adds the bind core display for multiple cores
124+
- Add support for tasking toolchain
125+
- Add mount/umount cmd
126+
- Fix ringblk_buf error when no longer using dynamic memory
127+
- [timezone] implement timezone
128+
- [DeviceDriver] Change the special device commands form 0x1X to 0x2X. It will avoid same of general device commands
129+
- Update AT
130+
- Update old_urc_table to new_urc_table
131+
- Optimized at socket memory leak modification
132+
- Add at_utils_send virtual function
133+
- Fix at_vprintf and at_vprintfln and end_sign response
134+
- Fix at_server_getchar spelling error
135+
- Add device type USBOTG to redef.h
136+
- [newlib] fix compile error when closing RT_USING_CONSOLE
137+
- Update rtc
138+
- Add RT_DEVICE_CTRL_RTC_GET_TIMEVAL and RT_DEVICE_CTRL_RTC_SET_TIMEVAL ops
139+
- Remove RT_DEVICE_CTRL_RTC_GET_TIME_US and RT_DEVICE_CTRL_RTC_SET_TIME_US. Add RT_DEVICE_CTRL_RTC_GET_TIMEVAL and RT_DEVICE_CTRL_RTC_SET_TIMEVAL. The RT_DEVICE_CTRL_RTC_GET_TIMEVAL cmd can get second time and microsecond time.
140+
- Change core.c/.h name to rtc.c /.h
141+
- Update rt_rtc_dev_register function name to rt_hw_rtc_register
142+
- Change localtime name to localtime_r
143+
- [ethernetif] replace rt_memcpy with SMEMCPY
144+
- [sdio] remove rt_mmcsd_blk_init
145+
- Update time
146+
- Fix an issue where POSIX related functions were not protected for critical sections
147+
- Adjust the judgment logic of posiX related functions to obtain time results
148+
- Rename nonstandard liBC functions and reposition the time.h definition
149+
- Revert the old code
150+
- Fix the sem init check bug in pthread.
151+
- Fix MMC initialization error, write card->csd as card->cid
152+
- Update serial
153+
- Add CTS/RTS flowcontrol
154+
- Implement function of getting window's size(TIOCGWINSZ)
155+
- Optimized RT_USING_POSIX_TERMIOS precompilation
156+
- Serial_v2 support device ops feature
157+
- Fix the problem that serial Close did not clear the callback interface
158+
- Optimize send non-blocking problem when serial_close does not execute rt_completion_done
159+
- Optimize DMA receive processing flow and decouple the driver to call the API interface of the serial port framework
160+
- Added the Serial V2 framework and the Serial port driver based on STM32
161+
- Serial_v2 support device ops feature
162+
- Fix do RT_DEVICE_CTRL_CLOSE cmd when close serial device regardless of DMA config
163+
- Update lwip
164+
- Fix lwIP critical section protection bug
165+
- Set default lwip stack for old bsp folder.
166+
- Change default lwip stack to lwip2.0.3
167+
- Fix delete useless code.
168+
- The "event_callback" will be change by RT-Thread dfs.
169+
- Adjust the string.h position
170+
- LWIP_TIMEVAL_PRIVATE: provided by <sys/time.h>
171+
- LWIP2.0.2 and 2.1.2 remove ERRNO
172+
- Remove ESHUTDOWN from LWIP
173+
- Remove the possible critical zone risk
174+
- Iperf speed test have been stable.
175+
- The overflow problem of lwip rx thread mailbox.
176+
- [pm] Index should be less than PM_MODLUE_MAX_ID
177+
- [cputime] Add sys/errno.h
178+
- Update msh
179+
- Implement tail command
180+
- Fix shell msh_exec memory over-bound.
181+
- Update dfs
182+
- Fix F_GETFL/F_SETFL should be handled by the drivers.
183+
- Change the default maximum number and type of the file system to 4
184+
- Add format_ignore file, exclude fatfs format check
185+
- Add comments for _device_fs
186+
- Update ymodem
187+
- Modified the enabling conditions of YMODEM USING FILE TRANSFER
188+
- Check the file path's legitimacy of'sy' command
189+
- Add new component: rt-link
190+
- [net] Add the function of set [internet up] status, activate the callback.
191+
- [components] Remove uip
192+
- Update ulog
193+
- Using gettimeofday for timestamp get
194+
- Fix thread info show when kernel not startup
195+
- Increase the usec check time
196+
- Add output locker enabled API
197+
- Update FatFs
198+
- Update the mutex protection timeout can be set using Kconfig
199+
- Fix the time dependent function opening condition
200+
201+
## BSP and CPU porting
202+
203+
- Support armclang
204+
- [stm32h750-artpi-h750] Complete bsp
205+
- [ls2k] Fix missing header file applications
206+
- [AT32] Complete BSP
207+
- Add _CRT_DECLARE_NONSTDC_NAMES=0 macro definition in simulator bsp
208+
- Refresh the project and remove rtlibc and duplicate definitions in simulator bsp
209+
- Update libcpu
210+
- Modified the irq handle interface rt_hw_trap_IRq to support intercore IPI interrupt processing
211+
- Add interface dcache invalidate/dcache clean&invalidate
212+
- Adjust the stack_top to bss
213+
- Remove gtimer/pmu from cortex-a
214+
- Repair hard fault return bug
215+
- Add in Cortex-A to turn on the _rt_FFS implementation when RT_USING_CPU_FFS macro definition
216+
- Add interface to get Cortex-A Generic Timer frequency
217+
- Add GICV3 interrupt controller code, updated MenuConfig configuration options with utest config.h
218+
- Tidy up the cortex-a aarch32 boot code
219+
- Fix RTC driver compile error
220+
- add gic&gtimer interface
221+
- Optimized the condition for automatically enabling FPU when cortex-A does not define an exception
222+
- Fix inconsistent function behavior with different optimization levels
223+
- Correct cortex-m23 rvds.S including for armclang platform.
224+
- Fix simulator:
225+
- Fix sd_sim.c compilation error using rt_dgb instead of old debug output
226+
- Refresh the project and remove rtlibc and duplicate definitions
227+
- Add _CRT_DECLARE_NONSTDC_NAMES=0 macro definition
228+
- Fix stm32f407-explorer
229+
- Optimize fal Settings
230+
- Update readme
231+
- Implement ESP8266 configuration in extended module driver menu
232+
- Optimized Kconfig file system naming, SFUD registration w25Q128 name adaptive, avoid users to set more than one step name
233+
- Add more BSP on BSP framework:
234+
- VangoV85xx
235+
- hc32l136
236+
- ap32f103xe-miniboard
237+
- gd32407v-start
238+
- mm32f103x
239+
- ch32f103c8-core
240+
- n32g452xx
241+
- hc32l196
242+
- hc32f460petb
243+
- gd32f105c-eval
244+
- nrf52833
245+
- hc32f030c8t6-mini
246+
- fm33lc0xx
247+
- stm32l4r9-st-sensortile-box
248+
- stm32f302-st-nucleo
249+
- mm32f3270
250+
- stm32f407-robomaster-c
251+
- qemu-riscv-virt64
252+
- gd32350r-eval
253+
- stm32f407-armfly-v5
254+
- juicevm
255+
- stm32f207-st-nucleo
256+
- m2354
257+
- [ch32f103c8-core] rename function name: ch32f1_hwtimer_clock_init, ch32f1_hwtimer_clock_get
258+
- Fix thread-smart
259+
- Support T-HEAD Xuantie-E9xx Series CPU on Smart-EVB, eg. E906/F/D/P, E907/F/D/P
260+
- Formatting code
261+
- Add QEMU support, and code optimization for thead extension
262+
- [mm32f327x] Fix .ignore_format file path error
263+
- [hc32f4a0] Fix syntax errors in scons scripts
264+
- [x86] Enable romfs
265+
- Replace gmtime with gmtime_r
266+
- [swm320-lp100] Update libraries
267+
- [ft2004] Add gtimer support and fixed can driver initialization issues
268+
- Fix bluetrum
269+
- Optimizing the uart driver
270+
- Fix RTC driver building errors
271+
- Add RT_USING_CONSOLE judgment
272+
- [nrf52x] Optimize drv_wdt.c
273+
- [mm32f327x] Add on-chip flash driver
274+
- [imxrt1064-nxp-evk] Improved I2C, UART,LCD kconfig, fixed i2C imXrT_i2C_mST_xfer function that would write an address before reading data
275+
- [w60x] Fix UART1 function unavailable
276+
- [gd32450z-eval] Update firmware library and delete usb relate library codes
277+
- [raspi4-32] Update raspi4-32 eth drv
278+
- [bluetrum] Fix uart1 and uart2 cannot recv data
279+
- Fix STM32
280+
- Implement rtc driver to RTC framework V2.0
281+
- Add spi config increases irq_type
282+
- Fix driver library USBH initialization errors
283+
- Add timeval ops for STM32 platform Sub-second timestamp.
284+
- Remove BSP on BSP framework:
285+
- realview-a8
286+
- fh8620
287+
- gkipc
288+
- stm32f20x
289+
- efm32
290+
- zynq7000
291+
- stm32f1.0-mini-sysytem
292+
- Fix unused device frame error
293+
- Update GPL license to Apache-2.0, and format files
294+
- Fix incorrect setting of word length when parity check is enabled on the STM32 serial port
295+
296+
## Tools
297+
298+
- Support windows cmake tool
299+
- Optimization the EXTERN_LIB variable use
300+
- Update eclipse project after dist
301+
- Add default project name and project path while --dist-ide
302+
- Fix the problem of an error when opening menuconfig after the project is dist
303+
- Update cmake.py, add c++ support and libpath.
304+
- Python 3 compatibility support
305+
- Update eclipse.py to compatible tasking
306+
1307
# RT-Thread v4.0.3 Change Log
2308

3309
Change log since v4.0.2

0 commit comments

Comments
 (0)