Skip to content

Commit

Permalink
Merge pull request #3 from ErikChanGit/master
Browse files Browse the repository at this point in the history
release rt-thread v4.0.4
  • Loading branch information
eclipsesw authored Oct 28, 2021
2 parents 39dd98a + 0c4321c commit a877abe
Show file tree
Hide file tree
Showing 7,027 changed files with 2,296,713 additions and 651,802 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
*.c linguist-language=C
*.C linguist-language=C
*.h linguist-language=C
*.H linguist-language=C

* text=auto

*.S text
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
*.idb
*.ilk
*.old
*.crf
build
Debug
documentation/html
Expand All @@ -24,6 +25,8 @@ documentation/html
*.d
tools/kconfig-frontends/kconfig-mconf
packages
dist
dist_ide_project
cconfig.h
GPUCache

Expand All @@ -34,3 +37,6 @@ ncscope.*
#ctag files
tags

.idea
CMakeLists.txt
cmake-build-debug
306 changes: 306 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
3 changes: 0 additions & 3 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ pipeline {
// ['gd32e230k-start', 'sourcery-arm'], /* CI compile not support */
['gd32303e-eval', 'sourcery-arm'],
// ['gd32450z-eval', 'sourcery-arm'], /* CI link not support */
['gkipc', 'sourcery-arm'],
['imx6sx/cortex-a9', 'sourcery-arm'],
// ['imxrt/imxrt1052-atk-commander', 'sourcery-arm'], /* CI compile not support */
// ['imxrt/imxrt1052-fire-pro', 'sourcery-arm'], /* CI compile not support */
Expand Down Expand Up @@ -107,9 +106,7 @@ pipeline {
['stm32f20x', 'sourcery-arm'],
['swm320-lq100', 'sourcery-arm'],
['beaglebone', 'sourcery-arm'],
['zynq7000', 'sourcery-arm'],
['frdm-k64f', 'sourcery-arm'],
['fh8620', 'sourcery-arm'],
['xplorer4330/M4', 'sourcery-arm'],
// ['at32/at32f403a-start', 'sourcery-arm'],/* CI link not support */
// ['at32/at32f407-start', 'sourcery-arm']/* CI compile C99 not support */
Expand Down
1 change: 1 addition & 0 deletions Kconfig
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
source "$RTT_DIR/src/Kconfig"
source "$RTT_DIR/libcpu/Kconfig"
source "$RTT_DIR/components/Kconfig"
source "$RTT_DIR/examples/utest/testcases/Kconfig"
Loading

0 comments on commit a877abe

Please sign in to comment.