vm 安装ubuntu20.04 编译泰山派sdk buildroot系统

本文详细介绍了如何在PC端配置虚拟机,包括硬盘空间、内存、Ubuntu镜像的获取和安装,以及桥接和NAT网络模式的选择。后续步骤涉及网络配置、SSH服务、Samba共享文件、ARM架构的SDK编译和烧录验证,以及使用串口助手进行代码传输和运行。
摘要由CSDN通过智能技术生成

演示pc端的硬件资源

剩余硬盘空间200G

运行内存16G

操作系统win10

获取ubuntu镜像可以通过国内镜像

ubuntu-releases安装包下载_开源镜像站-阿里云 (aliyun.com)icon-default.png?t=N7T8https://mirrors.aliyun.com/ubuntu-releases/

选择框中的文件下载

创建虚拟机

下载完成就打开vm,ctrl+N 新建虚拟机

 

        编辑虚拟机的名称,以及将要存放的位置,就是我们预留200G以上的磁盘

这里内存我给8G

选桥接,后面可以用独立的ip

这里只要150-200都可以,不够再扩容

        全部下一步最后点击完成

设置印象文件,就是前面下载的 4.1G iso文件

开启进入安装引导

下拉左侧语言选中简体,然后选安装

键盘选us

分辨率有点难受,显示界面不全设置一下,ctrl+alt+T打开终端 输入 xrandr命令回车

根据支持的分辨率设置一个可以看完整界面的

选择continue

默认位置就行

账户密码也根据个人设置继续就可以了。

安装完重启就可以进ubuntu了,接下来就需要

网络配置

桥接模式

nat模式

两种方式都可以我们看自己情况设置vm的网络链接模式,我选了nat  window会作为路由分配ip给ubuntu 

设置网络连接了现在ifconfig是找不到命令的,无法使用 apt install net tools,需要更换更新源。思路参考下面的文章

执行sudo apt-get update失败的解决方案-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/jane_sl/article/details/106621900

操作:

        执行这个命令 sudo vi /etc/apt/sources.list 进入vi编辑界面,按 i 进入编辑模式,将下载源复制进来 虚拟机提供了编辑工具条可以粘贴,按esc进入正常模式,然后按 :进入命令模式 按wq回车保存退出

执行命令sudo apt-get update     

这里dns解析失败我们可以设置一下这个域名解析

执行这个命令sudo vi  /etc/systemd/resolved.conf 添加一下解析服务ip 保存退出

在执行 ping www.baidu.com 可以看到ping通 再执行sudo apt-get updata可以更新

网络zhenchan

有了下载源就安装net-tools工具用来获取我们网络信息,常用的ifconfig也是接下来samba要用的

执行命令 

sudo apt-get install net-tools

ssh服务安装,scp ftp传输 vscode编辑工具都依赖这个服务

sudo apt-get update

sudo apt-get install openssh-client
sudo apt-get install openssh-server
//启动ssh
/etc/init.d/ssh start
//查看是否监听固定端口22
netstat -na |grep 22 

回到主线 安装samba用来window和Ubuntu操作系统之间传输文件

sudo apt install samba

sudo vi /etc/samba/smb.conf

# 在上述配置文件末尾追加:
# [share_dir] 是 Windows 主机看到的samba文件夹的名称,可以任意修改
# path 是 Ubuntu 主机通过 samba 共享出去的路径

[share_dir]
path=/home/zls/tspi
browseable=yes
writable=yes
public=yes
available=yes

创建分享目录 mkdir /home/zls/tspi

重启samba

sudo service smbd reload
sudo service smbd restart

使用ifconfig查看ubuntu当前的ip

在window界面 使用win+r打开命令框输入 \\+ip 找到映射的文件夹 此处我就是share_dir文件夹

右键选项选择磁盘映射

到这操作系统环境就完成了。后面就是导入sdk以及编译相关了。

编译sdk

在window把下载好的sdk拖入我们映射的Z盘

在ubuntu就可以看到了

校验

大文件下载容易出错官方也提供了校验的工具直接使用,对比两个结果,一致就是传输无误

//计算校验值
md5sum tspi_linux_sdk_repo_20240131.tar.gz
//官方值
cat tspi_linux_sdk_repo_20240131_md5sum.txt

这里可以先去做个快照,ubuntu后面玩坏了可以重新从这里开始

解压

使用tar命令解压.gz文件

tar -xvzf tspi_linux_sdk_repo_20240131.tar.gz

解压是repo版本的我们需要同步代码

sudo apt-get update
//安装git
sudo apt-get install git -y
//安装repo
sudo apt install repo -y
//安装python2
sudo apt-get install python2.7
//安装python3
sudo apt-get install python3
//同步代码 -j为线程数
.repo/repo/repo sync -l -j88

编译环境

sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev

使用脚本全编译

./build.sh all

编译成功

烧录验证

在串口终端打开可以看已经可以正常操作

代码编译

     现在主控上的操作系统已经烧录好了,还需要一个编译器。用来专门编译在这个主控上运行的代码。

安装交叉编译工具

//安装交叉编译器
sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
//查看c编译器版本
aarch64-linux-gnu-gcc --version
//c++编译器版本
aarch64-linux-gnu-g++ --version

前面安装了ssh可以使用vscode连接ubuntu来给终端指令,以及写代码

编译.c

aarch64-linux-gnu-gcc xxx.c

可以看到arm架构的程序已经编译出来,把这个程序发送给泰山主控就可以试着运行了

传输程序到泰山派

用串口助手secureCRT 的rx命令发送bash提示没有该指令 用apt在泰山派安装一下这个服务

输入指令后就把共享磁盘中编译好的 a.out 拖入串口助手的界面选择xmode 协议中的任意一个自动发送了。这个速度有限后面换ftp好一点。

运行

直接运行提示权限不够 chmod 777 + demoname 改一下权限

再运行可以看到测试代码回显了两个字节对齐与四字节对齐的一个内存占用差异

  • 28
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 荔枝(Lichee Pi)是一款基于Allwinner系列芯片的开发板,而nano buildroot是一款开源的工具链。工具链是一系列用于构建、编译和调试软件的工具的集合。而nano buildroot则是在buildroot基础上移植和优化的版本。 荔枝的nano buildroot工具链提供了完整的开发环境,可以方便地进行软件的开发和调试。它支持包括C、C++、Shell脚本等多种编程语言,并且提供了一些常用的软件包和工具,如GCC编译器、调试工具链、网络协议栈等。 使用nano buildroot工具链可以方便地构建自己的应用程序,开发各种基于荔枝的嵌入式系统。它可以帮助开发者搭建符合自己需求的嵌入式开发环境,并提供了各种工具和库,简化了软件开发的过程。 此外,nano buildroot还提供了一些官方维护的软件包,可以方便地选择和集成到自己的系统中。通过配置文件,开发者可以自定义系统的各种特性,如文件系统类型、网络协议栈等。同时,nano buildroot还支持远程调试功能,可以方便地进行程序的调试和优化。 总结来说,荔枝的nano buildroot工具链提供了一个方便、高效的开发环境,适用于各种嵌入式开发项目。它可以帮助开发者快速构建自己的嵌入式系统,并提供强大的调试和优化能力。无论是初学者还是有经验的开发者,都可以通过使用nano buildroot轻松进行嵌入式开发。 ### 回答2: 荔枝(LicheePi)是一款开源的单板电脑,而nano buildroot是一个适用于荔枝的工具链。 nano buildroot工具链是专门为荔枝定制的,它提供了一种简化的方式来构建荔枝的嵌入式操作系统。通过使用这个工具链,开发者可以轻松地配置和构建他们想要的系统,以满足特定的需求。 该工具链的主要优势之一是其灵活性。它允许开发者选择要包含在系统中的软件包,以及配置系统的各种设置。这使得开发者能够根据项目的需求定制一个最小、精简的系统,从而减少资源的占用,并提高系统的性能。 此外,nano buildroot工具链还提供了一套完整的开发环境,包括交叉编译器、调试工具和库等。它使开发者能够在本地开发环境中编写、编译和调试他们的代码,然后将最终的可执行文件或完整的系统映像传输到荔枝平台上运行。 总的来说,荔枝nano buildroot工具链为开发者提供了一种方便、灵活和高效的方式来构建和定制荔枝的嵌入式系统。它使得开发者能够更好地利用荔枝的硬件资源,并快速实现他们的创意和解决方案。 ### 回答3: 荔枝 Nano是一款基于ARM架构的开发板,它运行了Linux操作系统。而Buildroot是一个能够为嵌入式系统生成精简的Linux根文件系统的工具链。 荔枝Nano可以通过Buildroot工具链进行构建,以定制化地配置和构建Linux根文件系统Buildroot工具链包括一系列的脚本和配置文件,用来从源代码编译各种软件包,生成适用于荔枝Nano的根文件系统。 通过Buildroot工具链,我们可以选择需要的软件包和功能来构建根文件系统,从而满足我们的特定需求。例如,我们可以选择安装必要的组件,如系统工具、网络协议栈、文件系统驱动程序,以及其他软件包,如开发工具链、编译器和调试工具。 Buildroot工具链的另一个优点是其具有良好的可定制性。我们可以根据自己的需要进行定制,添加或删除想要的软件包,并进行不同选项的配置。这样,我们可以根据具体项目的要求,定制一个定制化的根文件系统,使荔枝Nano满足我们的需求。 然而,需要注意的是,使用Buildroot工具链进行构建需要一定的Linux系统和软件开发经验。用户需要了解Linux系统和软件包的架构和依赖关系,以及如何正确配置和编译它们。同时,构建出的根文件系统还需要经过测试和验证,以确保其稳定性和兼容性。 总而言之,荔枝Nano和Buildroot工具链是一对强大的组合,可以为我们提供一个定制化的Linux根文件系统。通过合理配置和构建,我们可以充分利用荔枝Nano的性能和功能,满足各种嵌入式系统开发的需求。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值