|
@@ -1,3 +1,309 @@
|
|
|
|
+# RT-Thread v4.0.4 released
|
|
|
|
+
|
|
|
|
+Change log since v4.0.3
|
|
|
|
+
|
|
|
|
+## Kernel
|
|
|
|
+
|
|
|
|
+- Update memheap auto binding policy
|
|
|
|
+- Remove rt_thread_exit function
|
|
|
|
+- Improve API annotations and code comments
|
|
|
|
+- Standardize internal function naming
|
|
|
|
+- Add recessive RT_USING_ASM_MEMCPY definition to Kconfig
|
|
|
|
+- Add RT_PRINTF_LONGLONG option to Kconfig, not selected by default
|
|
|
|
+- Clear support for RT_PRINTF_LONGLONG in kservice.c
|
|
|
|
+- Fix RT_PRINTF_LONGLONG is supported by default in 64-bit mode
|
|
|
|
+- Solve the problem that FINSH cannot respond to serial port input in multi-core mode
|
|
|
|
+- Optimize the comment for ipc
|
|
|
|
+- Adjust the code to support cpu usage
|
|
|
|
+- Adjust the exception handling code structure to support backtrace functionality
|
|
|
|
+- Remove the mutex RT_IPC_FLAG_FIFO function
|
|
|
|
+- Remove switch_to_sethook function
|
|
|
|
+- Add idle reclaimed resources
|
|
|
|
+- Change defined(__CC_ARM) || defined(__CLANG_ARM) to ifdef __ARMCC_VERSION
|
|
|
|
+- Fix comment error for rt_mutex_detach().
|
|
|
|
+- Remove the rt_sscanf statement
|
|
|
|
+- Add RT_WEAK for rt_malloc_align,rt_free_align
|
|
|
|
+- Changed the memory heap protection mechanism from FIFO to PRIO
|
|
|
|
+- Remove fix priority inversion bug of mutex
|
|
|
|
+- Add volatile to the rt_tick variable to prevent compiler optimization problems
|
|
|
|
+- Keep the atomicity of idle task hook function calls
|
|
|
|
+- Fix the crash problem after opening Oz optimization on ac6.
|
|
|
|
+- Add protect to the rt_tick_increase critical section
|
|
|
|
+- Add rt_mutex_trytake function
|
|
|
|
+- Improve kernel stability
|
|
|
|
+- Remove C99 dependencies
|
|
|
|
+- Add conditional compilation for _has_defunct_thread function
|
|
|
|
+- Clarify the context
|
|
|
|
+- Add get/set microsecond time control command
|
|
|
|
+- Fix code comment error for function rt_memset().
|
|
|
|
+- Remove rt_device_init_all() function
|
|
|
|
+- Adjust graphics device driver definitions
|
|
|
|
+- Unsigned comparisons should still be used when the signed comparison is undone
|
|
|
|
+- Fix compile error when using LOG_HEX(...) function but RT_USING_ULOG not defined
|
|
|
|
+
|
|
|
|
+## Components
|
|
|
|
+
|
|
|
|
+- Support armclang
|
|
|
|
+- Optimized system for suppoort gcc
|
|
|
|
+- Update Libc
|
|
|
|
+ - Create a gcc folder and merge the newlib and partical folders
|
|
|
|
+ - Optimized system to support GCC
|
|
|
|
+ - Fix support system function
|
|
|
|
+ - Fix asctime_r return value
|
|
|
|
+ - Lowers the action of calling printf before libc initialization to the warning level
|
|
|
|
+ - Replace dfs_select.h with standard sys/select.h
|
|
|
|
+ - The RT_LIBC_USING_TIME macro definition remains after RT_USING_LIBC is enabled
|
|
|
|
+ - Optimized fcntil.h definition
|
|
|
|
+ - Fix syscall was optimized to incorporate minilibc into syscalls.c file
|
|
|
|
+ - Rebuild _libc_init_array to prevent chip startup failure under GCC
|
|
|
|
+ - RT_USING_NEWLIB and math libraries are defined without libc enabled
|
|
|
|
+ - Fix the conflict warning of read and write functions
|
|
|
|
+ - Remove libc_signal.h and libc_fdset.h
|
|
|
|
+ - Fix an issue where keil did not compile properly
|
|
|
|
+ - Remove rtlibc, libc_stdio.h, libc_dirent.h, libc_ioctl.h,libc_signal.h,libc_fdset.h,libc_errno.h, libc_limits.h
|
|
|
|
+ - Add delay when the scheduler is not running
|
|
|
|
+ - Fix armClang support issues
|
|
|
|
+ - usleep supports calling in interrupts.
|
|
|
|
+ - Fix sys header file import when liBC is not enabled
|
|
|
|
+ - The gettimeofday () function supports time zones and specification set_timeval/get_timeval returns a value
|
|
|
|
+ - Fix warning of posix_signal
|
|
|
|
+ - Fix bug where nonegcc folder path was not added to project in Simulator Win32
|
|
|
|
+ - Fix error caused by libc removing sys/errno.h file
|
|
|
|
+ - Remove _TIMESPEC_DEFINED
|
|
|
|
+ - Add the RT_LIBC_FIXED_TIMEZONE default value to time.c to prevent projects that do not have RT_LIBC_FIXED_TIMEZONE configured
|
|
|
|
+ - Add the ability to manually set the time zone
|
|
|
|
+ - Add riscv.c dlmodule can support riscv architecture
|
|
|
|
+ - Implement pid_t gettid(void)
|
|
|
|
+ - Implement isatty()
|
|
|
|
+ - Implement set_timeval
|
|
|
|
+ - Change the libc directory to common and none-gcc
|
|
|
|
+ - Remove dlib and armlibc `sys` folder
|
|
|
|
+ - Fix MDK build error when using gmtime_r
|
|
|
|
+ - Optimize get_timeval and set_timeval conditional compiled code structure
|
|
|
|
+ - Update mktime support fixed timezone
|
|
|
|
+ - Add microseconds time get feature in gettimeofday
|
|
|
|
+ - LOG_W will cause a recursive printing if ulog timestamp function is turned on
|
|
|
|
+ - Remove inherent mutex protect
|
|
|
|
+- Update drivers
|
|
|
|
+ - Fix stdint in cputime
|
|
|
|
+ - Delete NTP configurations
|
|
|
|
+ - Make rt_soft_rtc_init private
|
|
|
|
+ - Bypass controlling commands in touch class to driver
|
|
|
|
+ - Update the RTC device driver framework to unify and simplify RTC device registration and access
|
|
|
|
+ - Add i2c bus control api
|
|
|
|
+ - Update uac class, remove GPL code
|
|
|
|
+ - Fix measurement unit of "percentage" to "permillage" for accuracy
|
|
|
|
+ - Add spo2 sensor support in drivers/include/drivers/sensor.h and drivers/sensors/sensor.c
|
|
|
|
+ - Optimize pin.h, sensor.h, rtdevice.h to avoid reverse inclusion
|
|
|
|
+ - Update usb enlarge uconfig_descriptor's data array space
|
|
|
|
+ - Add security devices
|
|
|
|
+- [netif] Fix the eth_tx_msg protection
|
|
|
|
+- Update utest
|
|
|
|
+ - Add kernel testcases
|
|
|
|
+ - Fix TC_FAIL_LIST_MARK_FAILED Subscript calculation error
|
|
|
|
+- Fix comments error in ringbuffer and workqueue
|
|
|
|
+- Update ringbuffer
|
|
|
|
+ - Add an interface comment
|
|
|
|
+ - Local variables are used to prevent resource competition
|
|
|
|
+ - Write_index bug in rt_ringbuffer_put_force
|
|
|
|
+- Update workqueue
|
|
|
|
+ - Add an interface comment
|
|
|
|
+ - Remove rt_delayed_work_init()
|
|
|
|
+ - Privatize the rt_work_sys_workqueue_init function
|
|
|
|
+ - Fix an unexpected suspension of critical condition threads
|
|
|
|
+- Fixed timer ASSERT exception due to multithreaded scheduling
|
|
|
|
+- Optimize the inclusion relationship between dfs.h and dirent.h
|
|
|
|
+- Update finsh
|
|
|
|
+ - Restore the FINSH_USING_MSH definition for compatibility
|
|
|
|
+ - Expose the finsh_getchar function
|
|
|
|
+ - Fixed _cmd_xxx command unavailable due to finsh removal
|
|
|
|
+ - Update Kconfig is more hierarchical
|
|
|
|
+ - The finsh component can optionally include built-in commands
|
|
|
|
+ - Repaie that the table key on msh do not work
|
|
|
|
+ - The list-thread command adds the bind core display for multiple cores
|
|
|
|
+ - Add support for tasking toolchain
|
|
|
|
+ - Add mount/umount cmd
|
|
|
|
+- Fix ringblk_buf error when no longer using dynamic memory
|
|
|
|
+- [timezone] implement timezone
|
|
|
|
+- [DeviceDriver] Change the special device commands form 0x1X to 0x2X. It will avoid same of general device commands
|
|
|
|
+- Update AT
|
|
|
|
+ - Update old_urc_table to new_urc_table
|
|
|
|
+ - Optimized at socket memory leak modification
|
|
|
|
+ - Add at_utils_send virtual function
|
|
|
|
+ - Fix at_vprintf and at_vprintfln and end_sign response
|
|
|
|
+ - Fix at_server_getchar spelling error
|
|
|
|
+- Add device type USBOTG to redef.h
|
|
|
|
+- [newlib] fix compile error when closing RT_USING_CONSOLE
|
|
|
|
+- Update rtc
|
|
|
|
+ - Add RT_DEVICE_CTRL_RTC_GET_TIMEVAL and RT_DEVICE_CTRL_RTC_SET_TIMEVAL ops
|
|
|
|
+ - 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.
|
|
|
|
+ - Change core.c/.h name to rtc.c /.h
|
|
|
|
+ - Update rt_rtc_dev_register function name to rt_hw_rtc_register
|
|
|
|
+ - Change localtime name to localtime_r
|
|
|
|
+- [ethernetif] replace rt_memcpy with SMEMCPY
|
|
|
|
+- [sdio] remove rt_mmcsd_blk_init
|
|
|
|
+- Update time
|
|
|
|
+ - Fix an issue where POSIX related functions were not protected for critical sections
|
|
|
|
+ - Adjust the judgment logic of posiX related functions to obtain time results
|
|
|
|
+ - Rename nonstandard liBC functions and reposition the time.h definition
|
|
|
|
+ - Revert the old code
|
|
|
|
+- Fix the sem init check bug in pthread.
|
|
|
|
+- Fix MMC initialization error, write card->csd as card->cid
|
|
|
|
+- Update serial
|
|
|
|
+ - Add CTS/RTS flowcontrol
|
|
|
|
+ - Implement function of getting window's size(TIOCGWINSZ)
|
|
|
|
+ - Optimized RT_USING_POSIX_TERMIOS precompilation
|
|
|
|
+ - Serial_v2 support device ops feature
|
|
|
|
+ - Fix the problem that serial Close did not clear the callback interface
|
|
|
|
+ - Optimize send non-blocking problem when serial_close does not execute rt_completion_done
|
|
|
|
+ - Optimize DMA receive processing flow and decouple the driver to call the API interface of the serial port framework
|
|
|
|
+ - Added the Serial V2 framework and the Serial port driver based on STM32
|
|
|
|
+ - Serial_v2 support device ops feature
|
|
|
|
+ - Fix do RT_DEVICE_CTRL_CLOSE cmd when close serial device regardless of DMA config
|
|
|
|
+- Update lwip
|
|
|
|
+ - Fix lwIP critical section protection bug
|
|
|
|
+ - Set default lwip stack for old bsp folder.
|
|
|
|
+ - Change default lwip stack to lwip2.0.3
|
|
|
|
+ - Fix delete useless code.
|
|
|
|
+ - The "event_callback" will be change by RT-Thread dfs.
|
|
|
|
+ - Adjust the string.h position
|
|
|
|
+ - LWIP_TIMEVAL_PRIVATE: provided by <sys/time.h>
|
|
|
|
+ - LWIP2.0.2 and 2.1.2 remove ERRNO
|
|
|
|
+ - Remove ESHUTDOWN from LWIP
|
|
|
|
+ - Remove the possible critical zone risk
|
|
|
|
+ - Iperf speed test have been stable.
|
|
|
|
+ - The overflow problem of lwip rx thread mailbox.
|
|
|
|
+- [pm] Index should be less than PM_MODLUE_MAX_ID
|
|
|
|
+- [cputime] Add sys/errno.h
|
|
|
|
+- Update msh
|
|
|
|
+ - Implement tail command
|
|
|
|
+ - Fix shell msh_exec memory over-bound.
|
|
|
|
+- Update dfs
|
|
|
|
+ - Fix F_GETFL/F_SETFL should be handled by the drivers.
|
|
|
|
+ - Change the default maximum number and type of the file system to 4
|
|
|
|
+ - Add format_ignore file, exclude fatfs format check
|
|
|
|
+ - Add comments for _device_fs
|
|
|
|
+- Update ymodem
|
|
|
|
+ - Modified the enabling conditions of YMODEM USING FILE TRANSFER
|
|
|
|
+ - Check the file path's legitimacy of'sy' command
|
|
|
|
+- Add new component: rt-link
|
|
|
|
+- [net] Add the function of set [internet up] status, activate the callback.
|
|
|
|
+- [components] Remove uip
|
|
|
|
+- Update ulog
|
|
|
|
+ - Using gettimeofday for timestamp get
|
|
|
|
+ - Fix thread info show when kernel not startup
|
|
|
|
+ - Increase the usec check time
|
|
|
|
+ - Add output locker enabled API
|
|
|
|
+- Update FatFs
|
|
|
|
+ - Update the mutex protection timeout can be set using Kconfig
|
|
|
|
+ - Fix the time dependent function opening condition
|
|
|
|
+
|
|
|
|
+## BSP and CPU porting
|
|
|
|
+
|
|
|
|
+- Support armclang
|
|
|
|
+- [stm32h750-artpi-h750] Complete bsp
|
|
|
|
+- [ls2k] Fix missing header file applications
|
|
|
|
+- [AT32] Complete BSP
|
|
|
|
+- Add _CRT_DECLARE_NONSTDC_NAMES=0 macro definition in simulator bsp
|
|
|
|
+- Refresh the project and remove rtlibc and duplicate definitions in simulator bsp
|
|
|
|
+- Update libcpu
|
|
|
|
+ - Modified the irq handle interface rt_hw_trap_IRq to support intercore IPI interrupt processing
|
|
|
|
+ - Add interface dcache invalidate/dcache clean&invalidate
|
|
|
|
+ - Adjust the stack_top to bss
|
|
|
|
+ - Remove gtimer/pmu from cortex-a
|
|
|
|
+ - Repair hard fault return bug
|
|
|
|
+ - Add in Cortex-A to turn on the _rt_FFS implementation when RT_USING_CPU_FFS macro definition
|
|
|
|
+ - Add interface to get Cortex-A Generic Timer frequency
|
|
|
|
+ - Add GICV3 interrupt controller code, updated MenuConfig configuration options with utest config.h
|
|
|
|
+ - Tidy up the cortex-a aarch32 boot code
|
|
|
|
+ - Fix RTC driver compile error
|
|
|
|
+ - add gic>imer interface
|
|
|
|
+ - Optimized the condition for automatically enabling FPU when cortex-A does not define an exception
|
|
|
|
+ - Fix inconsistent function behavior with different optimization levels
|
|
|
|
+ - Correct cortex-m23 rvds.S including for armclang platform.
|
|
|
|
+- Fix simulator:
|
|
|
|
+ - Fix sd_sim.c compilation error using rt_dgb instead of old debug output
|
|
|
|
+ - Refresh the project and remove rtlibc and duplicate definitions
|
|
|
|
+ - Add _CRT_DECLARE_NONSTDC_NAMES=0 macro definition
|
|
|
|
+- Fix stm32f407-explorer
|
|
|
|
+ - Optimize fal Settings
|
|
|
|
+ - Update readme
|
|
|
|
+ - Implement ESP8266 configuration in extended module driver menu
|
|
|
|
+ - Optimized Kconfig file system naming, SFUD registration w25Q128 name adaptive, avoid users to set more than one step name
|
|
|
|
+- Add more BSP on BSP framework:
|
|
|
|
+ - VangoV85xx
|
|
|
|
+ - hc32l136
|
|
|
|
+ - ap32f103xe-miniboard
|
|
|
|
+ - gd32407v-start
|
|
|
|
+ - mm32f103x
|
|
|
|
+ - ch32f103c8-core
|
|
|
|
+ - n32g452xx
|
|
|
|
+ - hc32l196
|
|
|
|
+ - hc32f460petb
|
|
|
|
+ - gd32f105c-eval
|
|
|
|
+ - nrf52833
|
|
|
|
+ - hc32f030c8t6-mini
|
|
|
|
+ - fm33lc0xx
|
|
|
|
+ - stm32l4r9-st-sensortile-box
|
|
|
|
+ - stm32f302-st-nucleo
|
|
|
|
+ - mm32f3270
|
|
|
|
+ - stm32f407-robomaster-c
|
|
|
|
+ - qemu-riscv-virt64
|
|
|
|
+ - gd32350r-eval
|
|
|
|
+ - stm32f407-armfly-v5
|
|
|
|
+ - juicevm
|
|
|
|
+ - stm32f207-st-nucleo
|
|
|
|
+ - m2354
|
|
|
|
+- [ch32f103c8-core] rename function name: ch32f1_hwtimer_clock_init, ch32f1_hwtimer_clock_get
|
|
|
|
+- Fix thread-smart
|
|
|
|
+ - Support T-HEAD Xuantie-E9xx Series CPU on Smart-EVB, eg. E906/F/D/P, E907/F/D/P
|
|
|
|
+ - Formatting code
|
|
|
|
+ - Add QEMU support, and code optimization for thead extension
|
|
|
|
+- [mm32f327x] Fix .ignore_format file path error
|
|
|
|
+- [hc32f4a0] Fix syntax errors in scons scripts
|
|
|
|
+- [x86] Enable romfs
|
|
|
|
+- Replace gmtime with gmtime_r
|
|
|
|
+- [swm320-lp100] Update libraries
|
|
|
|
+- [ft2004] Add gtimer support and fixed can driver initialization issues
|
|
|
|
+- Fix bluetrum
|
|
|
|
+ - Optimizing the uart driver
|
|
|
|
+ - Fix RTC driver building errors
|
|
|
|
+ - Add RT_USING_CONSOLE judgment
|
|
|
|
+- [nrf52x] Optimize drv_wdt.c
|
|
|
|
+- [mm32f327x] Add on-chip flash driver
|
|
|
|
+- [imxrt1064-nxp-evk] Improved I2C, UART,LCD kconfig, fixed i2C imXrT_i2C_mST_xfer function that would write an address before reading data
|
|
|
|
+- [w60x] Fix UART1 function unavailable
|
|
|
|
+- [gd32450z-eval] Update firmware library and delete usb relate library codes
|
|
|
|
+- [raspi4-32] Update raspi4-32 eth drv
|
|
|
|
+- [bluetrum] Fix uart1 and uart2 cannot recv data
|
|
|
|
+- Fix STM32
|
|
|
|
+ - Implement rtc driver to RTC framework V2.0
|
|
|
|
+ - Add spi config increases irq_type
|
|
|
|
+ - Fix driver library USBH initialization errors
|
|
|
|
+ - Add timeval ops for STM32 platform Sub-second timestamp.
|
|
|
|
+- Remove BSP on BSP framework:
|
|
|
|
+ - realview-a8
|
|
|
|
+ - fh8620
|
|
|
|
+ - gkipc
|
|
|
|
+ - stm32f20x
|
|
|
|
+ - efm32
|
|
|
|
+ - zynq7000
|
|
|
|
+ - stm32f1.0-mini-sysytem
|
|
|
|
+- Fix unused device frame error
|
|
|
|
+- Update GPL license to Apache-2.0, and format files
|
|
|
|
+- Fix incorrect setting of word length when parity check is enabled on the STM32 serial port
|
|
|
|
+
|
|
|
|
+## Tools
|
|
|
|
+
|
|
|
|
+- Support windows cmake tool
|
|
|
|
+- Optimization the EXTERN_LIB variable use
|
|
|
|
+- Update eclipse project after dist
|
|
|
|
+- Add default project name and project path while --dist-ide
|
|
|
|
+- Fix the problem of an error when opening menuconfig after the project is dist
|
|
|
|
+- Update cmake.py, add c++ support and libpath.
|
|
|
|
+- Python 3 compatibility support
|
|
|
|
+- Update eclipse.py to compatible tasking
|
|
|
|
+
|
|
# RT-Thread v4.0.3 Change Log
|
|
# RT-Thread v4.0.3 Change Log
|
|
|
|
|
|
Change log since v4.0.2
|
|
Change log since v4.0.2
|