1792|1

651

帖子

1

TA的资源

纯净的硅(中级)

 

【平头哥Sipeed LicheeRV 86 Panel测评】使用crosstool-ng构建riscv64的编译器 [复制链接]

 

使用crosstool-ng构建riscv64的编译器

 

crosstool-ng,全称是crosstool Next Generation,即下一代crosstool,即crosstool的升级版

可能有人会问,什么是crosstool?

crosstool,是个交叉编译器的制作工具。

 

Step-1: 安装crosstool-ng


1.1 下载crosstool-ng的源代码

git clone https://github.com/crosstool-ng/crosstool-ng.git

 

1.2 配置ct-ng的编译和安装选项

cd crosstool-ng

./bootstrap

mkdir build

cd build

../configure --prefix=/PATH/TO/INSTALL

 

1.3 编译和安装

make

make install

export PATH=/PATH/TO/INSTALL/bin:$PATH

 

 

Step-2: 配置并构建crosstool-ng的范例工具链


2.1 显示ct-ng已有的范例配置项

ct-ng list-samples

可以看到riscv有4个配置项,riscv32和riscv64各两种(分别对应编译无操作系统(裸奔单片机代码)的elf和带linux系统支持的linux-gnu)

[G..X]   riscv32-hifive1-elf
[G..X]   riscv32-unknown-elf
[G..X]   riscv64-unknown-elf
[G..X]   riscv64-unknown-linux-gnu

 

 

ct-ng show-xxx

可以显示配置项的各个组件及其版本,如图。

图片1.png

ct-ng xxx 用于配置对应的工具链,本次编译分别配置为riscv64-unknown-elf 和 riscv64-unknown-linux-gnu

 

ct-ng menuconfig

采用与linux kernel同样的menuconfig配置方式,如图,

图片2.png

一切都配置好以后,采用ct-ng build,经过一段时间的编译,即可完成工具链的构建。默认安装在$HOME/x-tools 目录下。

 

 

3 测试工具链


采用riscv64-unknown-elf工具链,编译无操作系统裸奔代码,

export PATH=/home/mars4zhu/x-tools/riscv64-unknown-elf/bin:$PATH

 

cd lcd-backlight

make clean

make CROSS_COMPILE=riscv64-unknown-elf

 

使用xfel工具将生成的裸奔bin文件传到Lichee RV板,可见运行正常,与平头哥提供的工具链的编译出来的功能一致。

xfel version

xfel write 0x00020000 lcd-backlight.bin

xfel exec 0x00020000

图片3.png

 

 

最新回复

用xfel工具将生成的裸奔bin文件传到Lichee RV板能正常运行,做的不错   详情 回复 发表于 2022-4-15 07:41
 
 
 

回复
举报

5959

帖子

0

TA的资源

五彩晶圆(高级)

 

用xfel工具将生成的裸奔bin文件传到Lichee RV板能正常运行,做的不错

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表