diff --git a/ChangeLog.md b/ChangeLog.md index 76bc6f80b2..e243c53ee4 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,103 @@ +# RT-Thread v3.1.2 Change Log + +## Kernel + +* nothing + +## Components + +* When formatting the file system, adds FM_SFD option to create a volume in SFD format for FatFs; (HubretXie) +* Add file system handle pointer in `struct dfs_fd' structure; +* Fix stdio fd issue when POSIX api is used; (gbcwbz) +* Fix the `fd_is_open()` issue: when the sub-path is the same in different mounted filesystem. +* Change the critical lock/unlock to dfs_lock/unlock in `getcwd()` function of DFS (the critical lock/unlock is different in SMP environment); +* Fix the `aio_result` issue, which is returned by `aio_read_work` in AIO; (fullhan) +* Fix the mmap issue when the addr parameter is NULL; (fullhan) +* Modify the `_sys_istty` function in armlibc to correctly handle STDIN/STDOUT/STDERR; (gbcwbz) +* Modify the `_write_r` function in newlib to correctly handle stdout. +* Fix the at_socket issue when socket is a null pointer; (thomas onegd) +* Fix the select event issue in `at_recvfrom()` function in at_socket; +* Divide SAL into `sal_socket_ops/sal_proto_ops` and sal_proto_ops is implemented with gethostbyname/getaddrinfo ops etc. +* Add socket TLS layer in SAL, that is, upper application can be supported by encrypted transmission without considering lowlevel TLS at all. +* Fix the length issue of `ulog_strcpy`, which should be not exceed `ULOG_LINE_BUF_SIZE`; +* Add the macro definition of hexadecimal log output to ulog; (HubretXie) +* Add uTest component. The uTest is a unit test framework on RT-Thread, and can also be used for automatic testing on board with external Python scripts. +* Fix some compilation warnings and enumeration mismatches in drivers/audio; +* Fix the `can_rx/can_tx` issue, which is not cleared to NULL when CAN device is closed in drivers/can; (xeonxu) +* Fix drivers/hwtimer, time acquisition issue with counting down mode; +* Add drivers/adc driver framework; +* Fix the tick compensation issue when enable interrupt too early; (geniusgogo) +* Add `RT_SERIAL_USING_DMA` option in drivers/serial; +* Add QSPI support in drivers/spi framework; +* Add QSPI support in SFUD (based on the QSPI peripheral of stm32); SFUD is upgraded to version 1.1.0; +* Optimize SPI take/release function call in spi_msd; +* Fix the `blk_size` issue in `rt_rbb_blk_alloc()`; +* Fix the FS USB issue in `_get_descriptor` function; +* Fix the empty password issue in AP mode of drivers/wlan; +* Fix the return type issue in drivers/wlan; +* Remove the duplicate opening file check when open a file; + +# BSP + +* Change the name parameter to `cosnt char *` in `rt_hw_interrupt_install` function; (liruncong) +* Fix `$` warning issue in Kconfig files of each BSP; +* Add the LPC54114-lite BSP, including GPIO, I2C, SDCard, SPI, SPI Flash, UART driver; +* Add Nuvoton-M487 BSP, including UART, EMAC driver; (Bluebear 233) +* Fix the CAN driver issue in STM32F4XX-HAL BSP; (xeonxu) +* Fix UART DMA settings issue in STM32F10x/STM32F40x BSP; (zhouchuanfu) +* Fix the HEAP_BEGIN definition issue in STM32H743-Nucleo BSP; (nongxiaoming) +* Fix GPIO configuration issue in stm32f10x-HAL; (Wu Han) +* Change stm32f107 BSP as main function entry; (whj4674672) +* Fix the serial interrupt handling issue in stm32f10x BSP; +* Add PWM, RTC and watchdog drivers to stm32f10x-HAL BSP; (XXXXzzzz000) +* Fix the watchdog driver issue in stm32f4xx-HAL BSP; (XXXXzzzz000) +* Use lwIP version 2.x in stm32f40x/stm32f107 BSP. +* Fix the link issue when enable CmBacktrace package in stm32f4xx-HAL BSP; (xeonxu) +* Support Audio and microphones features in stm32f429-apollo BSP; +* Enable dlmodule support in x86 BSP; (SASANO Takayoshi) +* Addd uTest section in the link script of qemu-vexpress-a9/stm32f429-atk-apollo BSP for automatic testing; +* Change the license to Apache License v2.0 in Godson 1C BSP; (sundm75) +* Add the new BSP framework for STM32 serial chip, such as STM32 G0/F0/L0/F1/F4/F7/H7. In new BSP framework, the SoC drivers is reused. And in same time, lots of STM32 boards are supportted with new BSP framework: + * STM32F091-Nucleo Development Board BSP + * STM32F411-Nucleo Development Board BSP + * STM32L432-Nucleo Development Board BSP; (sun_shine) + * STM32F407-Discovery Development Board BSP + * STM32F446-Nucleo Development Board BSP; (andeyqi) + * STM32F746-Discovery Development Board BSP; (jinsheng) + * STM32F767-Nucleo Development Board BSP; (e31207077) + * STM32G071-Nucleo Development Board BSP; + * ATK STM32F103 NANO Development Board BSP + * ATK STM32F407 Explorer Development Board BSP + * ATK STM32F429 Apollo Development Board BSP + * ATK STM32F767 Apollo Development Board BSP + * ATK STM32L475 Pandora IoT Development Board BSP + * Fire STM32F103 Arbitrary Development Board BSP + * Fire STM32F429 Challenger Development Board BSP + * Fire STM32F767 Challenger Development Board BSP; (Hao Zhu) + * ArmFly STM32F429-v6 Development Board BSP + * STM32F103 iBox development board BSP; (dingo1688) + * Dofly STM32F103 Development Board; (FindYGL) + * STM32F107 uC/Eval Development Board BSP; (whj4674672) + * and more, there are more developers involved for stm32 BSP framework, they are HubretXie, Hao Zhu, e190, etc. to improve the STM32 public driver. +* Add SWM320 BSP of Synwit.cn, including GPIO, HW Timer, I2C, Watchdog, PWM, RTC, SPI, UART, etc.; (provided and maintained by Synwit) +* Add TI TMS320F28379D BSP, the first DSP chip supported on RT-Thread; (xuzhuoyi) +* Fix USB driver issue in X1000; (Zhou YanJie) + +# Tool + +* Provide more inforamtion when the tool chain does not exist; +* Add a draft Segger Embedded Studio project file generation command. Note that the tool chain in SES is a special version not the newlib. +* Fix the IAR library link command issue when use scons command line under; +* Fix the BSP path issue in scons `str(Dir('#'))`; +* Add `scons --pyconfig-silent` command to add some Kconfig configurations and to generate `.config` and `rtconfig.h` files; +* Update the `scons --dist` command to adapt to the new BSP framework; +* Modify the mkromfs.py script. Fix the corresponding C code generation When the romfs contains empty files or empty folders; +* Fix the issue of version string comparison issue for GNU GCC version in utils.py; +* ENV updated to V1.1.0 + * Provide better prompt information to improve user experience; + * Add `system32` path to environment variables to avoid the `cmd` command cannot be found; + * Add `PYTHONHOME` variable to environment variables to avoid PYTHON environment issue; + # RT-Thread v3.1.1 Change Log ## Kernel @@ -462,7 +562,7 @@ RT-Thread v2.0.1是2.0这个系列的bug修正版,而v2.1.0 alpha则是当前 * 修正USB host代码的编译错误; * 修正sensor框架回调函数的问题; * 修正pin设备注册时的设备名称问题; - + 而v2.1.0 alpha这个技术预览版则沿着最初设定的roadmap技术路线进行,这其中主要包括: * lwip更深度的集成:把它集成到RT-Thread的文件系统接口中,这样Linux/Unix下的一些socket网络应用能够更顺利的移植到RT-Thread上,也为以后可以应用到更多地方的select接口铺路。 @@ -475,7 +575,7 @@ RT-Thread v2.0.1是2.0这个系列的bug修正版,而v2.1.0 alpha则是当前 以下是自v2.0.0 RC版本以来的详细更改记录。后续我还会给出v2.0.0版本自v1.2.x版本的主要不同、看点,以及给出下一个版本的roadmap规划。 ## 内核 - + * console以RT_DEVICE_FLAG_STREAM参数打开字符设备; * 在rt_memheap_free中加入更多的断言检查; @@ -495,7 +595,7 @@ RT-Thread v2.0.1是2.0这个系列的bug修正版,而v2.1.0 alpha则是当前 * 添加VBUS组件用于Linux与RT-Thread系统之间,RT-Thread与RT-Thread系统之间通信(睿赛德服务公司捐赠); * 增加lwIP/NAT组件,可以做多个网口间的地址转换(Hicard); * 增加lwIP/DHCP服务端,用于向客户端分配IP地址(睿赛德服务公司提供); - + ## BSP * 修正LPC4357串口驱动初始化时过早打开中断的问题(nongxiaoming); @@ -606,7 +706,7 @@ v2.0.0版本的开发相对活跃些,开源社区提供了强有力的支持 * 启动timer前,对timer进行强制移除; * 在执行soft timer超时函数时,打开调度器锁; * 新增块设备的自动刷新参数,RT_DEVICE_CTRL_BLK_AUTOREFRESH; - + ## 工具 * 修正scons命令编译时,选择keil mdk (armcc)编译器时,命令行太长编译失败的问题; @@ -659,7 +759,7 @@ v2.0.0版本的开发相对活跃些,开源社区提供了强有力的支持 # RT-Thread 2.0.0 Alpha更改说明 发布时间:2014/4/8 - +​ RT-Thread 2.0.0分支的第一个技术预览版本,仅用于展示2.0.0发展分支的演化动向(按照roadmap,2.0.0这个分支会有一部分RT-Thread和Linux互补性的技术,为Linux增加更好的实时性,为RT-Thread增加更多的功能性,这份技术预览版正是朝着这个目标而努力),欢迎反馈建议和问题。 ## 组件 @@ -695,7 +795,7 @@ insmod rtvmm.ko # RT-Thread 1.2.1更改说明 发布时间: 2014/4/8 - +​ 在原有的1.2.0版本的bug修正版本,也是1.2.0系列的第一个修正版本,原则上不添加任何的新功能,我们尽量会按照每个季度一个修订版本的方式推进。大家在使用的过程中有什么问题还请反馈给我们,这些问题很可能会在下个版本中修正! 以下是更改记录: @@ -741,7 +841,7 @@ insmod rtvmm.ko 发布时间: 2014/1/6 实现roadmap中提到的大部分内容 - +​ 1,文档方面已完成《RT-Thread编程手册》,同时还有论坛上jiezhi童鞋的《一起来学RT-Thread系列连载教程》 2,BSP分支方面新增cortext-A8(beaglebone),cortext-R4(rm48x50),UNITY-2(SEP6200),lpc408x的移植 3,组件方面: @@ -828,7 +928,7 @@ insmod rtvmm.ko # RT-Thread 1.2.0RC更改说明 发布时间: 2013/10/10/ 10:19 - +​ 主要说明: 该版本新增ARM Cortex-A8的支持(BeagleBone),新增UNITY-2内核的支持(SEP6200),新增Ymodem协议。 变更履历 @@ -923,7 +1023,7 @@ insmod rtvmm.ko 版本: RT-Thread 1.2.0 Beta 版本 发布时间: 2013/6/30 - +​ 进过开发人员三个月的努力,RT-Thread 1.2.0 Beta 版本如期发布。 该版本默认采用lwIP 1.4.1协议栈,USB device stack也进一步完善。加入 log_trace 子系统,加入组件初始化升级版本,加入 ARM Cortex-R 的移植。 @@ -970,7 +1070,7 @@ insmod rtvmm.ko 版本: RT-Thread 1.2.0 Alpha版本 发布时间: 2013/4/10 - +​ 遵循2013年RT-Thread roadmap,RT-Thread 1.2.0 Alpha版本发布,Alpha意味着此版本为技术预览版,仅用于展示RT-Thread 1.2.0未来的发展方向,并不适合于开发正式产品。RT-Thread 1.2.0版本是1.1.x系列的下一个分支,这个分支主要体现的是RT-Thread 1.x系列的文档情况。当然也有一些功能、代码方面的增强。 伴随着新版本的到来,RT-Thread有几个重大的转变: