Change Log Since v5.1.0 Release
src:
add CPU/thread usage tracing config (#8947)
src/Kconfig: separate klibc Kconfig, format Kconfig, update src/Kconfig, add RT_USING_CI_ACTION
Remove redundant memset & unlock in smp
Add smp_ipi_call function to call other cpus to work
Change size_t to rt_size_t (#9787)
Fix kconfig display copywriting error (#9750)
Add RT_USING_SMP judgement inside smp_call.h (#9835)
Support rt_packed
Added rt_interrupt_context* family for nested interrupt handling
Suppress unused warnings when DEBUG disabled
Specification interrupt nested level variable declaration type
Enable "recycling thread" in smart mode to fix bug with thread hanged
Remove RT_USING_SCHED_THREAD_CTX for next release
smart: User space context optimization
Add kerrno.h, kstring.h and kstdio.h
driver: smp_call: add non-blocking IPI calling method
Fixup memory address reserved and translate in early
fix bug of thread exit without releasing mutex & add error check log
add memset zero for rt_thread_init
support of lockless rt_completion,The new rt_completion implemented by lockless algorithm can improve timer resolution for up to ~12%, compare to sem IPC.(#8887)
add rt_hw_cpu_id() wrapper API (#8894)
make RT_ASSERT independent of RT_USING_DEUBG
add rt_thread_close()
fix the issue of abnormal memcheck and memtrace calls when using SLAB.(#8862)
Fixup UP irq_spinlock ,add cpu up,add Kconfig option
add rt_hw_interrupt_uninstall declare in rthw
upgrade RT-Thread version to v5.2.0
Add a check for the time slice parameter in the create thread function(#8807)
Add subsys init level to facilitate earlier clk initialization
Fixed the rt_exit_critical_safe function incorrectly using returns
SIGNAL node assignment failure should return an error
drivers
CPUTIME_TIMER_FREQ
in components/drivers/cputime/Kconfig
.lwp
libc
dfs
utilities
mm
Net
Update af_inet_at.c(#9065)
netdev: add statistics and more inupt parameters to ping command
add comments for BSD socket APIs.
add more socket flag (#9436)
sal/socket:
optimize sal_bind(#9413)
delete netdev_lo(#9431)
delay getting sal_proto_family in sal_ioctlsocket(#9429)
replace netdev's spin_lock_irqsave to spin_lock(#9423)
Add netdev ifindex feature, it will support SIOCGIFINDEX command and find netdev by ifindex
Add netgetdev api for configure routation
Increased the limit on the number of messages
Fix compilation error when SAL_TLS is turned on
at:
Add support for SERIAL_V2 (#9860);Fix the issue of data loss after socket disconnection for large data transmission volume;Fix the at socket semaphore release exception
Fix the bug that udp communicates with multiple addresses for one socket、DNS locking prevents multithreading confusion 、Achieve at_gethostbyname_r、stability optimization(#9403)
netdb add at_gethostbyname_r
_gethostbyname_by_device
**lwip: **
Add support for independent dns services for multiple network devices (#9433);Hook functions are provided to provide greater flexibility for unknown Ethernet protocolsfix lwip poll macro conflict(#9434)
components: net: lwip: port: add netdev callback on link status change setting
ktime
sdio
finsh
fal:
ipc:
pm:
DM2.0
Feature:
Support virtual pin,LED, regulator
Support ATA AHCI (#9683)、reset controller (#9630)、hardware mailbox (#9599)、PHY (external) (#9597)、NVME (#9591)、SCSI bus (#9592)、DMA management (#9682)、 IIO (Industrial I/O) (#9598)、import SoC Pinctrl config
Support milkv-duo rt-smart
Support simple block layer
Support MFD syscon
Support import SoC CLK config
Support clock subprobe in OFW
Support driver depends fix auto
Add general sdhci driver it support pio&&sdma (#9649)
Add PWM cool fan(#9711)
Add support AMP mode (#9762)
Add support PIC mailbox in AMP (#9762)
Add ms sleep for link status change
DM Device IDA management
Make SoC Kconfig import easy
Basic PCI/PCIe (Peripheral Component Interconnect Express) bus
Extended drivers MISC interface
Merge ofw_parse and request_chan, use strict mode for device DMA pool
Fixup:
Fixup pin propname check
Fixup pin flags get from OFW and pin depend auto
Fixup PCI device ofw private node for MSI
Fixup pinctrl depend auto
Fixup MSI first IRQ read offset
Fixup PCI MSI global irq map
Fixup bitmap to new type (#9774)
Fixup block value init (#9774)
Fix smart uninitialized buffer on mount(2) (#9636)
Fix DFS partition memory leak (#9841)
Fixup platform request will deadlock
riscv:
rtconfig.py
(#9139)Doxygen:
dfs:
Add some comments to dfs posix APIs for supplement
Handling unit size in POSIX RW request
finsh: fix the wrong comments for FINSH_USING_SYMTAB macro in markdown files.
Update STM32 BSP production tutorial
add driver example for doxygen (#9446)
fix source code catalog Name itemUtest
Remove useless code And Update mem documentation
fix dead link to contribution_guide.md in README.md README_es.md README_de.md
Change log since v5.0.2 release:
scons --target=vsc/--pack=xxx
command; Added prebuilding operationChange Log Since v5.0.1 Release
stm32
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
airm2m
wch
imxrt
renesas
acm32
bouffalo_lab
nuvoton
Infineon
esp32_c3
raspberry-pico:
phytium
hpmicro
gd32
nuclei
Change log since v5.0.0 released
DFS
Libc
LWP
Support for scalable memory management (#7277)
Network
Other
add debug info for gdb
--add-rtconfig
args for scons when you want to add macro definitions build time.fix mismatched function types in rt_pin_ops for all drv_gpio.c
Change log since v4.1.1 released
Change log since v4.1.0 released
__clang__
to replace __CLANG_ARM
_sys_ensure
Attention, the list of new bsp we have added :
lpc55sxx
stm32
wch
gd32
simulator
qemu
airm2m
n32g452xx
microchip
nuvoton
at32
NXP
Nuclei
renesas
essemi
esp
k210
HC32
raspberry-pico
nuc980
rockchip
nrf5x
adapt lvgl 8.3.0
n32
fm33lc026
apm32
ifx
raspi3-32
synwit
tms320f28379d
Change log since v4.1.0 Beta released
Change log since v4.0.4
libc
drivers
lwip
dfs
Shrink pThread to POSIX. Change DFS from POSIX to POSIX from DFS
Adjust the SAL dependency
Implement legacy support
Revise RT_USING_POSIX_STDIO to RT_USING_POSIX_DEVIO
Add macro definition restrictions to finsh set Device calls
shell
kservice
[kernel] Collating of Kconfig
[ulog] Add ulog backend filter.
[posix] Organize IO categories according to advanced Unix environment programming
Add creat() function
[Ymodem] silent warnings
Use rt_memcpy rt_memset instead of memcpy memset
Fixed AT component in CLI mode, the command input is too long, resulting in the array out of bounds
[example] Remove RT_USING_TC
Fix armclang Cpp11 memory leak and compilation warning issues
Improve and add comments in examples/network/ including tcpserver.c
libcpu
Add and update gd32 bsp
Update n32g452xx
Nuvoton
[raspberry-pico] Add lvgl_8.1.0 support
simulator
[gd32] Repair startup_gd32f30x_cl.s
Remove the problematic rtconfig.h
[console] Fixed an error when using device without defining RT_USING_DEVICE
Use clang instead of __CLANG_ARM
Update essemi bsp
[nuclei] change hbird_eval bsp to nuclei_fpga_eval
The sconscript script in the application folder increases the recursion searching capability
[Vango V85xx] modify NULL to RT_NULL
fix the compiling issue for qemu-riscv64
update K210 bsp and base on https://github.com/kendryte/K210-Micropython-OpenMV
[lpc55s69_nxp_evk]
Correction of 'BSP /Copyright notice.md' errors
nrf5x
Remove the bsp of nrf51822
Add tkm32f499 bsp and flash_download app
Remove empty rt_hw_us_delay
[at32] Optimized the pin-index algorithm
ra6m4
MAX32660-EVK
[bluetrum] add flash support
[ra6m4-cpk] add gcc build support.
stm32
Fix STM32L4 series flash will fail to erase the first time after downloading the program
stm32l475-atk-pandora
Add ADC PWM pin definition
Preliminary realization of Arduino ecological compatibility
Add lcd_fill_array()
Add lvgl demo
Add BSP_USING_LCD_SAMPLE in rttlogo.h
Enable SPI3-DMA2 for LCD
Beautify kconfig of board
Fix issue where board folder sconscript script did not continue scanning subfolders
Improve the structrue of sconscript
Add ESP8266 quick build option, serial port driver is changed from V2 to V1
Fix compile warnings on qemu-vexpress-a9 platform (-Wimplicit-function-declaration)
[qemu-a9] add lvgl support.
[fix] The baud rate is configured according to the different APB1 frequencies. f4-series only.
[qemu] update Kconfig
Fix Raspi3 GPIO driver write bug
[ls1cdev] add stack size to avoid stack overflow when boot
[rp6m4-cpk] Add new drivers and improve BSP
CI
Fix bug with missing brackets in eclipse.py
Change ccflags to cflags,add LOCAL_CCFLAGS、LOCAL_CLFAGS、LOCAL_CXXFLAGS
Fix generate .project file error
Remove unused file 1.txt
Update buildbot.py
Fix adding empty lists and empty strings
Add function of auto-update rtconfig.h
Change log since v4.0.3
sys
folderChange log since v4.0.2
__RTTHREAD__
global macro definitionRT_THREAD_CTRL_CLOSE
commandRT_USING_FINSH
from the kernelAdd more BSP on BSP framework:
Add more STM32 BSP based on new STM32 BSP framework:
New STM32 BSP framework:
scons --dist
tackanalysis
optionrtconfig.h
files in scons with command scons --menuconfig
Change log since v4.0.1
rt_mq_create
in some abnormal case;rt_console_set_device
function;suspend_thread_count
member from memory_pool structure;cpu.c
will not be added into project by default;rt_thread_exit
turned on the interrupt prematurely in the SMP mode, so other cores might delete this task, causing the issue in subsequent function stacks;rt_thread_delete
change the status of thread;dfs_mount_device
API to mount a file system on a device which is already in mount_table;rt_hw_console_getchar()
function which is simple to implement and not using the device framework;ulog/ulog_console_backend_output
;libc\compilers\common
folder;dlib/sys/unistd.h
(which will cause compilation warnings);sys/errno.h
andsys/signal.h
header files under dlib;at_server_send ()
and at_server_recv ()
;closesocket()
in SAL component when socket closing failure after shutdown()
;sal_bind ()
network card binding related function in SAL component;sys_arch_mbox_fetch()
in lwIP which may occur when a socket is closed;dhcpd_stop()
interface;rt_i2c_master_send/rt_i2c_master_recv
;rt_mmcsd_blk_remove
;SFUD_FLASH_DEVICE_TABLE
in SFUD;rt_rbb_destroy()
function;rt_rbb_blk_alloc
function;struct rt_delayed_work
in workqueue to struct rt_work
;bsp/essemi/es32f0334
;bsp/essemi/es8p508x
BSP, including UART and GPIO drivers;rt_hw_sci_init()
for opening the global interrupt in tms320f28379d BSP;rt_tick_from_millisecond()
compilation warning issue;ENOTSUP
in libc_errno.h.rt_int8_t/.../rt_uint32_t
and other basic data types can be defined by BSP itself. (It is recommended to put them into the rtconfig_project.h file, so that this file can be automatically included in rtconfig.h when menuconfig generates it.)RT_Device_Class_Sensor
type devices;rt_hw_spin_lock/rt_hw_spin_unlock
is redefined as the disable/enable interrupt.rt_strnlen()
function in kservice.c.itctrol()
function not support to control socketfd issues in SAL;More board support is added to the new STM32 BSP:
Add the ARC support for Synopsys Design Ware ARC EM Starter Kit (Synopsys provides maintenance and support);
The SCI driver is added to the TMS320F28379D BSP (xuzuoyi).
Add W60X Wi-Fi SoC chip BSP from Winner Microelectronics Co.,Ltd. (Winner Micro and RealThread provide maintenance and support);
Fix the UART2 IO configuration issue in X1000 UART driver (Zhou Yanjie);
Add SConscript file for each CPU porting.
Cleanup the libcpu/arm/cortex-a code;
The _rt_hw_context_switch_interrupt/_rt_hw_context_switch is separated in TI DSP TMS320F28379D BSP (xuzuoyi);
scons –target=makefile -s
. Then developer can use make to build RT-Thread under Linux or Windows.scons –target=eclipse -s
, which will put the necessary information in .cproject
and .project
files in current BSP folder. The developer can use Eclipse to build RT-Thread.fd_is_open()
issue: when the sub-path is the same in different mounted filesystem.getcwd()
function of DFS (the critical lock/unlock is different in SMP environment);list_thread/list_*
implementation of finsh cmd to avoid multi-core competition case;aio_result
issue, which is returned by aio_read_work
in AIO; (fullhan)_sys_istty
function in armlibc to correctly handle STDIN/STDOUT/STDERR; (gbcwbz)_write_r
function in newlib to correctly handle stdout.at_recvfrom()
function in at_socket;sal_socket_ops/sal_proto_ops
and sal_proto_ops is implemented with gethostbyname/getaddrinfo ops etc.ulog_strcpy
, which should be not exceed ULOG_LINE_BUF_SIZE
;can_rx/can_tx
issue, which is not cleared to NULL when CAN device is closed in drivers/can; (xeonxu)RT_SERIAL_USING_DMA
option in drivers/serial;blk_size
issue in rt_rbb_blk_alloc()
;_get_descriptor
function;cosnt char *
in rt_hw_interrupt_install
function; (liruncong)$
warning issue in Kconfig files of each BSP;e31207077
)str(Dir('#'))
;scons --pyconfig-silent
command to add some Kconfig configurations and to generate .config
and rtconfig.h
files;scons --dist
command to adapt to the new BSP framework;system32
path to environment variables to avoid the cmd
command cannot be found;PYTHONHOME
variable to environment variables to avoid PYTHON environment issue;ARCH_CPU_STACK_GROWS_UPWARD
macro. Because there are fewer ARCH for stacks growing upward, this configuration item does not display directly in menuconfig. When a CPU ARCH needs stacks growing upward, the configuration of ARCH_CPU_STACK_GROWS_UPWARD
can be selected by BSP Kconfig file in default.Moderate Warnings
in project configuration in C/C++ (AC6) TAB; After using ARMCC v6, RT-Thread will add an additional CLANG_ARM
macro definition; (liruncong, nongxiaoming, bernard)RT_USING_IDLE_HOOK
configuration in Kconfig becomes a separate configuration item, not limited to RT_USING_HOOK
; (geniusgogo)select()
issue for UDP communication in AT component. Add the receiving data handling to complete the clearing of received event;bsp/imxrt
directory; A touch framework is added to bsp/imxrt
, and later will be moved into components/drivers
directory;scons --pyconfig
mode, which has a TK UI configurator; (weety)-std=c99
is not added into C-compiler flags), but please note: PThreads component failed in 2.5 and new version of newlib.libc/libdl
.rtdbg.h
file.RT_USED
is used to keep symbols and avoid to add more argument or section in link phrase.int finsh_set_prompt (const char * prompt);
routine for setting a custom prompt for msh;libc/libdl
component;scons --dist
function to make distribution for a BSP.scons --target=vsc -s
to generate friendly configuration files for VSCode;Improve the comments of rtdbg.h file. In RT-Thread, just use following code to add debug log feature:
#define DBG_ENABLE
#define DBG_SECTION_NAME "[ MOD]"
#define DBG_LEVEL DBG_INFO
#define DBG_COLOR
#include <rtdbg.h>
When close the DBG_ENABLE definition, the debug log will be closed. Otherwise, the dbg_log(level, fmt, ...)
can be used to print debug information.
DBG_SECTION_NAME - The prefix information for each log line; DBG_LEVEL - The debug log level; DBG_COLOR - Whether use color log in console.
_REENT_SMALL
macro when enable newlib nanao;rt_device_create/destroy
APIclock_time
from pthreads and add a new clock id: CLOCK_CPUTIME_ID
RT_USING_CPLUSPLUS
in GNU GCC configurationscons --memuconfig
to enable it;This release is the final release for RT-Thread v2.1.0 branch. This release has been delayed many time. After committed fh8620 and x1000 bsp, we are proud to announce this branch release of the official version.
The change log since last stable version:
版本: RT-Threadv2.0.1及v2.1.0 alpha
RT-Thread v2.0.1是2.0这个系列的bug修正版,而v2.1.0 alpha则是当前开发主干的一个技术预览版本,它给出了v2.1.0这个版本系列的技术预览情况,不建议用于实际产品中,因为它可能存在大量的一些bug。
而v2.1.0 alpha这个技术预览版则沿着最初设定的roadmap技术路线进行,这其中主要包括:
lwip更深度的集成:把它集成到RT-Thread的文件系统接口中,这样Linux/Unix下的一些socket网络应用能够更顺利的移植到RT-Thread上,也为以后可以应用到更多地方的select接口铺路。
这部分是和RT-Thread发布本身无关,但也是这个版本系列设定的目标之一:开启一个云端集成开发环境的时代!云端会是什么样的,请用现代化的浏览器打开CloudIDE
经历了大约1年的时间,RT-Thread v2.0.0的最终版本终于发布出来了。自这个版本开发以来,引入了多项功能、修改、增强等。感谢参与的诸位开发人员! 以下是自v2.0.0 RC版本以来的详细更改记录。后续我还会给出v2.0.0版本自v1.2.x版本的主要不同、看点,以及给出下一个版本的roadmap规划。
发布时间:2014/11/4
随着RT-Thread功能越来越多,如何发布版本也成为一件头疼的事情,因为需要仔细对比最近三个月来的修改记录。这次的发布距离上一次beta版本依然是三个月的时间,但按照发布计划已然推迟了一个月进行发布。
在这三个月中,开源社区上也发生了很多有趣的事情:
阿嘉的使用RT-Thread的四轴飞行器毕业设计惊艳亮相,采用了1个STM32F4 + 8个STM32F1进行飞行控制,总计9个MCU的另类实现方式;沿循四轴飞行器的路线,与国内匿名团队合作,采用RW009 Wi-Fi控制的迷你四轴飞行器也在稳步推进过程中。
RT-Thread做为一个开源组织参与的CSDN开源夏令营结出了丰硕的果实: 由hduffddybz参与的IPv6协议栈移植(最新版本的lwIP-head版本移植)在这次发布中已经包括进来,从而能够在使用RT-Thread的小型设备上实现TCP/IP v4/v6双栈的支持; 由wzyy2参与的GDB stub实现,也完美的支持BeagleBoneBlack开发板和STM32F4平台; CSDN开源夏令营其他的成果,例如bluedroid移植也有了初步的成果,希望能够在后续的版本(可能会是2.1.0系列版本?)包含进来。CSDN开源夏令营是一次非常棒的活动,能够让学生提前进入实战,了解软件开发的初步知识。对开源社区来说,也是一次非常有益的社区互动活动。希望明年这个活动可以继续,关注RT-Thread、嵌入式开发的同学可以关注明年的动向。
当前智能化设备是一个备受关注的领域,针对这一领域的特点,RT-Thread也相