Skip to content

Commit 2c12493

Browse files
authored
Merge pull request #4404 from KyleChenjh/lts-v3.1.x
[Update] Sync from v4.0.3
2 parents 5f17cf9 + 19871ac commit 2c12493

File tree

710 files changed

+3384
-9176
lines changed

Some content is hidden

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

710 files changed

+3384
-9176
lines changed

.github/workflows/action.yml

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
name: RT-Thread
2+
3+
# Controls when the action will run. Triggers the workflow on push or pull request
4+
# events but only for the lts-v3.1.x branch
5+
on:
6+
# Runs at 16:00 UTC (BeiJing 00:00) on the 1st of every month
7+
schedule:
8+
- cron: '0 16 1 * *'
9+
push:
10+
branches:
11+
- lts-v3.1.x
12+
paths-ignore:
13+
- documentation/**
14+
- '**/README.md'
15+
- '**/README_zh.md'
16+
pull_request:
17+
branches:
18+
- lts-v3.1.x
19+
paths-ignore:
20+
- documentation/**
21+
- '**/README.md'
22+
- '**/README_zh.md'
23+
24+
jobs:
25+
build:
26+
runs-on: ubuntu-latest
27+
name: ${{ matrix.legs.RTT_BSP }}
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
legs:
32+
- {RTT_BSP: "CME_M7", RTT_TOOL_CHAIN: "sourcery-arm"}
33+
- {RTT_BSP: "apollo2", RTT_TOOL_CHAIN: "sourcery-arm"}
34+
- {RTT_BSP: "asm9260t", RTT_TOOL_CHAIN: "sourcery-arm"}
35+
- {RTT_BSP: "at91sam9260", RTT_TOOL_CHAIN: "sourcery-arm"}
36+
- {RTT_BSP: "allwinner_tina", RTT_TOOL_CHAIN: "sourcery-arm"}
37+
- {RTT_BSP: "efm32", RTT_TOOL_CHAIN: "sourcery-arm"}
38+
- {RTT_BSP: "gd32303e-eval", RTT_TOOL_CHAIN: "sourcery-arm"}
39+
- {RTT_BSP: "gd32450z-eval", RTT_TOOL_CHAIN: "sourcery-arm"}
40+
- {RTT_BSP: "gkipc", RTT_TOOL_CHAIN: "sourcery-arm"}
41+
- {RTT_BSP: "imx6sx/cortex-a9", RTT_TOOL_CHAIN: "sourcery-arm"}
42+
- {RTT_BSP: "imxrt/imxrt1052-atk-commander", RTT_TOOL_CHAIN: "sourcery-arm"}
43+
- {RTT_BSP: "imxrt/imxrt1052-fire-pro", RTT_TOOL_CHAIN: "sourcery-arm"}
44+
- {RTT_BSP: "imxrt/imxrt1052-nxp-evk", RTT_TOOL_CHAIN: "sourcery-arm"}
45+
- {RTT_BSP: "lm3s8962", RTT_TOOL_CHAIN: "sourcery-arm"}
46+
- {RTT_BSP: "lm4f232", RTT_TOOL_CHAIN: "sourcery-arm"}
47+
- {RTT_BSP: "lpc43xx/M4", RTT_TOOL_CHAIN: "sourcery-arm"}
48+
- {RTT_BSP: "lpc178x", RTT_TOOL_CHAIN: "sourcery-arm"}
49+
- {RTT_BSP: "lpc408x", RTT_TOOL_CHAIN: "sourcery-arm"}
50+
- {RTT_BSP: "lpc2148", RTT_TOOL_CHAIN: "sourcery-arm"}
51+
- {RTT_BSP: "lpc2478", RTT_TOOL_CHAIN: "sourcery-arm"}
52+
- {RTT_BSP: "lpc5410x", RTT_TOOL_CHAIN: "sourcery-arm"}
53+
- {RTT_BSP: "lpc54114-lite", RTT_TOOL_CHAIN: "sourcery-arm"}
54+
- {RTT_BSP: "ls1bdev", RTT_TOOL_CHAIN: "sourcery-mips"}
55+
- {RTT_BSP: "ls1cdev", RTT_TOOL_CHAIN: "sourcery-mips"}
56+
- {RTT_BSP: "mb9bf500r", RTT_TOOL_CHAIN: "sourcery-arm"}
57+
- {RTT_BSP: "mb9bf506r", RTT_TOOL_CHAIN: "sourcery-arm"}
58+
- {RTT_BSP: "mb9bf618s", RTT_TOOL_CHAIN: "sourcery-arm"}
59+
- {RTT_BSP: "mb9bf568r", RTT_TOOL_CHAIN: "sourcery-arm"}
60+
- {RTT_BSP: "qemu-vexpress-a9", RTT_TOOL_CHAIN: "sourcery-arm"}
61+
- {RTT_BSP: "qemu-vexpress-gemini", RTT_TOOL_CHAIN: "sourcery-arm"}
62+
- {RTT_BSP: "stm32/stm32f072-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
63+
- {RTT_BSP: "stm32/stm32f091-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
64+
- {RTT_BSP: "stm32/stm32f103-atk-nano", RTT_TOOL_CHAIN: "sourcery-arm"}
65+
- {RTT_BSP: "stm32/stm32f103-atk-warshipv3", RTT_TOOL_CHAIN: "sourcery-arm"}
66+
- {RTT_BSP: "stm32/stm32f103-dofly-lyc8", RTT_TOOL_CHAIN: "sourcery-arm"}
67+
- {RTT_BSP: "stm32/stm32f103-dofly-M3S", RTT_TOOL_CHAIN: "sourcery-arm"}
68+
- {RTT_BSP: "stm32/stm32f103-fire-arbitrary", RTT_TOOL_CHAIN: "sourcery-arm"}
69+
- {RTT_BSP: "stm32/stm32f103-hw100k-ibox", RTT_TOOL_CHAIN: "sourcery-arm"}
70+
- {RTT_BSP: "stm32/stm32f103-mini-system", RTT_TOOL_CHAIN: "sourcery-arm"}
71+
- {RTT_BSP: "stm32/stm32f103-yf-ufun", RTT_TOOL_CHAIN: "sourcery-arm"}
72+
- {RTT_BSP: "stm32/stm32f107-uc-eval", RTT_TOOL_CHAIN: "sourcery-arm"}
73+
- {RTT_BSP: "stm32/stm32f401-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
74+
- {RTT_BSP: "stm32/stm32f405-smdz-breadfruit", RTT_TOOL_CHAIN: "sourcery-arm"}
75+
- {RTT_BSP: "stm32/stm32f407-atk-explorer", RTT_TOOL_CHAIN: "sourcery-arm"}
76+
- {RTT_BSP: "stm32/stm32f407-st-discovery", RTT_TOOL_CHAIN: "sourcery-arm"}
77+
- {RTT_BSP: "stm32/stm32f411-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
78+
- {RTT_BSP: "stm32/stm32f427-robomaster-a", RTT_TOOL_CHAIN: "sourcery-arm"}
79+
- {RTT_BSP: "stm32/stm32f429-armfly-v6", RTT_TOOL_CHAIN: "sourcery-arm"}
80+
- {RTT_BSP: "stm32/stm32f429-atk-apollo", RTT_TOOL_CHAIN: "sourcery-arm"}
81+
- {RTT_BSP: "stm32/stm32f429-fire-challenger", RTT_TOOL_CHAIN: "sourcery-arm"}
82+
- {RTT_BSP: "stm32/stm32f429-st-disco", RTT_TOOL_CHAIN: "sourcery-arm"}
83+
- {RTT_BSP: "stm32/stm32f446-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
84+
- {RTT_BSP: "stm32/stm32f469-st-disco", RTT_TOOL_CHAIN: "sourcery-arm"}
85+
- {RTT_BSP: "stm32/stm32f746-st-disco", RTT_TOOL_CHAIN: "sourcery-arm"}
86+
- {RTT_BSP: "stm32/stm32f767-atk-apollo", RTT_TOOL_CHAIN: "sourcery-arm"}
87+
- {RTT_BSP: "stm32/stm32f767-fire-challenger", RTT_TOOL_CHAIN: "sourcery-arm"}
88+
- {RTT_BSP: "stm32/stm32f767-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
89+
- {RTT_BSP: "stm32/stm32g071-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
90+
- {RTT_BSP: "stm32/stm32g431-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
91+
- {RTT_BSP: "stm32/stm32h743-atk-apollo", RTT_TOOL_CHAIN: "sourcery-arm"}
92+
- {RTT_BSP: "stm32/stm32h743-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
93+
- {RTT_BSP: "stm32/stm32l4r9-st-eval", RTT_TOOL_CHAIN: "sourcery-arm"}
94+
- {RTT_BSP: "stm32/stm32l432-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
95+
- {RTT_BSP: "stm32/stm32l475-atk-pandora", RTT_TOOL_CHAIN: "sourcery-arm"}
96+
- {RTT_BSP: "stm32/stm32l475-st-discovery", RTT_TOOL_CHAIN: "sourcery-arm"}
97+
- {RTT_BSP: "stm32/stm32l476-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
98+
- {RTT_BSP: "stm32/stm32l496-ali-developer", RTT_TOOL_CHAIN: "sourcery-arm"}
99+
- {RTT_BSP: "stm32f20x", RTT_TOOL_CHAIN: "sourcery-arm"}
100+
- {RTT_BSP: "swm320-lq100", RTT_TOOL_CHAIN: "sourcery-arm"}
101+
- {RTT_BSP: "zynq7000", RTT_TOOL_CHAIN: "sourcery-arm"}
102+
- {RTT_BSP: "fh8620", RTT_TOOL_CHAIN: "sourcery-arm"}
103+
104+
steps:
105+
- uses: actions/checkout@v2
106+
- name: Set up Python
107+
uses: actions/setup-python@master
108+
with:
109+
python-version: 3.8
110+
111+
- name: Install Tools
112+
shell: bash
113+
run: |
114+
sudo apt-get update
115+
sudo apt-get -qq install gcc-multilib libsdl-dev scons
116+
echo "RTT_ROOT=${{ github.workspace }}" >> $GITHUB_ENV
117+
echo "RTT_CC=gcc" >> $GITHUB_ENV
118+
119+
- name: Install Arm ToolChains
120+
if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-arm' && success() }}
121+
shell: bash
122+
run: |
123+
wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/arm-2017q2-v6/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
124+
sudo tar xjf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2 -C /opt
125+
/opt/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-gcc --version
126+
echo "RTT_EXEC_PATH=/opt/gcc-arm-none-eabi-6-2017-q2-update/bin" >> $GITHUB_ENV
127+
128+
- name: Install Mips ToolChains
129+
if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-mips' && success() }}
130+
shell: bash
131+
run: |
132+
wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.1/mips-2016.05-7-mips-sde-elf-i686-pc-linux-gnu.tar.bz2
133+
sudo tar xjf mips-2016.05-7-mips-sde-elf-i686-pc-linux-gnu.tar.bz2 -C /opt
134+
/opt/mips-2016.05/bin/mips-sde-elf-gcc --version
135+
echo "RTT_EXEC_PATH=/opt/mips-2016.05/bin" >> $GITHUB_ENV
136+
137+
- name: Bsp Scons Compile
138+
if: ${{ success() }}
139+
shell: bash
140+
env:
141+
RTT_BSP: ${{ matrix.legs.RTT_BSP }}
142+
RTT_TOOL_CHAIN: ${{ matrix.legs.RTT_TOOL_CHAIN }}
143+
run: |
144+
scons -C bsp/$RTT_BSP

ChangeLog.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,83 @@
1+
# RT-Thread v3.1.5 Change Log
2+
3+
Change log since v3.1.4
4+
5+
## Kernel
6+
7+
* Fix the issue when block = NULL in rt_mp_free;
8+
* Fix the software issue when the system timer thread is pending
9+
* Fix the timer/software timer handling issue if the timeout function starts/stops/deletes this timer.
10+
* Fix an issue with rt_timer_start being broken and destroying the timer list
11+
* Fix bug of rt_memheap_detach
12+
* Fix the bug that the linked list is still mounted when the single timer is not modified
13+
* Fix the delay_until issue
14+
* Add mb mq value overflow-check code
15+
* Fix the rt_event_recv function, if the event met without blocking, assigning thread->event_set/event_info will goes well
16+
* Add the definition of the maximum value of ipc type
17+
* Fix the delay_until issue
18+
* fixed __rt_ffs bug on account of armclang LTO.
19+
* fixed rt_timer_list_next_timeout multi-task safe
20+
* fix the software issue when the system timer thread pending.
21+
* Fix the timer/software timer handling issue if the timeout function starts/stops/deletes this timer.
22+
* The cleanup operation is executed before the current thread exits
23+
* Modify cleanup to resolve the issue of unable to free memory and communication between threads
24+
* Fix double release for thread
25+
* Fix thread control bug about `RT_THREAD_CTRL_CLOSE` command
26+
* Fix the issue of critical protection when `rt_thread_delete` change the status of thread;
27+
* Fix bug in rt_realloc of mem.c, which may cause memory leak
28+
* Use object_find to implement thread_find/device_find
29+
30+
## Components
31+
32+
* Change rt_data_queue_peak to rt_data_queue_peek.
33+
* Add rt_data_queue_deinit and fix bug of dataqueue
34+
* Solve the issue that the do_pollfd function processing the underlying network device returns error -1
35+
* Fix the issue that when the network card device calls to close dhcp, the bottom layer no need to call the dhcp_stop function to close dhcp
36+
* Modify the spelling error of the macro definition, modify the printing error when printing the IMEI number
37+
* Fix the issue that the server closed the connection when web socket requests the data that comes back from the server, and the socket status is incorrectly judged at that point
38+
* Fix the issue of incorrect sal_getaddrinfo release when sal socket supports multiple network cards
39+
40+
* Adjust where the AT socket callback function
41+
* Fix at_client, avoid creating the same client repeatedly and prevent working exceptions and memory leaks.
42+
* Fix the bug that rx_notice out of sync when the data is received after last rt_device_read() is zero
43+
* Change the header file included in some libc files from <rtthread.h> to <rtconfig.h> to narrow the scope of inclusion to prevent recursive compilation
44+
* [jffs2] modify the error check of rt_event_recv()
45+
* [audio] Fix compile warning, undefine var, and fixed re-include of audio
46+
* [serial] Fix the crash caused when the serial port receiving buffer is full and ULOG_USING_ISR_LOG is not turned on
47+
* [spi] Fix "response+1" causing hard fault of unaligned access to SPI memory of STM32 HAL library
48+
* [hwtimer] When getting the timer count, prevent overflow update due to the interruption
49+
* [dirver/i2c] i2c driver supports bus lock, STOP control
50+
* [usb] Fix bug in device descriptor that MAC OS enumeration failed
51+
* Fix the bug that USB cannot recognize composite device normally
52+
* Fix USB host core bugs
53+
* Limit >4 USB ports hubs
54+
* Double free intf
55+
* dname buffer size is too small
56+
* Reset child pointer after detaching instance
57+
58+
## BSP and CPU porting
59+
60+
* Add license info and code cleanup for vexpress-a9 BSP
61+
* Fix spelling mistakes of code
62+
* [allwinner_tina]Fix spi driver bug
63+
* Optimize BSP dist handle process
64+
* fixed a bug that caused system crash by changing the run_mode in low power mode
65+
* drv_flash_f7.c supports single bank mode
66+
* Optimize the pin-index algorithm for stm32
67+
* Fix the clock configuration issue of STM32 hardware timer
68+
* Adjust the interrupt priority configuration of some peripherals of the STM32 series BSP
69+
* Fix stm32 f1 series rtc bug
70+
* Fix PWM timer init about pwm
71+
72+
## Tools
73+
74+
* Fixed python 2.x `cmp`
75+
* Rename GCC_VERSION to GCC_VERSION_STR
76+
* Optimize project group sort by name
77+
* Improve the logic of generating `rtconfig.h` files in scons with command `scons --menuconfig`
78+
* Fixed an issue that *.s src files couldn't be compiled
79+
* Fixed c99/siginfo_t issue caused by gcc_version
80+
181
# RT-Thread v3.1.4 Change Log
282

383
Change log since v3.1.3

bsp/allwinner_tina/drivers/drv_gpio.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -538,6 +538,7 @@ static const struct rt_pin_ops ops =
538538
pin_attach_irq,
539539
pin_detach_irq,
540540
pin_irq_enable,
541+
RT_NULL,
541542
};
542543
#endif
543544

bsp/allwinner_tina/drivers/drv_uart.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ int rt_hw_uart_init(void)
120120
uart->irqno = UART1_INTERRUPT; // IRQ_UART1;
121121
uart->gpio_rx_port = GPIO_PORT_A;
122122
uart->gpio_tx_port = GPIO_PORT_A;
123-
uart->gpio_rx_pin = GPIO_PIN_3;
124-
uart->gpio_tx_pin = GPIO_PIN_2;
123+
uart->gpio_rx_pin = GPIO_PIN_2;
124+
uart->gpio_tx_pin = GPIO_PIN_3;
125125
uart->gpio_rx_fun = IO_FUN_4;
126126
uart->gpio_tx_fun = IO_FUN_4;
127127

bsp/allwinner_tina/drivers/spi/drv_spi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ static rt_err_t configure(struct rt_spi_device *device,
483483
SPI_SetFirstTransmitBit(spi, SPI_TCTRL_FBS_LSB);
484484
}
485485

486-
switch (configuration->mode)
486+
switch (configuration->mode & RT_SPI_MODE_3)
487487
{
488488
case RT_SPI_MODE_0:
489489
SPI_SetSclkMode(spi, SPI_SCLK_Mode0);

bsp/amebaz/libraries/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
menu "External Libraries"
22

33
config RT_USING_SMARTCONFIG_LIB
4-
bool "Using RT-Thrad SmartConfig Library"
4+
bool "Using RT-Thread SmartConfig Library"
55
default n
66

77
endmenu

bsp/apollo2/board/gpio.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ const static struct rt_pin_ops am_pin_ops =
212212
am_pin_attach_irq,
213213
am_pin_dettach_irq,
214214
am_pin_irq_enable,
215+
RT_NULL,
215216
};
216217

217218
int rt_hw_pin_init(void)

bsp/beaglebone/drivers/gpio.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ static struct rt_pin_ops am33xx_pin_ops =
8484
am33xx_pin_mode,
8585
am33xx_pin_write,
8686
am33xx_pin_read,
87+
RT_NULL,
88+
RT_NULL,
89+
RT_NULL,
90+
RT_NULL,
8791
};
8892

8993
int rt_hw_gpio_init(void)

bsp/efm32/copy_this_file_shell.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ int isprint(unsigned char ch)
8888

8989
#if defined(RT_USING_DFS) && defined(DFS_USING_WORKDIR)
9090
#include <dfs_posix.h>
91-
const char* finsh_get_prompt()
91+
const char* finsh_get_prompt(void)
9292
{
9393
#define _PROMPT "finsh "
9494
static char finsh_prompt[RT_CONSOLEBUF_SIZE + 1] = {_PROMPT};

bsp/efm32/rtconfig.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@
213213
/* SECTION: Runtime library */
214214
// #define RT_USING_NOLIBC
215215
// #define RT_USING_NEWLIB
216+
#define RT_LIBC_USING_TIME
216217

217218
/* SECTION: Console options */
218219
#define RT_USING_CONSOLE

0 commit comments

Comments
 (0)