Fixed two issues with atomic volatile in bsp/simulator compiled in VS2019.
Added RT_USING_LIBC_ISO_ONLY macro.
Supported POSIX-compatible errno.
src/kservice.c
Improved rt_strerror function compatibility.
Supported DM device id management; Supported multiple threads receiving the same event at the same time.
No longer used RT_DEBUG_LOG in rtdebug.h.
Tidied up debug macros and added RT DEBUGING CONTEXT.
Fixed User mode MQ receive blocking issue.
Added priority to message queues supported in POSIX interfaces.
Removed recursion in mutex; Removed RT_DEBUG_xxx macros.
Implemented default weak function for rt_hw_cpu_shutdown.
Components
drivers
sensor: Fixed an error in Sensor-V1 where the return type was inconsistent; Re-implemented sensor framework as Sensor-V2.
fdt: Added the device tree child node search macro.
tty: Fixed a bug on foreground app switch; Supported TCGETA/TCSETAF/TCSETAW/TCSETA commands.
serial: Fixed an issue where the serial port sometimes sent carriage returns repeatedly.
Supported the Core API for dd2.0.
i2c: Optimized control interface format to add available commands.
rtc: Reconfigurable clock framework; Fixed the bug that triggered the alarm for a single time and repeatedly used the timer that did not start.
hwtimer: Overflow is invalid in oneshot mode.
core: Revised the macros of header files.
wlan: Fixed some variables not used warnings when building.
Moved the core header files to the path: include/drivers/core.
lwp
Executed elf with added executable permissions check.
Supported more features of signals from IEEE Std 1003.1-2017.
Fixed possible memory leak; Fixed the setup of fake LWP in sys_execve; Fixed socket addr bug; Fixed waitpid function exception.
Fixed bugs on LWP kill; Fixed exit(2) and added exit_group(2); Fixed rt_memcpy to lwp_memcpy in smart source; Fixed cmd_kill (Fix cmd_kill).
Added fops for dfs_v2 and fixed warning for eventfd_write and eventfd_read after dfs_v1 changes.
Cumulative updates of lwip and lwp.
libc
Updated the allocation mode of the libc timer id.
Added signalfd for system call, Added eventfd for system call.
Implemented lightweight timezone configuration.
Renamed libc.c as posix/stdio.c.
Optimized the epoll code to remove restrictions on descriptors.
Adapted rt_channel, increased the generality of some rt_channel functionality on dfs v2, and standardized signalfd.
dfs
Fixed variable usage errors in dfs elm.c.
Connected the posix mqueue pair to the file system fd.
Modified some function prototypes of the dfs_file_ops structure and function declarations.
Fixed fcntl(F_SETFL) bug, and modified the error code when opening a file failed.
Cumulative repair of dfs changes, including forced uninstallation and pread/pwrite changes.
dfs v2: Added cromfs function.
utilities
Supported ulog_async_output_enabled, Supported adt API for DM.
Removed zmodem.
mm
Improved output of list_page.
Added unmap page API.
net
sal/socket: Fixed a BUG where calling closesocket interface triggered assertions when RT_DEBUG is enabled; Fixed duplicate free on allocated buffer.
sal: Fixed the IPv4 & v6 compiling issue.
ktime
Added RT_USING_KTIME to Kconfig build.
Fixed some bugs with ktime.
Optimized the performance of high-precision timer, deleted a useless function.
Change the Ktime path to: components/drivers/ktime.
sdio
Enabled the eMMC internal cache to speed up transmission.
finsh
Added msh autocomplete suboption feature.
Drivers Device
Prepared for device driver v2.0.
Libcpu
aarch64: Fixed default core binding failure on GICv2; Fixed aarch64 SMP startup failure; Supported hardware atomic; Fixed up FPU storage's size in stack and appended Q16 ~ Q31; Fixed HW atomic_t ops type from dword to qword; Supported public linker scripts; Changed aarch64 trap backtrace & coredump priority rating; Fixed an issue where AARCH64 Qemu failed to compile when SMP was disabled.
arm: Fixed IAR compilation warnings: function "__LDREX" declared implicitly; Modified start_gcc.S; Fixed race condition with ldrex, strex; Fixed header file circular reference issue.
arc: Fixed the thread switching bug in the arc architecture.
sim: Fixed an issue with inconsistent function definitions.
Added ARCH_ARM_CORTEX_M23 macro definitions.
Tools
Fixed .uvoptx/uvopt project name.
Supported Env for finsh shell.
Removed --dist-strip command.
Corrected prompt message.
Action
Added CI to compile more drivers for the changed BSP, Added pkgs-test; Added the manual trigger and fail BSP check; Added more config for manual trigger.
Added manual triggers for all STM32, Added the exp_STM32 SCons.
Added the repo check for self-use; Added the code_owner review request; Added paths-ignore for format and static check.
Fixed the path the YAML can't be folded; Fixed the flag of dist.
Updated env document, Updated qemu for windows doc; Updated quick_start_qemu_windows.
Utest
Adding volatile solves the problem that the test fails when the optimization level is high.
Changed the thread size of the thread_tc thread stack to avoid stack anomalies caused by 64-bit machines; Changed the size of the thread stack to avoid stack anomalies.
stm32/stm32f407-rt-spark: Release of the first version of rt-spark BSP; Added rt-spark to run utest link snippets under GCC.
stm32/stm32f401nucleo/rtduino: Supported function switching of docking pins.
stm32/stm32l431-BearPi: Supported the MPU6050 module.
stm32/rtduino: Supported tone timers and limited the maximum number of pins checked; Supported function switching of docking pins; Fixed a demo bug and modified the SPI switch function.
stm32/i2c driver: Replaced stm32_udelay with rt_hw_us_delay.
stm32/build path: Example Modified the STM32 project generation path.
qemu
qemu-virt64-aarch64: Fixed qemu failed to mount elm file system.
airm2m
airm2m/air32f103: Synchronized lib changes, including SRAM locking, fixing RTC acquisition frequency errors; Updated the pin num command.
wch
wch/riscv/ch32v307v: Added _head_end for link file.