Skip to content

Commit b2c2958

Browse files
authored
Merge pull request #2289 from armink/lts-v3.1.x
Lts v3.1.x
2 parents dfebb30 + 8ff9b77 commit b2c2958

File tree

1,215 files changed

+282750
-742341
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,215 files changed

+282750
-742341
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
## 拉取/合并请求描述:(PR description)
22

33
[
4-
这段方括号里的内容是您必须填写并替换掉的,否则PR不可能被合并。方括号外面的内容不需要修改,但请仔细阅读。
4+
这段方括号里的内容是您**必须填写并替换掉**,否则PR不可能被合并。**方括号外面的内容不需要修改,但请仔细阅读。**
55
The content in this square bracket must be filled in and replaced, otherwise PR can not be merged. The contents outside square brackets need not be changed, but please read them carefully.
66

77
请在这里填写您的PR描述,可以包括以下之一的内容:为什么提交这份PR;解决的问题是什么,你的解决方案是什么;
@@ -11,8 +11,8 @@ Please fill in your PR description here, which can include one of the following
1111
And confirm in which case or board have been tested.
1212
]
1313

14-
以下的内容请在提交PR后,一项项进行check,没问题后逐条在页面上打钩。
15-
The following contents should be checked item by item after submitted PR, and ticked on the browser one by one after no problem.
14+
以下的内容不应该在提交PR时的message修改,修改下述message,PR会被直接关闭。请在提交PR后,浏览器查看PR并对以下检查项逐项check,没问题后逐条在页面上打钩。
15+
The following content must not be changed in submitted PR message. Otherwise, the PR will be closed immediately. After submitted PR, please use web browser to visit PR, and check items one by one, and ticked them if no problem.
1616

1717
### 当前拉取/合并请求的状态 Intent for your PR
1818

.travis.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ env:
2828
- RTT_BSP='asm9260t' RTT_TOOL_CHAIN='sourcery-arm'
2929
- RTT_BSP='at91sam9260' RTT_TOOL_CHAIN='sourcery-arm'
3030
- RTT_BSP='allwinner_tina' RTT_TOOL_CHAIN='sourcery-arm'
31-
- RTT_BSP='imxrt1052-evk' RTT_TOOL_CHAIN='sourcery-arm'
31+
- RTT_BSP='imxrt/imxrt1050-evk' RTT_TOOL_CHAIN='sourcery-arm'
3232
# - RTT_BSP='avr32uc3b0' RTT_TOOL_CHAIN='atmel-avr32'
3333
# - RTT_BSP='bf533' # no scons
3434
- RTT_BSP='efm32' RTT_TOOL_CHAIN='sourcery-arm'
@@ -74,9 +74,7 @@ env:
7474
- RTT_BSP='stm32f20x' RTT_TOOL_CHAIN='sourcery-arm'
7575
- RTT_BSP='stm32f40x' RTT_TOOL_CHAIN='sourcery-arm'
7676
- RTT_BSP='stm32f4xx-HAL' RTT_TOOL_CHAIN='sourcery-arm'
77-
- RTT_BSP='stm32f411-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
7877
- RTT_BSP='stm32f429-apollo' RTT_TOOL_CHAIN='sourcery-arm'
79-
# - RTT_BSP='stm32f429-armfly' RTT_TOOL_CHAIN='sourcery-arm'
8078
- RTT_BSP='stm32f429-disco' RTT_TOOL_CHAIN='sourcery-arm'
8179
- RTT_BSP='stm32l475-iot-disco' RTT_TOOL_CHAIN='sourcery-arm'
8280
- RTT_BSP='stm32l476-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
@@ -97,6 +95,7 @@ env:
9795
- RTT_BSP='stm32/stm32f767-atk-apollo' RTT_TOOL_CHAIN='sourcery-arm'
9896
- RTT_BSP='stm32/stm32f767-fire-challenger' RTT_TOOL_CHAIN='sourcery-arm'
9997
- RTT_BSP='stm32/stm32f767-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
98+
- RTT_BSP='stm32/stm32g071-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
10099
- RTT_BSP='stm32/stm32l432-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
101100
- RTT_BSP='stm32/stm32l475-atk-pandora' RTT_TOOL_CHAIN='sourcery-arm'
102101
# - RTT_BSP='taihu' RTT_TOOL_CHAIN='sourcery-ppc'

ChangeLog.md

Lines changed: 110 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,103 @@
1+
# RT-Thread v3.1.2 Change Log
2+
3+
## Kernel
4+
5+
* nothing
6+
7+
## Components
8+
9+
* When formatting the file system, adds FM_SFD option to create a volume in SFD format for FatFs; (HubretXie)
10+
* Add file system handle pointer in `struct dfs_fd' structure;
11+
* Fix stdio fd issue when POSIX api is used; (gbcwbz)
12+
* Fix the `fd_is_open()` issue: when the sub-path is the same in different mounted filesystem.
13+
* Change the critical lock/unlock to dfs_lock/unlock in `getcwd()` function of DFS (the critical lock/unlock is different in SMP environment);
14+
* Fix the `aio_result` issue, which is returned by `aio_read_work` in AIO; (fullhan)
15+
* Fix the mmap issue when the addr parameter is NULL; (fullhan)
16+
* Modify the `_sys_istty` function in armlibc to correctly handle STDIN/STDOUT/STDERR; (gbcwbz)
17+
* Modify the `_write_r` function in newlib to correctly handle stdout.
18+
* Fix the at_socket issue when socket is a null pointer; (thomas onegd)
19+
* Fix the select event issue in `at_recvfrom()` function in at_socket;
20+
* Divide SAL into `sal_socket_ops/sal_proto_ops` and sal_proto_ops is implemented with gethostbyname/getaddrinfo ops etc.
21+
* Add socket TLS layer in SAL, that is, upper application can be supported by encrypted transmission without considering lowlevel TLS at all.
22+
* Fix the length issue of `ulog_strcpy`, which should be not exceed `ULOG_LINE_BUF_SIZE`;
23+
* Add the macro definition of hexadecimal log output to ulog; (HubretXie)
24+
* 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.
25+
* Fix some compilation warnings and enumeration mismatches in drivers/audio;
26+
* Fix the `can_rx/can_tx` issue, which is not cleared to NULL when CAN device is closed in drivers/can; (xeonxu)
27+
* Fix drivers/hwtimer, time acquisition issue with counting down mode;
28+
* Add drivers/adc driver framework;
29+
* Fix the tick compensation issue when enable interrupt too early; (geniusgogo)
30+
* Add `RT_SERIAL_USING_DMA` option in drivers/serial;
31+
* Add QSPI support in drivers/spi framework;
32+
* Add QSPI support in SFUD (based on the QSPI peripheral of stm32); SFUD is upgraded to version 1.1.0;
33+
* Optimize SPI take/release function call in spi_msd;
34+
* Fix the `blk_size` issue in `rt_rbb_blk_alloc()`;
35+
* Fix the FS USB issue in `_get_descriptor` function;
36+
* Fix the empty password issue in AP mode of drivers/wlan;
37+
* Fix the return type issue in drivers/wlan;
38+
* Remove the duplicate opening file check when open a file;
39+
40+
# BSP
41+
42+
* Change the name parameter to `cosnt char *` in `rt_hw_interrupt_install` function; (liruncong)
43+
* Fix `$` warning issue in Kconfig files of each BSP;
44+
* Add the LPC54114-lite BSP, including GPIO, I2C, SDCard, SPI, SPI Flash, UART driver;
45+
* Add Nuvoton-M487 BSP, including UART, EMAC driver; (Bluebear 233)
46+
* Fix the CAN driver issue in STM32F4XX-HAL BSP; (xeonxu)
47+
* Fix UART DMA settings issue in STM32F10x/STM32F40x BSP; (zhouchuanfu)
48+
* Fix the HEAP_BEGIN definition issue in STM32H743-Nucleo BSP; (nongxiaoming)
49+
* Fix GPIO configuration issue in stm32f10x-HAL; (Wu Han)
50+
* Change stm32f107 BSP as main function entry; (whj4674672)
51+
* Fix the serial interrupt handling issue in stm32f10x BSP;
52+
* Add PWM, RTC and watchdog drivers to stm32f10x-HAL BSP; (XXXXzzzz000)
53+
* Fix the watchdog driver issue in stm32f4xx-HAL BSP; (XXXXzzzz000)
54+
* Use lwIP version 2.x in stm32f40x/stm32f107 BSP.
55+
* Fix the link issue when enable CmBacktrace package in stm32f4xx-HAL BSP; (xeonxu)
56+
* Support Audio and microphones features in stm32f429-apollo BSP;
57+
* Enable dlmodule support in x86 BSP; (SASANO Takayoshi)
58+
* Addd uTest section in the link script of qemu-vexpress-a9/stm32f429-atk-apollo BSP for automatic testing;
59+
* Change the license to Apache License v2.0 in Godson 1C BSP; (sundm75)
60+
* 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:
61+
* STM32F091-Nucleo Development Board BSP
62+
* STM32F411-Nucleo Development Board BSP
63+
* STM32L432-Nucleo Development Board BSP; (sun_shine)
64+
* STM32F407-Discovery Development Board BSP
65+
* STM32F446-Nucleo Development Board BSP; (andeyqi)
66+
* STM32F746-Discovery Development Board BSP; (jinsheng)
67+
* STM32F767-Nucleo Development Board BSP; (e31207077)
68+
* STM32G071-Nucleo Development Board BSP;
69+
* ATK STM32F103 NANO Development Board BSP
70+
* ATK STM32F407 Explorer Development Board BSP
71+
* ATK STM32F429 Apollo Development Board BSP
72+
* ATK STM32F767 Apollo Development Board BSP
73+
* ATK STM32L475 Pandora IoT Development Board BSP
74+
* Fire STM32F103 Arbitrary Development Board BSP
75+
* Fire STM32F429 Challenger Development Board BSP
76+
* Fire STM32F767 Challenger Development Board BSP; (Hao Zhu)
77+
* ArmFly STM32F429-v6 Development Board BSP
78+
* STM32F103 iBox development board BSP; (dingo1688)
79+
* Dofly STM32F103 Development Board; (FindYGL)
80+
* STM32F107 uC/Eval Development Board BSP; (whj4674672)
81+
* and more, there are more developers involved for stm32 BSP framework, they are HubretXie, Hao Zhu, e190, etc. to improve the STM32 public driver.
82+
* Add SWM320 BSP of Synwit.cn, including GPIO, HW Timer, I2C, Watchdog, PWM, RTC, SPI, UART, etc.; (provided and maintained by Synwit)
83+
* Add TI TMS320F28379D BSP, the first DSP chip supported on RT-Thread; (xuzhuoyi)
84+
* Fix USB driver issue in X1000; (Zhou YanJie)
85+
86+
# Tool
87+
88+
* Provide more inforamtion when the tool chain does not exist;
89+
* Add a draft Segger Embedded Studio project file generation command. Note that the tool chain in SES is a special version not the newlib.
90+
* Fix the IAR library link command issue when use scons command line under;
91+
* Fix the BSP path issue in scons `str(Dir('#'))`;
92+
* Add `scons --pyconfig-silent` command to add some Kconfig configurations and to generate `.config` and `rtconfig.h` files;
93+
* Update the `scons --dist` command to adapt to the new BSP framework;
94+
* Modify the mkromfs.py script. Fix the corresponding C code generation When the romfs contains empty files or empty folders;
95+
* Fix the issue of version string comparison issue for GNU GCC version in utils.py;
96+
* ENV updated to V1.1.0
97+
* Provide better prompt information to improve user experience;
98+
* Add `system32` path to environment variables to avoid the `cmd` command cannot be found;
99+
* Add `PYTHONHOME` variable to environment variables to avoid PYTHON environment issue;
100+
1101
# RT-Thread v3.1.1 Change Log
2102

3103
## Kernel
@@ -462,7 +562,7 @@ RT-Thread v2.0.1是2.0这个系列的bug修正版,而v2.1.0 alpha则是当前
462562
* 修正USB host代码的编译错误;
463563
* 修正sensor框架回调函数的问题;
464564
* 修正pin设备注册时的设备名称问题;
465-
565+
466566
而v2.1.0 alpha这个技术预览版则沿着最初设定的roadmap技术路线进行,这其中主要包括:
467567

468568
* 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则是当前
475575
以下是自v2.0.0 RC版本以来的详细更改记录。后续我还会给出v2.0.0版本自v1.2.x版本的主要不同、看点,以及给出下一个版本的roadmap规划。
476576

477577
## 内核
478-
578+
479579
* console以RT_DEVICE_FLAG_STREAM参数打开字符设备;
480580
* 在rt_memheap_free中加入更多的断言检查;
481581

@@ -495,7 +595,7 @@ RT-Thread v2.0.1是2.0这个系列的bug修正版,而v2.1.0 alpha则是当前
495595
* 添加VBUS组件用于Linux与RT-Thread系统之间,RT-Thread与RT-Thread系统之间通信(睿赛德服务公司捐赠);
496596
* 增加lwIP/NAT组件,可以做多个网口间的地址转换(Hicard);
497597
* 增加lwIP/DHCP服务端,用于向客户端分配IP地址(睿赛德服务公司提供);
498-
598+
499599
## BSP
500600

501601
* 修正LPC4357串口驱动初始化时过早打开中断的问题(nongxiaoming);
@@ -606,7 +706,7 @@ v2.0.0版本的开发相对活跃些,开源社区提供了强有力的支持
606706
* 启动timer前,对timer进行强制移除;
607707
* 在执行soft timer超时函数时,打开调度器锁;
608708
* 新增块设备的自动刷新参数,RT_DEVICE_CTRL_BLK_AUTOREFRESH;
609-
709+
610710
## 工具
611711

612712
* 修正scons命令编译时,选择keil mdk (armcc)编译器时,命令行太长编译失败的问题;
@@ -659,7 +759,7 @@ v2.0.0版本的开发相对活跃些,开源社区提供了强有力的支持
659759
# RT-Thread 2.0.0 Alpha更改说明
660760

661761
发布时间:2014/4/8
662-
762+
663763
RT-Thread 2.0.0分支的第一个技术预览版本,仅用于展示2.0.0发展分支的演化动向(按照roadmap,2.0.0这个分支会有一部分RT-Thread和Linux互补性的技术,为Linux增加更好的实时性,为RT-Thread增加更多的功能性,这份技术预览版正是朝着这个目标而努力),欢迎反馈建议和问题。
664764

665765
## 组件
@@ -695,7 +795,7 @@ insmod rtvmm.ko
695795
# RT-Thread 1.2.1更改说明
696796

697797
发布时间: 2014/4/8
698-
798+
699799
在原有的1.2.0版本的bug修正版本,也是1.2.0系列的第一个修正版本,原则上不添加任何的新功能,我们尽量会按照每个季度一个修订版本的方式推进。大家在使用的过程中有什么问题还请反馈给我们,这些问题很可能会在下个版本中修正!
700800

701801
以下是更改记录:
@@ -741,7 +841,7 @@ insmod rtvmm.ko
741841
发布时间: 2014/1/6
742842

743843
实现roadmap中提到的大部分内容
744-
844+
745845
1,文档方面已完成《RT-Thread编程手册》,同时还有论坛上jiezhi童鞋的《一起来学RT-Thread系列连载教程》
746846
2,BSP分支方面新增cortext-A8(beaglebone),cortext-R4(rm48x50),UNITY-2(SEP6200),lpc408x的移植
747847
3,组件方面:
@@ -828,7 +928,7 @@ insmod rtvmm.ko
828928
# RT-Thread 1.2.0RC更改说明
829929

830930
发布时间: 2013/10/10/ 10:19
831-
931+
832932
主要说明: 该版本新增ARM Cortex-A8的支持(BeagleBone),新增UNITY-2内核的支持(SEP6200),新增Ymodem协议。
833933

834934
变更履历
@@ -923,7 +1023,7 @@ insmod rtvmm.ko
9231023
版本: RT-Thread 1.2.0 Beta 版本
9241024

9251025
发布时间: 2013/6/30
926-
1026+
9271027
进过开发人员三个月的努力,RT-Thread 1.2.0 Beta 版本如期发布。
9281028
该版本默认采用lwIP 1.4.1协议栈,USB device stack也进一步完善。加入 log_trace 子系统,加入组件初始化升级版本,加入 ARM Cortex-R 的移植。
9291029

@@ -970,7 +1070,7 @@ insmod rtvmm.ko
9701070
版本: RT-Thread 1.2.0 Alpha版本
9711071

9721072
发布时间: 2013/4/10
973-
1073+
9741074
遵循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系列的文档情况。当然也有一些功能、代码方面的增强。
9751075

9761076
伴随着新版本的到来,RT-Thread有几个重大的转变:

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,6 @@ RT-Thread is Open Source software under the Apache License 2.0 since RT-Thread v
5353

5454
Since 9th of September 2018, PRs submitted by the community may be merged into the main line only after signing the Contributor License Agreement(CLA).
5555

56-
NOTE:
57-
58-
RT-Thread using the Apache license v2.0 is only launched after the release of v3.1.1, and is still in preparation right now.
59-
6056
## Usage ##
6157

6258
RT-Thread RTOS uses [scons](http://www.scons.org) as building system. Therefore, please install scons and Python 2.7 firstly.

0 commit comments

Comments
 (0)