Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
rt-smart
rt-smart编译器
全志_RISCV_D1_D1S
RT-Thread Smart Ubuntu RISCV64 编译环境的搭建
发布于 2022-06-11 11:09:29 浏览:1502
订阅该版
[tocm] ## 前言 - RT-Thread Smart 的BSP `rt-smart\bsp\d1-allwinner-nezha`,也就是全志 D1s的哪吒开发板,基于RISCV64平台,需要RISCV64的交叉编译环境 - RISCV64 不属于ARM平台,算是当前一个新的RISC架构的平台,rt-smart下使用:`riscv64-unknown-linux-musl-` 系列的gcc 交叉编译工具链 ## 步骤 - 可以在ubuntu下载工具链,然后设置环境变量即可,我这里使用 python 脚本下载,这个脚本来自 `ART-Pi-smart\tools\get_toolchain.py`,感觉挺好用的 - 把 `ART-Pi-smart\tools\get_toolchain.py` `ART-Pi-smart\tools\ci.py` 两个脚本,拷贝到 rt-smart的tools目录下,shell 终端执行:`# python get_toolchain.py riscv64`,即可自动把 riscv64的gcc 交叉工具链下载下来,目录地址为:`rt-thread/tools/gnu_gcc/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin`,这里的rt-thread,我切换到了 `rt-smart`分支 - 设置环境变量:把 `ART-Pi-smart\smart-env.sh` 拷贝到 rt-smart目录下,执行如下的操作即可 ```c /home/rtthread/rt-thread# source smart-env.sh riscv64 Arch => riscv64 CC => gcc PREFIX => riscv64-unknown-linux-musl- EXEC_PATH => /home/rtthread/rt-thread/tools/gnu_gcc/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin ``` - 这样 `riscv64-unknown-linux-musl-` gcc 交叉编译环境就配置好了 ## 验证 - shell 命令行输入:`riscv64-unknown-linux-musl-gcc -v`,正常执行,说明 gcc 交叉编译工具正常配置了 ```c root@pluto-os:/home/rtthread/rt-thread# riscv64-unknown-linux-musl-gcc -v Using built-in specs. COLLECT_GCC=riscv64-unknown-linux-musl-gcc COLLECT_LTO_WRAPPER=/home/rtthread/rt-thread/tools/gnu_gcc/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../libexec/gcc/riscv64-unknown-linux-musl/10.1.0/lto-wrapper Target: riscv64-unknown-linux-musl Configured with: /builds/alliance/risc-v-toolchain/riscv-gcc/configure --target=riscv64-unknown-linux-musl --prefix=/builds/alliance/risc-v-toolchain/install-native/ --with-sysroot=/builds/alliance/risc-v-toolchain/install-native//riscv64-unknown-linux-musl --with-system-zlib --enable-shared --enable-tls --enable-languages=c,c++ --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libsanitizer --disable-nls --disable-bootstrap --src=/builds/alliance/risc-v-toolchain/riscv-gcc --disable-multilib --with-abi=lp64 --with-arch=rv64imafdc --with-tune=rocket 'CFLAGS_FOR_TARGET=-O2 -mcmodel=medany' 'CXXFLAGS_FOR_TARGET=-O2 -mcmodel=medany' Thread model: posix Supported LTO compression algorithms: zlib gcc version 10.1.0 (GCC) ``` ## 编译BSP d1-allwinner-nezha - 进入 `d1-allwinner-nezha`目录下,可以使用 `scons --clean` 清理工程 - 可以使用:`scons --menuconfig` 图形配置工程 - 使用:`scons` 编译BSP ## 编译产物 - `d1-allwinner-nezha` 当前编译,需要修复几个编译问题,编译通过,会生成产物如下 ![2022-06-10_224445.png](https://oss-club.rt-thread.org/uploads/20220611/12f146c836d804179754092bce9fa4ab.png "2022-06-10_224445.png") ## 小结 - 其实环境搭建就是 gcc 交叉编译工具链的下载与环境变量配置 - 后面讲一下如何在windows下编译RISCV64平台的BSP
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
张世争
学以致用
文章
131
回答
812
被采纳
177
关注TA
发私信
相关文章
1
rt-smart发布时间
2
rt-smart qemu-vexpress-a9 编译报错
3
rt-smart分支编译rasp4-32bsp报错
4
rt-smart qemu-vexpress-a9 win10编译脚本问题
5
rt-smart qemu-vexpress-a9 linux 下crtl+c
6
rt-smart + pthread 编译报错
7
rt-smart的rt_channel实现问题
8
关于rt-smart的musl-libc
9
RT-Smart Windows 编译 qemu-vexpress-a9 出错
10
用户程序在RT-Smart存在的方式
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
812
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部