Skip to content

Commit eba2cbb

Browse files
committed
Upgrade RISC-V Musl ToolChains for qemu-virt64 to gcc 12.x and fixes bsp/qemu-virt64-riscv/smart-env.bat for windows
1 parent b39cdb2 commit eba2cbb

File tree

5 files changed

+28
-34
lines changed

5 files changed

+28
-34
lines changed

.github/workflows/action_utest.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,11 @@ jobs:
9696
if: ${{ matrix.legs.QEMU_ARCH == 'riscv64' && matrix.legs.UTEST == 'rtsmart/riscv64' && success() }}
9797
shell: bash
9898
run: |
99-
wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.7/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2
99+
wget -q https://download.rt-thread.org/download/rt-smart/toolchains/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2
100100
sudo tar xjf riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 -C /opt
101-
/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-unknown-linux-musl-gcc --version
101+
/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-linux-musleabi-gcc --version
102102
echo "RTT_EXEC_PATH=/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin" >> $GITHUB_ENV
103-
echo "RTT_CC_PREFIX=riscv64-unknown-linux-musl-" >> $GITHUB_ENV
103+
echo "RTT_CC_PREFIX=riscv64-linux-musleabi-" >> $GITHUB_ENV
104104
105105
- name: Install AARCH64 Musl ToolChains
106106
if: ${{ matrix.legs.QEMU_ARCH == 'aarch64' && matrix.legs.UTEST == 'rtsmart/aarch64' && success() }}

.github/workflows/utest_auto_run.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,11 @@ jobs:
120120
# Install RISC-V Musl ToolChains
121121
if [[ "${{ matrix.platform.QEMU_ARCH }}" == "riscv64" && "${{ matrix.platform.KERNEL }}" == "rtsmart" ]]; then
122122
echo "Starting install RISC-V Musl ToolChains"
123-
wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.7/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2
123+
wget -q https://download.rt-thread.org/download/rt-smart/toolchains/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2
124124
sudo tar xjf riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 -C /opt
125-
/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-unknown-linux-musl-gcc --version
125+
/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-linux-musleabi-gcc --version
126126
echo "RTT_EXEC_PATH=/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin" >> $GITHUB_ENV
127-
echo "RTT_CC_PREFIX=riscv64-unknown-linux-musl-" >> $GITHUB_ENV
127+
echo "RTT_CC_PREFIX=riscv64-linux-musleabi-" >> $GITHUB_ENV
128128
echo "TOOLCHAIN_INSTALLED=riscv-musl" >> $GITHUB_ENV
129129
fi
130130

bsp/qemu-virt64-riscv/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,21 +58,21 @@ The specific toolchain used is consistent with the official RT-Thread. For the s
5858
if: ${{ matrix.legs.QEMU_ARCH == 'riscv64' && matrix.legs.UTEST == 'rtsmart/riscv64' && success() }}
5959
shell: bash
6060
run: |
61-
wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.7/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2
61+
wget -q https://download.rt-thread.org/download/rt-smart/toolchains/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2
6262
sudo tar xjf riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 -C /opt
63-
/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-unknown-linux-musl-gcc --version
63+
/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-linux-musleabi-gcc --version
6464
echo "RTT_EXEC_PATH=/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin" >> $GITHUB_ENV
65-
echo "RTT_CC_PREFIX=riscv64-unknown-linux-musl-" >> $GITHUB_ENV
65+
echo "RTT_CC_PREFIX=riscv64-linux-musleabi-" >> $GITHUB_ENV
6666
```
6767
68-
Among them, `riscv64-unknown-elf-gcc` is used to build the RT-Thread Standard version, and `riscv64-unknown-linux-musl-gcc` is used to build the RT-Thread Smart version. Download them to your local computer according to the links shown above and decompress them.
68+
Among them, `riscv64-unknown-elf-gcc` is used to build the RT-Thread Standard version, and `riscv64-linux-musleabi-gcc` is used to build the RT-Thread Smart version. Download them to your local computer according to the links shown above and decompress them.
6969

7070
## 2.2. Setting RT-Thread toolchain environment variables
7171

7272
There are three environment variables related to the RT-Thread toolchain
7373

7474
- `RTT_CC` is the toolchain name, which is `"gcc"` here
75-
- `RTT_CC_PREFIX`: is the toolchain prefix, which is `"riscv64-unknown-elf-"` for the Standard version and `"riscv64-unknown-linux-musl-"` for the Smart version.
75+
- `RTT_CC_PREFIX`: is the toolchain prefix, which is `"riscv64-unknown-elf-"` for the Standard version and `"riscv64-linux-musleabi-"` for the Smart version.
7676
- `RTT_EXEC_PATH`: the path where the bin folder of the toolchain is located, such as `"$HOME/tools/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin"`. This is set according to the actual path after personal download and decompression. Note that the toolchains of the RT-Thread standard version and the Smart version are two different versions, and the path name of `RTT_EXEC_PATH` must be set to `bin`.
7777

7878
If you use them all the time, it is recommended to export these three environment variables in the `.bashrc` file.

bsp/qemu-virt64-riscv/README_cn.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,21 +58,21 @@ Codename: jammy
5858
if: ${{ matrix.legs.QEMU_ARCH == 'riscv64' && matrix.legs.UTEST == 'rtsmart/riscv64' && success() }}
5959
shell: bash
6060
run: |
61-
wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.7/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2
61+
wget -q https://download.rt-thread.org/download/rt-smart/toolchains/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2
6262
sudo tar xjf riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_latest.tar.bz2 -C /opt
63-
/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-unknown-linux-musl-gcc --version
63+
/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/riscv64-linux-musleabi-gcc --version
6464
echo "RTT_EXEC_PATH=/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin" >> $GITHUB_ENV
65-
echo "RTT_CC_PREFIX=riscv64-unknown-linux-musl-" >> $GITHUB_ENV
65+
echo "RTT_CC_PREFIX=riscv64-linux-musleabi-" >> $GITHUB_ENV
6666
```
6767
68-
其中 `riscv64-unknown-elf-gcc` 用于构建 RT-Thread 标准版,`riscv64-unknown-linux-musl-gcc` 用于构建 RT-Thread Smart 版。根据上面所示链接分别下载到本地后解压缩。
68+
其中 `riscv64-unknown-elf-gcc` 用于构建 RT-Thread 标准版,`riscvriscv64-linux-musleabi-用于构建 RT-Thread Smart 版。根据上面所示链接分别下载到本地后解压缩。
6969

7070
## 2.2. 设置 RT-Thread 工具链环境变量
7171

7272
和 RT-Thread 工具链相关的环境变量有三个
7373

7474
- `RTT_CC` 为工具链名称, 这里统一为 `"gcc"`
75-
- `RTT_CC_PREFIX`: 为工具链前缀, 这里对于标准版是 `"riscv64-unknown-elf-"`,对于 Smart 版是 `"riscv64-unknown-linux-musl-"`。
75+
- `RTT_CC_PREFIX`: 为工具链前缀, 这里对于标准版是 `"riscv64-unknown-elf-"`,对于 Smart 版是 `"riscv64-unriscv64-linux-musleabi-
7676
- `RTT_EXEC_PATH`: 工具链的 bin 文件夹所在路径, 如 `"$HOME/tools/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin"`, 这个根据个人下载解压后的实际路径进行设置,注意 RT-Thread 标准版和 Smart 版本的工具链是两套不同的版本,而且设置 `RTT_EXEC_PATH` 的路径名时要一直到 `bin`。
7777

7878
如果一直使用的话,建议将这三个环境变量在 `.bashrc` 文件中 export。

bsp/qemu-virt64-riscv/smart-env.bat

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,18 @@
11

2-
@set def_arch=arm
2+
@set def_arch=riscv64
33

4-
@if not "%1"=="" (
5-
@set def_arch=%1
6-
)
4+
pushd %RTT_ENV_URL%\..\..
5+
set RTT_ENV_ROOT=%cd%
6+
popd
77

8-
@if %def_arch%==arm (
9-
@set RTT_CC=gcc
10-
@set RTT_EXEC_PATH=%cd%\tools\gnu_gcc\arm-linux-musleabi_for_i686-w64-mingw32\bin
11-
@set RTT_CC_PREFIX=arm-linux-musleabi-
12-
@copy configs\def_config_arm .config
13-
) else if %def_arch%==riscv64 (
14-
@set RTT_CC=gcc
15-
@set RTT_EXEC_PATH=E:\workspace\rt-smart\userapps\tools\gnu_gcc\riscv64-linux-musleabi_for_i686-w64-mingw32\bin
16-
@set RTT_CC_PREFIX=riscv64-unknown-linux-musl-
17-
@copy configs\def_config_riscv64 .config
18-
) else (
19-
@echo "ERROR:supported_arch=arm riscv64!"
20-
@goto EXIT
21-
)
8+
:: Download from:
9+
:: https://download.rt-thread.org/download/rt-smart/toolchains/riscv64-linux-musleabi_for_i686-w64-mingw32_latest.zip
10+
:: Extract as:
11+
:: C:\env-windows\tools\gnu_gcc\riscv64-linux-musleabi_for_i686-w64-mingw32
12+
13+
@set RTT_CC=gcc
14+
@set RTT_EXEC_PATH=%RTT_ENV_ROOT%\tools\gnu_gcc\riscv64-linux-musleabi_for_i686-w64-mingw32\bin
15+
@set RTT_CC_PREFIX=riscv64-linux-musleabi-
2216

2317
@set PATH=%RTT_EXEC_PATH%;%PATH%
2418

0 commit comments

Comments
 (0)