summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliukangcc <[email protected]>2021-10-15 17:33:21 +0800
committerliukangcc <[email protected]>2021-10-15 18:02:57 +0800
commit88e3e08e3d4273deafdee6cdbf8b393882251be2 (patch)
tree9bcf0e2a2c5cec1ce62a1bff117d4129e1f6913e
parent56e72de95698eb9f4fc09f1d90c9a7b8a5830b5c (diff)
[update] add v4.0.4 changelogv4.0.4
-rw-r--r--ChangeLog.md306
1 files changed, 306 insertions, 0 deletions
diff --git a/ChangeLog.md b/ChangeLog.md
index 0b1ad3508e..2869db7634 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -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&gtimer 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
Change log since v4.0.2