2051|3

291

帖子

5

TA的资源

纯净的硅(中级)

楼主
 

【平头哥Sipeed LicheeRV 86 Panel测评】8-再次配置编译工具链-运行HelloWord [复制链接]

 

之前的文章:【平头哥Sipeed LicheeRV 86 Panel测评】4-编译环境搭建,尝试了一次编译环境的搭建以及HelloWorld程序的测试,最终在板子上运行时,提示glibc的版本不对:

为此,提交了一个工单,咨询了平头哥开放社区的工程师,在几次信息回复之后,为我提供了另一种编译工具链的配置方式,成功运行了HelloWorld程序。

1 另一种编译工具链配置

1.1 下载D1开发板的SDK

下载地址:https://occ.t-head.cn/vendor/detail/download?spm=a2cl5.26076654.0.0.5b08180fiWiYUv&id=3913671825380876288&vendorId=3878439890589003776&module=1#sticky

此工具链推荐使⽤ ubuntu18.04 或 ubuntu20.04 环境。

选择如下资源进行下载:

下载后解压,得到d1_sdk文件夹,再进入toolchain目录,复制d1-sdk.tar.xz到自己的Ubuntu虚拟器中:

然后解压:

star xvf d1-sdk.tar.xz

进入d1-sdk目录,可以看到4个文件:

 

1.2 运行脚本文件

d1-sdk目录的sh脚本文件用来配置编译工具链,在配置之前,需要现在“~/.local”目录下创建一个文件夹:

mkdir -p ~/.local/riscv64-toolchain

然后部署sdk到 ~/.local/riscv64-toolchain 目录下:

cd  d1-sdk
./oecore-x86_64-riscv64-toolchain-nodistro.0.sh -d ~/.local/riscv64-toolchain

部署过程需要几分钟,部署完之后的打印如下图:

可以进入到“~/.local/riscv64-toolchain”目录中看一下:

1.3 注意是否有LD_LIBRARY_PATH的问题

接着就可以尝试编译HelloWord程序了。

在编译之前,需要再执行一次如下指令:

source ~/.local/riscv64-toolchain/environment-setup-riscv64-oe-linux

我这里执行后,提示如下的LD_LIBRARY_PATH的问题,说是LD_LIBRARY_PATH变量不应该被赋值。

那就先看一下LD_LIBRARY_PATH里是什么值:

echo $LD_LIBRARY_PATH

确认这个值暂时无用后,可以先使用unset指令去掉该值:

unset LD_LIBRARY_PATH

然后再次执行脚本文件,没有再出现任何提示:

然后就可以编译了,可以先看一下这次的编译工具链信息:

echo $CC
riscv64-linux-gcc -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/xxpcb/.local/riscv64-toolchain/sysroots/riscv64-oe-linux --no-sysroot-suffix

然后使用如下指令编译:

$CC -o HelloWorld HelloWorld.c

最终得到HelloWorld文件。

2 编译测试HelloWorld

和之前一样,通过ADB工具,将HelloWorld文件拷贝到板子中进行运行,此次运行成功,输出了程序中的打印:

3 总结

本篇是之前文章【平头哥Sipeed LicheeRV 86 Panel测评】4-编译环境搭建的补充,通过另一种方式打印编译工具链,实现了HelloWorld程序的运行。

最新回复

想问博主现在还保留有这个sdk工具包吗,网址已经过期了   详情 回复 发表于 2023-11-13 15:56
点赞 关注
 
 

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

看起来测评之前的环境搭建比如正确安装Ubuntu虚拟器很重要

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

想问博主现在还保留有这个sdk工具包吗,网址已经过期了

点评

文件比较大,放网盘了 链接:https://pan.baidu.com/s/124Yh6brL3Kp48_qolUXAKA  提取码:49rl  详情 回复 发表于 2023-11-19 13:27
 
 
 

回复

291

帖子

5

TA的资源

纯净的硅(中级)

4
 
sakes 发表于 2023-11-13 15:56 想问博主现在还保留有这个sdk工具包吗,网址已经过期了

文件比较大,放网盘了 链接:https://pan.baidu.com/s/124Yh6brL3Kp48_qolUXAKA 
提取码:49rl

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
汽车手册(技术知识)

1.谈谈火花塞 一般用车者相信都会到维修站做一些基本的保养维修工作,如换机油、火花塞等,但阁下是否认识到这些简单的东西,如 ...

C语言库函数总结---2

stdlib.h#include void srand(unsigned seed) 初始化随机数发生器 int rand() ...

M4之浮点运算单元FPU个人总结!!!!!!!!!!!!!!!!!!!!!!!!

最近一直在纠结M4的浮点运算单元该怎么开启,为何语句里配置了(FPUEnable();FPULazyStackingEnable();)跟没配置程序运行速度是 ...

ADuc7026学习-串口

本帖最后由 dj狂人 于 2015-1-12 17:23 编辑 ...

【基于NUCLEO-F746ZG电机开发应用】13.参数配置-USART3配置

此串口再开发板上的作用是:与ST-LINK进行通讯,然后ST_LINK2经过USB与电脑连接,与上位机MotorControl Workbench进行参数显示和 ...

【Silicon Labs BG22-EK4108A 蓝牙开发评测】+从零开始创建一个蓝牙程序

本帖最后由 北方 于 2022-1-17 15:14 编辑 1. 创建程序有一步步的导则,参见《AN1260: Integrating v3.x Silicon Labs Blueto ...

FPGA技术文档

最近在学习FPGA方面的知识,附件是技术手册.

【得捷电子Follow me第1期】作品提交 - 温湿度计和网络时钟(开机播放生日快乐歌)

本帖最后由 walker2048 于 2023-6-30 20:29 编辑 作品提交 - 温湿度计和网络时钟 展示视频 项目介绍 介绍: 本 ...

TI MSPM0L1306 LaunchPad体验02:MSP是什么意思?M0+内核落伍了吗?

本帖最后由 x1816 于 2023-10-9 23:01 编辑 看懂MSPM0系列的型号编码 要看懂一个产品系列,只需要看懂型号的编码方式即可 ...

【好书共读——《Python编程快速上手(第2版)》】——①Python入门知识介绍

Python入门知识介绍 Python是一种高级、通用、解释型编程语言。它由Guido van Rossum于1989年发明,目前由Python软件基金会维 ...

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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