[action] add toolchain download link

This commit is contained in:
supperthomas 2024-08-25 00:32:29 +00:00 committed by Meco Man
parent 1df5be69e8
commit fe8a00fafc
3 changed files with 48 additions and 6 deletions

View File

@ -19,7 +19,18 @@ import subprocess
#pip install pandas #pip install pandas
#pip install tabulate #pip install tabulate
# 添加每个工具链的下载地址
download_urls = {
'arm-none-eabi-gcc': 'https://github.com/RT-Thread/toolchains-ci/releases/download/v1.3/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2',
'mips-sde-elf-gcc': 'https://github.com/RT-Thread/toolchains-ci/releases/download/v1.6/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz',
'riscv64-unknown-elf-gcc': 'https://github.com/RT-Thread/toolchains-ci/releases/download/v1.4/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz',
'riscv32-unknown-elf-gcc': 'https://github.com/hpmicro/riscv-gnu-toolchain/releases/download/2022.05.15/riscv32-unknown-elf-newlib-multilib_2022.05.15_linux.tar.gz',
'llvm-arm': 'https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-16.0.0/LLVMEmbeddedToolchainForArm-16.0.0-Linux-x86_64.tar.gz',
'riscv-none-embed-gcc': 'https://github.com/RT-Thread/toolchains-ci/releases/download/v1.5/xpack-riscv-none-embed-gcc-8.3.0-2.3-linux-x64.tar.gz',
'riscv32-esp-elf-gcc': 'https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz',
'clang': 'https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-16.0.0/LLVMEmbeddedToolchainForArm-16.0.0-Linux-x86_64.tar.gz',
# 添加其他工具链的下载地址
}
# 产生toolchain.yml文件 # 产生toolchain.yml文件
def generate_toolchain_yaml(input_file, output_file, header_comment): def generate_toolchain_yaml(input_file, output_file, header_comment):
with open(input_file, 'r', encoding='utf-8') as file: with open(input_file, 'r', encoding='utf-8') as file:
@ -32,13 +43,21 @@ def generate_toolchain_yaml(input_file, output_file, header_comment):
if gcc not in toolchain_data: if gcc not in toolchain_data:
toolchain_data[gcc] = {'bsp': []} toolchain_data[gcc] = {'bsp': []}
toolchain_data[gcc]['bsp'].append(folder) toolchain_data[gcc]['bsp'].append(folder)
# 添加每个工具链的个数
for gcc, details in toolchain_data.items():
details['count'] = len(details['bsp'])
download_url = download_urls.get(gcc)
if download_url:
details['download_url'] = download_url
with open(output_file, 'w', encoding='utf-8') as file: with open(output_file, 'w', encoding='utf-8') as file:
file.write(f"# {header_comment}\n") file.write(f"# {header_comment}\n")
yaml.dump(toolchain_data, file, default_flow_style=False, allow_unicode=True) yaml.dump(toolchain_data, file, default_flow_style=False, allow_unicode=True)
# 这个脚本主要用来生成一个bsp相关的信息的文件放到bsp根目录下面 # 这个函数通过检查文件是否存在来检查bsp的支持情况
def check_files(root_dir, file_list): def check_files(root_dir, file_list):
data = [] data = []
folders_checked = set() folders_checked = set()
@ -113,7 +132,6 @@ def output_to_yaml(dataframe, output_file, header_comment):
file.write(f"# {header_comment}\n") file.write(f"# {header_comment}\n")
yaml.dump(yaml_data, file, default_flow_style=False, allow_unicode=True) yaml.dump(yaml_data, file, default_flow_style=False, allow_unicode=True)
# 示例用法:
# Find the rt-thread root directory # Find the rt-thread root directory
rtt_root = os.getcwd() rtt_root = os.getcwd()
while not os.path.exists(os.path.join(rtt_root, 'LICENSE')): while not os.path.exists(os.path.join(rtt_root, 'LICENSE')):

View File

@ -5,7 +5,7 @@
# #
# Change Logs: # Change Logs:
# Date Author Notes # Date Author Notes
# 2024-08-24 supperthomas the first version # 2024-08-25 supperthomas the first version
# #
CME_M7: CME_M7:

View File

@ -5,7 +5,7 @@
# #
# Change Logs: # Change Logs:
# Date Author Notes # Date Author Notes
# 2024-08-24 supperthomas the first version # 2024-08-25 supperthomas the first version
# #
aarch64-none-elf-gcc: aarch64-none-elf-gcc:
@ -17,9 +17,11 @@ aarch64-none-elf-gcc:
- raspberry-pi/raspi4-64 - raspberry-pi/raspi4-64
- rockchip/rk3568 - rockchip/rk3568
- zynqmp-a53-dfzu2eg - zynqmp-a53-dfzu2eg
count: 7
arc-elf32-gcc: arc-elf32-gcc:
bsp: bsp:
- synopsys/boards - synopsys/boards
count: 1
arm-none-eabi-gcc: arm-none-eabi-gcc:
bsp: bsp:
- CME_M7 - CME_M7
@ -320,33 +322,43 @@ arm-none-eabi-gcc:
- yichip/yc3121-pos - yichip/yc3121-pos
- yichip/yc3122-pos - yichip/yc3122-pos
- zynqmp-r5-axu4ev - zynqmp-r5-axu4ev
count: 298
download_url: https://github.com/RT-Thread/toolchains-ci/releases/download/v1.3/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
avr32-gcc: avr32-gcc:
bsp: bsp:
- avr32/at32uc3a0256 - avr32/at32uc3a0256
- avr32/at32uc3b0256 - avr32/at32uc3b0256
count: 2
csky-abiv2-elf-gcc: csky-abiv2-elf-gcc:
bsp: bsp:
- ck802 - ck802
- essemi/es32vf2264 - essemi/es32vf2264
count: 2
gcc: gcc:
bsp: bsp:
- simulator - simulator
count: 1
i386-unknown-elf-gcc: i386-unknown-elf-gcc:
bsp: bsp:
- x86 - x86
count: 1
m32c-elf-gcc: m32c-elf-gcc:
bsp: bsp:
- m16c62p - m16c62p
- upd70f3454 - upd70f3454
count: 2
mips-sde-elf-gcc: mips-sde-elf-gcc:
bsp: bsp:
- loongson/ls1bdev - loongson/ls1bdev
- loongson/ls1cdev - loongson/ls1cdev
- loongson/ls2kdev - loongson/ls2kdev
- mipssim - mipssim
count: 4
download_url: https://github.com/RT-Thread/toolchains-ci/releases/download/v1.6/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz
powerpc-eabi-gcc: powerpc-eabi-gcc:
bsp: bsp:
- taihu - taihu
count: 1
riscv-none-embed-gcc: riscv-none-embed-gcc:
bsp: bsp:
- gd32/risc-v/gd32vf103r-start - gd32/risc-v/gd32vf103r-start
@ -360,13 +372,18 @@ riscv-none-embed-gcc:
- wch/risc-v/ch32v307v-r1 - wch/risc-v/ch32v307v-r1
- wch/risc-v/ch569w-evt - wch/risc-v/ch569w-evt
- wch/risc-v/yd-ch32v307vct6 - wch/risc-v/yd-ch32v307vct6
count: 11
download_url: https://github.com/RT-Thread/toolchains-ci/releases/download/v1.5/xpack-riscv-none-embed-gcc-8.3.0-2.3-linux-x64.tar.gz
riscv-nuclei-elf-gcc: riscv-nuclei-elf-gcc:
bsp: bsp:
- nuclei/gd32vf103_rvstar - nuclei/gd32vf103_rvstar
- nuclei/nuclei_fpga_eval - nuclei/nuclei_fpga_eval
count: 2
riscv32-esp-elf-gcc: riscv32-esp-elf-gcc:
bsp: bsp:
- ESP32_C3 - ESP32_C3
count: 1
download_url: https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz
riscv32-unknown-elf-gcc: riscv32-unknown-elf-gcc:
bsp: bsp:
- core-v-mcu/core-v-cv32e40p - core-v-mcu/core-v-cv32e40p
@ -378,6 +395,8 @@ riscv32-unknown-elf-gcc:
- hpmicro/hpm6750evk2 - hpmicro/hpm6750evk2
- hpmicro/hpm6750evkmini - hpmicro/hpm6750evkmini
- hpmicro/hpm6800evk - hpmicro/hpm6800evk
count: 9
download_url: https://github.com/hpmicro/riscv-gnu-toolchain/releases/download/2022.05.15/riscv32-unknown-elf-newlib-multilib_2022.05.15_linux.tar.gz
riscv64-unknown-elf-gcc: riscv64-unknown-elf-gcc:
bsp: bsp:
- bluetrum/ab32vg1-ab-prougen - bluetrum/ab32vg1-ab-prougen
@ -391,14 +410,19 @@ riscv64-unknown-elf-gcc:
- qemu-virt64-riscv - qemu-virt64-riscv
- sparkfun-redv - sparkfun-redv
- thead-smart - thead-smart
count: 11
download_url: https://github.com/RT-Thread/toolchains-ci/releases/download/v1.4/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz
riscv64-unknown-linux-musl-gcc: riscv64-unknown-linux-musl-gcc:
bsp: bsp:
- allwinner/d1 - allwinner/d1
- allwinner/d1s - allwinner/d1s
- bouffalo_lab/bl808/d0 - bouffalo_lab/bl808/d0
count: 3
sparc-gaisler-elf-gcc: sparc-gaisler-elf-gcc:
bsp: bsp:
- bm3803 - bm3803
count: 1
unicore32-linux-gcc: unicore32-linux-gcc:
bsp: bsp:
- sep6200 - sep6200
count: 1