龙芯2K1000处理器集成2个64位GS264处理器核,主频1GHz,以及各种系统IO接口,集高性能与高配置于一身。支持4G模块、GPS模块、千兆以太网、16GB固态硬盘、双路UART、四路USB、WIFI蓝牙二合一模块、MiniPCIE等接口、双路CAN总线、RS485总线,扩展能力更强。龙芯2K1000已经广泛应用于工控、轨道交通、电力、能源等领域,经过大量项目验证,是嵌入式领域一颗新星。拥有完全自主知识产权,供货稳定,也是龙芯中科面向嵌入式开发的主推产品。
【实验平台】:迅为龙芯2K1000开发板
【视频介绍】:成体系 | 龙芯教学视频
【内容来源】《iTOP龙芯2K1000开发指南》
【全套资料及网盘获取方式】联系淘宝客服加入售后技术支持群内下载
第四部分 ubuntu开发环境搭建
开发龙芯,我们需要在Linux环境下进行开发,所以这就要求我们给PC机安装Linux操作系统,在4.2章节我们曾经提到过。我们使用的是Windows10系统+虚拟机ubuntu的方案。
为什么我们要选择ubuntu系统进行开发而不是其他系统呢,因为ubuntu系统桌面非常友好并且工具十分强大,比如apt-get。而且ubuntu可以免费使用并有专业的社团提供相应的支持。
所以这一部分针对ubuntu开发环境搭建,ubuntu系统使用和入门,ubuntu终端操作进行一个详细的讲解,帮助大家快速认识ubuntu系统已经构建起ubuntu开发环境。如果您已经对这些操作非常熟悉,可以直接使用我们搭建好的环境并跳这一部分。
4.1 安装虚拟机VMware软件
虚拟机VMware软件是做什么的呢?我们为什么要安装他呢?刚才我们提供了我们采用的是Windows10系统+虚拟机ubuntu的方案。要想实现这个方案,我们就需要先在Windows电脑上安装虚拟机软件,顾名思义,虚拟机就是虚拟出来的一个机器。然后我们在虚拟出来的这个机器上安装ubuntu系统,这样我们就实现了Windows10系统+虚拟机ubuntu的方案。
能实现虚拟机的软件有很多,这里我们选择的是VMware软件,接下来我们就一起来看一下这个软件的安装。VMware软件可以在VMware官网下载,官网地址:https://www.vmware.com/cn.html
VMware软件安装包位置:LS2K1000开发板资料\03_开发所需软件及驱动\3_VMware15.5
VM软件的安装十分简单,我们双击打开VMware-workstation-full-15.5.0-14665864.exe进入安装界面,
然后点击上图中的“下一步” 按钮, 进入下图所示界面:
然后选中上图中的“我接受许可协议中的条款” , 继续选择“下一步” 按钮, 进入如下图所示界面:
根据实际需要可以在上图红色箭头所示的地方更改安装路径,注意:安装路径不要有中文,选择好按住哪个路径, 点击上图中的“下一步” 按钮, 进入如下图界面:
在上图界面中, 取消红色方框内的两个复选框, 然后点击“下一步” 按钮, 进入如下图所示界面:
然后选中上图中红色方框内的两个复选框, 确保安装完成后, 在桌面和开始菜单里面有 VMware 图标,然后点击上图中的“下一步” 按钮, 进入下图所示界面:
经过前面几步的操作, 我们已经设置好安装参数了, 我们点击上图中的“安装” 按钮开始安装 VMware,安装过程如下图所示:
安装完成会显示下图所示的界面:
然后点击上图中的“完成” 按钮, 完成 VMware 虚拟机的安装, 将会在桌面生成 VMware Workstation Pro的图标, 如下图所示:
接下来我们双击上图中的图标, 打开 VMware 软件。 第一次打开软件会提示输入许可证密钥, 如下图所示:
VMware 是付费软件, 如果您购买了 VMware 会有一串许可证密钥, 如果没有购买, 我们可以选择“我希望试用 VMware Workstation 15 30 天” 选项, 然后我们点击“继续” 按钮, 进入下图所示界面:
然后点击上图中的“完成” 按钮, 打开 VMware 的界面如下图所示:
至此, 虚拟机 VMware 的安装我们就完成了。
4.2 虚拟机安装ubuntu系统
4.2.1 下载ubuntu系统镜像
在Windows电脑上安装好了VMware软件以后,我能就可以在VMware软件上安装ubuntu系统了,要安装ubuntu系统,首先我们就要有ubuntu系统的镜像,我们可以去ubuntu系统的官网获取系统镜像。Ubuntu系统官网:Enterprise Open Source and Linux | Ubuntu
Ubuntu20.04安装包在:LS2K1000开发板资料\03_开发所需软件及驱动\4_Ubuntu20.04系统
打开官网以后,我们选择Download,如下图所示:
选择20.04LTS,并开始下载ubuntu20.04系统镜像,如下图所示:
4.2.2 虚拟机安装ubuntu系统
首先我们打开 VMware 虚拟机软件, 然后点击下图中的“创建新的虚拟机” 选项 如下图所示:
在弹出的界面我们选择默认设置, 然后点击下图中的“下一步” 按钮,如下图所示:
接着我们在安装程序光盘映像文件里选择我们ubuntu20.04系统安装包的位置,注意,不要有中文路径。然后点击下一步
然后我们设置ubuntu系统的相关信息,ubuntu系统名称我们设置为ubuntu20.04,ubuntu系统登录账号设置成topeet,密码也设置成topeet。设置完成后大家一定要记住自己设置的账号密码,安装完系统以后我们需要使用这个密码进行登录
接着我们设置虚拟机名称为ubuntu20.04,安装位置大家自行选择即可,但是切记不要有中文路径,以及要选择一个空间比较大位置进行安装,作者这里G盘的剩余存储空间为1T。
最大磁盘大小这里作者设置成了1000G,大家依据自己的剩余空间来设置即可,建议存储空间至少要预留500G以上。设置完成后,点击下一步。
接着在弹出的界面,我们选择自定义硬件,如下图所示:
自定义硬件这里我们要根据自己PC的硬件配置修改一下虚拟机的硬件参数,由于我的机器是16G 内存,所以这里我给虚拟机分配了8G内存(大家可以根据自己 PC 的实际配置来修改)
然后点击“处理器” 选项, 修改处理器的配置, 这里我把处理器个数设置成 4, 然后每个处理器的内核数量我分了1个(大家可以根据自己 PC 的实际配置来修改) 进入下图界面:
点击“网络适配器” 选项, 进入修改虚拟机的网络配置的界面, 这里我们配置成“桥接模式”, 如下图所示:
然后选择显示器选择,取消勾选掉3D图形加速,如下图所示:
最后点击“关闭” 按钮, 如下图所示:
返回到“自定义硬件”界面, 然后点击“自定义硬件界面” 中的“完成” 按钮, 开始安装 Ubuntu20.04系统,然后点击完成。
开始安装ubuntu20.04系统。如下图所示
大约经过10分钟左右(根据 PC 的配置, 时间会有所不同) , Ubuntu 会自动完成安装,并重新启动, 进入登录界面, 如下图所示:
最后,我们输入在安装ubuntu20.04的时候设置的账号密码,登录到ubuntu系统界面,如下图所示:
至此, Ubunt20.04虚拟机的安装我们就完成了
4.3 虚拟机ubuntu基础操作及设置
4.3.1 虚拟机ubuntu系统开关机
在安装完虚拟机ubuntu系统以后,我们要正确的进行开关机操作,如果开关机操作不当,可能会造成虚拟机ubuntu系统崩溃,所以当我们结束在ubuntu系统上的工作以后,我们要正确进行关机,开机操作。
首先是关闭虚拟机:在 VMware 的菜单栏上有一个启动、停止、关闭的快捷按钮, 我们首先使用鼠标点击下拉箭头,会展开该按钮的所有功能,如下图所示:
此时我们的 Ubuntu 处于运行状态, 我们只需要点击下拉菜单里面的“关机(O)”按钮,即可关闭 Ubuntu虚拟机,如下图所示:
点击“关机”选项后, 会提示关机对话框,我们点击“关机” 按钮,如下图所示:
等到关机完成, 如下图所示:
然后是虚拟机ubuntu开机,直接点击开机俺就即可,如下图所示:
此时会弹出对话框, 我们点击“否” 按钮, 如下图所示:
稍等片刻Ubuntu 系统正常启动起来了, 如下图所示:
至此关于 Ubuntu 系统的开机, 关机我们就讲解完成了。
4.3.2 虚拟机ubuntu终端操作
我们在用 Ubuntu 系统开发的过程中绝大部分情况下都是通过命令来使用 Ubuntu 的, 所以掌握 Ubuntu 的使用命令对于我们的后续 linux 学习至关重要。 Ubuntu 下的终端操
作类似Windows系统下的cmd命令行操作。首先我们需要打开终端,打开终端的方法有好几种:
- 快捷键Ctrl+Alt+t组合按键;
- 在 Ubuntu 系统桌面, 鼠标右键然后选择“Open in Terminal”;
Ubuntu终端界面如下图所示:
关闭终端,我们直接点击右上角的叉号即可,如下图所示:
4.3.3 虚拟机ubuntu更换背景
点击 桌面右上角的倒三角,选择Settings,如下图所示:
接着我们选择Background选项,然后选择一个自己喜欢的图片,如下图所示:
比如这个作者选择这个桥的图片,选择好以后,直接点击右上角的叉号,背景就会自动帮我们设置成功。
设置成功如下图所示:
4.3.4 虚拟机ubuntu启动root用户
作为嵌入式开发人员,系统的所有权限都要为我们打开,所以我们不必像运维那样,对root用户非常敏感,所以安装完ubuntu系统以后,我们要启用root用户。
首先我们打开ubuntu控制终端,然后在终端里面输入命令 sudo passwd root,如下图所示:
然后敲回车,按照提示输入当前用户密码,作者这里当前用户密码为toppet,即我们的登录密码,然后输入设置root密码,root密码作者也设置为topeet,如下图所示:
4.3.5 虚拟机ubuntu更换下载源
Ubuntu 系统软件的下载安装我们通常使用命令“apt-get” , 该命令可以实现软件自动下载, 安装, 配
置。 该命令采用客户端/服务器的模式, 我们的Ubuntu系统作为客户端, 当需要下载软件的时候就向服务器发起请求, 因此我们需要配置下服务器的地址,也就是更换ubuntu系统的下载源,首先打开“系统设置” 界面, 然后找到“about”设置,然后点击Software Updates,如下图所示
点击Download from,选择Other,如下图所示:
在下载源设置这里,地区选择中国,服务器选择阿里,如下图所示“”
设置好以后,点击choose Server,如下图所示:
接着会让我们输入密码,即当前的用户的登录密码,作者这里的密码为topeet。设置完成以后如下图所示:
接着我们会回到下载源设置界面,我们点击close关闭即,如下图所示:
点击close,如下图所示:
点击叉号,回到ubuntu桌面,如下图所示:
回到ubuntu桌面以后,我们打开控制终端,然后输入命令sudo apt-get update更新下载源(此操作需要保证ubuntu系统可以联网),如下图所示:
更新成功如下图所示:
4.4 虚拟机ubuntu安装软件
Ubuntu之所以如此出名,不仅是非常有好的交互界面,还有一个非常强大的apt-get工具,我们可以通过这个工具很轻易的在ubuntu系统上安装,卸载,更新软件,在做这一小节之前我们需要先按照8.5章设置好下载源。
4.4.1更新软件列表
sudo apt-get update
这个命令会访问源列表里面的每个网址, 并读取软件列表, 然后保存在本地电脑。 我们在软件包管理器看到的软件列表, 都是通过 update 命令更新的。 我们在终端输入该命令, 运行结果如下图所示:
4.4.2检查依赖是否有损坏
sudo apt-get check
检查依赖是否有损坏就是指 A 软件的运行可能需要依赖 B 软件, 只有安装了 B 软件, A 软件才能正常运行。 我们可以通过该命令检查系统里面软件的依赖关系是否有损坏, 运行结果如下图所示:
4.4.3软件安装
sudo apt-get install package-name
此命令为安装软件命令,package-name 就是我们要安装的具体软件的名称, 比如我们开发过程中会用到vim,这时我们可以使用该命令手动安装vim ,我们在终端输入命令“sudo apt-get install vim” ,安装过程中会提示我们是否确认安装, 如果我们继续安装, 输入“y” 继续安装,输入“n”,则取消安装, 运行结果如下图所示:
安装成功如下图所示:
4.4.4软件更新
sudo apt-get upgrade
此命令会把本地安装的软件, 与最新的软件列表里面对应的软件进行对比, 如果发现安装的软件版本低, 就会提示更新, 如果软件已经是最新版本, 不会更新。 我们在终端输入“ sudo apt-get upgrade” , 运行结果如下图所示:
输入 y 确认更新(如果取消更新可以输入 n),我这里更新这些软件,所以就输入y,如下图所示:
更新完成如下图所示:
4.4.5软件卸载
sudo apt-get remove package-name
如果我们需要卸载已经安装的 package-name 软件, 我们可以会用该命令, 比如卸载前面我们安装的vim软件, 我们在终端输入“sudo apt-get remove vim”。
至此,关于apt-get命令的几个常用功能,我们就介绍完了,大家可以自己亲手练习,亲身体会下。
4.5虚拟机ubuntu安装必要工具
4.5.1安装VMtools工具
VMware Tools是VMware软件中自带的一个工具,我们只有在VMware虚拟机中安装好这个工具,才可以实现文件在虚拟机ubuntu和Windows之间的复制,粘贴等操作,并且可以实现根据实际情况来自动切换屏幕的显示尺寸。所以我们非常有必要安装这个工具。
首先我们打开VMware软件,点击编译虚拟机设置,如下图所示:
然后选择CD/DVD选项,选择使用ISO映像文件,这里选择VMware软件安装位置下的linux.so设置完成后点击确定,如下图所示:
接着我们打开终端,输入df命令,可以看到VMware Tools的安装包所在的路径为/media/topeet/VMware Tools,如下图所示:
接着输入命令cd /media/topeet/VMware Tools进到安装包所在路径下,注意,这里大家以自己的实际路径为准。如下图所示:
输入命令sudo cp VMwareTools-10.3.10-13959562.tar.gz /opt把安装包拷贝到ubuntu系统的opt目录下,注意,VMwareTools-10.3.10-13959562.tar.gz为安装包的名称,大家以自己实际下载的安装包名称为准,如下图所示:
使用命令 sudo cd /opt 进到ubuntu系统的opt目录下,因为刚才我们把安装包拷贝到了这个路径下,为什么我们要拷贝到这个目录下呢,因为ubuntu的opt目录是用来存放主机额外软件安装包的目录,我们要遵守这个规范,所以我们拷贝并进到这个目录下。如下图所示:
输入命令sudo tar -xf VMwareTools-10.3.10-13959562.tar.gz解压安装包(命令后面安装包的名字大家以自己实际的名字为准 ),如下图所示:
接着输入命令cd vmware-tools-distrib进到我们解压生成的目录,如下图所示:
然后输入命令sudo ./vmware-install.pl进行安装,如下图所示:
安装过程中会提示if you want to do this,otherwise type 。我们输入yes,并敲回车,如下图所示:
解压来的安装过程会询问我们yes或者no,我们全部按回车即可,也就是默认安装,安装完成如下图 所示:
最后我们重新ubuntu系统,即可实现Windows和ubuntu之间的复制粘贴等操作。
4.5.2安装SSH服务
在搭建开发环境的时候, 提到了不要给电脑安装双系统, 因为我们经常要在 ubuntu 和 windows 上互传文件, 所以我们要使用虚拟机,然后在虚拟机里面安装我们 ubuntu 操作系统。 那么我的 windows 要怎么和 ubuntu 互传文件呢, 我们就可以使用 ssh 软件。 接下来我们安装下这个软件。
在终端输入 sudo apt-get install openssh-server , 输入登录 Ubuntu 用户的密码, 这里我们输入 y 确认安装。 如下图所示。
接着继续改 ssh 配置文件, 因为 ssh 默认不允许用户登录, 所以我们还需要打开配置文件,输入命令“sudo vim /etc/ssh/sshd_config”,找到“PermitRootLogin prohibit-password”修改成“PermitRootLogin yes”。如下图所示。
保存退出后在终端输入“ /etc/init.d/ssh restart”命令, 重新启动 ssh服务,然后输入密码。如下图所示:
启动成功如下图所示:
打开MobaXterm软件,在菜单栏中选择回话并选择SFTP服务,如下图所示:
在ubuntu终端输入命令ifconfig,查询ubuntu系统的ip,如下图所示:
在MobaXterm软件弹出来的对话框中,远程主机IP我们填入ubuntu系统ip,也就是192.168.1.25,这里大家根据自身情况填写。用户名我们填写root,设置完成后点击确定,如下图所示:
在弹出来的对话框里面我们填入ubuntu系统的登录密码,然后点击确定,作者这里是topeet,如下图所示:
下一个窗口我们选择否,如下图所示:
成功连接ubuntu系统如下图所示:
我们只需要把Windows电脑上的文件直接拖到上图的对话框即可把文件传到ubuntu,从ubuntu传文件到Windows电脑,只需要在上图的对话框里面把文件拖到Windows电脑即可。
4.5.3安装vscode
Vscode是一款免费开源的代码编辑器,而且功能十分强大,基本支持所有主流的编程语言的语法高亮,自动补全,匹配括号等。软件跨平台支持win,mac和linux。
首先我们需要获得vscode的安装包,我们可以打开vscode的官网,官网地址:https://code.visualstudio.com/Download,因为我们需要在Ubuntu系统上安装,所以我们需要下载Ubuntu系统版本的安装包,如下图所示:
也可以使用迅为下载好的安装包,安装包位置:LS2K1000开发板资料\03_开发所需软件及驱动\6_vscode
有了安装包以后,我们将vscode的安装包拷贝到Ubuntu的任意目录下,如下图所示:
接着我们输入安装命令sudo dpkg -i code_1.59.0-1628120042_amd64.deb进行安装,注意:sudo dpkg -i 后面的是文件的名称,请以实际情况为准,安装完成如下图所示。
安装完成后我们就可以在Ubuntu的软件中心看到vscode的图标了,如下图所示:
接着点击vscode图标打开vscode软件,打开完成后点击externsions图标,在搜索框里面输入ch搜索和中文有关的语言包,然后选择Code Spell Checker进行安装,如下图所示:
接着按ctrl+shift+p快捷键打开搜索框,手动搜索configure display language,并修改成"zh-CN",即中文模式,之后重启vscode软件。如下图所示:
软件重启成功后,可以看到vscod就汉化成功了,如下图所示:
4.5.4安装tftp服务
tftp 是一个简单的基于 udp 的文本文件传输协议, 我们可以用它来实现开发板和虚拟机Ubuntu之间的互传文件,只在 Ubuntu 上配置好 tftp 服务器即可。
首先使用命令mkdir tftpboot 在家目录下创建文件夹tftpboot,然后使用命令chmod 777 tftpboot修改文件夹的权限为777,,如下图所示:
使用命令sudo apt-get install tftp-hpa tftpd-hpa下载安装tftp服务,安装完成后使用命令sudo vim /etc/default/tftpd-hpa打开tftp的配置文件,并修改成如下图所示:
输入命令sudo service tftpd-hpa restart启动tftp服务,如下图所示:
从上图可以看出,已经启动成功,至此,Ubuntu上tftp服务已经搭建完成。
4.5.5安装nfs服务器
4.5.5.1什么是nfs?
NFS 是 Network File System 的缩写, 它可以通过网络, 让不同的机器、 不同的操作系统可以共享彼此的文件。
NFS 服务器可以让 PC 将网络中的 NFS 服务器共享的目录挂载到本地端的文件系统中, 而在本地端的系统中来看, 那个远程主机的目录就好像是自己的一个磁盘分区一样, 在使用上相当便利;
NFS 服务器我们一般是在 ubuntu 上搭建的。 这里的客户端我们使用的是开发板, 如下图所示。
4.5.5.2同一网段概念
使用 nfs 之前, 开发板、 虚拟机 ubuntu、 windows 电脑三者要互相 ping 通, 这就涉及到了同一个网段的概念。
概念: 同一个网段是指 IP 地址和子网掩码相与得到的相同的网络地址。
快速判断同一个网段:
(1) 开发板、 虚拟机 ubuntu、 windows 子网掩码是不是相同。
(2) 开发板、 虚拟机 ubuntu、 windows IP 地址的前三段是不是相同。
举例:
Ubuntu:
由上图可知, ubuntu 的 IP 为 192.168.1.11, 子网掩码是 255.255.255.0
Windows:
由上图可知, windows 电脑的 IP 为 192.168.1.5 ,子网掩码是 255.255.255.0所以, ubuntu 和 windows 在同一个网段, 因为子网掩码相同, 都是 255.255.255.0, IP 地址前三段相同,都是 192.168.1。 同理, 判断开发板的网段是不是和 ubuntu 和 windows 在同一个网段下, 我们也可以使用这个方法。
4.5.5.3连接方式
在我们做技术支持的时候,经常遇到很多小伙伴,开发板,Ubuntu,电脑主机不能互相ping通的问题,如果不能互相ping通,就不能使用nfs,所以这里作者总结了一个最稳定的连接方式,推荐大家使用,以免出现不能ping通的问题。
(1) 虚拟机 ubuntu 要使用桥接模式, 不能使用其他模式
(2) 开发板使用无线或者有线连接到路由器上, 不要直接连接到电脑,不要连手机热点。
(3) windows 关闭防火墙, 使用有线连接到和开发板连接的同一个路由器上。
(4) 保证虚拟机 ubuntu,Windows, 开发板在同一个网段。
4.5.5.4 nfs服务器的搭建
在 ubuntu 安装 nfs 服务: 使用命令sudo apt-get install nfs-kernel-server,如下图所示:
接着使用命令sudo mkdir -p /home/nfs在/home/路径下创建nfs文件,用来共享使用,如下图所示:
配置文件中添加以下代码:
/home/nfs/ *(rw,sync,no_root_squash)
其中: /home/nfs/ 是 nfs 服务器要共享的目录
rw:是可读写权限
sync:是资料同步写入内存和硬盘
no_root_squash:当登录 NFS 主机使用共享目录的使用者是 root 时, 其权限将被转换成为一名使用者,通常它的 UID 与 GID 都会变成 nobody 身份。
如下图所示:
配置完成后保存退出。使用命令/etc/init.d/nfs-kernel-server restart重启nfs服务,如下图所示:
从上图我们看出,nfs已经重启成功,说明Ubuntu上的nfs服务器已经搭建成功。
4.5.5.5 nfs服务器使用
我们按照4.4.5.3和4.4.5.2章节连接好开发板并设置好同一网段以后,使用命令mount -t nfs -o nolock 192.168.1.38:/home/nfs /mnt/将Ubuntu系统的/home/nfs文件夹挂载到开发板的/mnt目录下,如下图所示:
这句话代码的意思是使用 nfs 挂载/home/nfs 到 mnt 文件夹下, 192.168.1.38的 IP 为 ubuntu 的 IP.把这个 ip 改成自己 ubuntu 的 ip 就可以了。
4.5.5.6 nfs服务器测试
挂载好nfs以后,接着我们在Ubuntu的/home/nfs文件夹下使用命令sudo touch test.c创建一个c文件,如下图所示:
然后在查看开发板的/mnt目录,如果/mnt目录下也可以看到我们在Ubuntu虚拟机上创建的这个test.c文件,说明nfs挂载成功,如下图所示:
从上图可以看到,nfs已经可以正常使用。