neptune开发板环境配置,资源整合 原创 精华
能用就行:
网上有许多已经配置好环境的VMware虚拟机,由于本人使用的是VirtualBox,本文只介绍VirtualBox下的配置方法,我将会从下载虚拟机开始,详细讲解我配置环境的全过程,我配置环境的原则是能用就行,所以请原谅我在教程中的编码不规范问题,及常识性错误。
资源下载
在较大的硬盘里新建一个文件夹,下载下面的资源
1.下载Ubuntu20.04:https://ubuntu.com/download/desktop/thank-you?version=20.04.3&architecture=amd64
2.下载VirtualBox:https://www.virtualbox.org/wiki/Downloads
3.下载win10烧录工具SecureCRSecureFXPortable:https://pan.baidu.com/s/1uiiCpbJqViGb7Qs6HdCb8g 提取码: ddab
(资源由 蒙娜丽宁 提供于互联网,侵删)
4.下载文件互传工具winscp:https://winscp.net/eng/docs/lang:chs#下载
5.下载支持C-SKY架构的交叉编译器:https://occ.t-head.cn/community/download?id=3885366095506644992
虚拟机配置
新建虚拟机
接下来根据自己的硬件配置无脑下一步,由于不是本文重点,暂时忽略过程。
安装增强功能及openssh-server
安装增强功能,可以与虚拟机共享剪贴板,复制代码。
安装openssh-server
sudo apt-get install openssh-server
新建用户和用户组用于收发文件
sudo addgroup sftp-users
sudo adduser sftp
//将sftp从所有其他用户组中移除并加入到sftp-users组,并且关闭其Shell访问:
sudo usermod -G sftp-users -s /bin/false sftp
//创建SSH用户组,并把你的用户名加入到该组
sudo addgroup ssh-users
sudo usermod -a -G ssh-users 你当前用户名
//创建收发文件夹
sudo mkdir /home/sftp_root
sudo mkdir /home/sftp_root/shared
sudo chown 你当前用户名:sftp-users /home/sftp_root/shared
sudo chmod 777 /home/sftp_root/shared
修改ssh配置文件
sudo nano /etc/ssh/sshd_config
文件末尾添加以下内容:
AllowGroups ssh-users sftp-users
Match Group sftp-users
ChrootDirectory /home/sftp_root
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
//改完之后
ctrl+o保存
ctrl+x退出
//重启虚拟机
sudo reboot
创建软连接
//开机后,在桌面打开终端,创建文件夹并打开
mkdir share&&cd share
su //进入核心态
ln -s /home/sftp_root/shared .//意思是 收发目录和当前目录创建软连接
至此主机就可以和虚拟机互相收发文件了
winscp的使用
建立连接,ip地址写虚拟机的,用户名写sftp,登录
会看到一个文件夹,可以直接向文件夹里拖动文件,完成上传
Neptune开发环境配置
安装交叉编译器
解压交叉编译器
方法一: 直接用虚拟机内浏览器下载打开文章开头第5个下载地址,复制进/opt目录
方法二:用winscp 把csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz上传至虚拟机,并且复制到/opt目录
解压交叉编译器
cd /opt
tar zxvf csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz
安装gn,ninjia,llvm,hc-gen
下载gn,ninjia,llvm,hc-gen
cd ~/tools
//一次复制一行
wget https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar
解压gn,ninjia,llvm,hc-gen
//一次复制一行
tar -C ~/ -xvf gn.1523.tar
tar -C ~/ -xvf ninja.1.9.0.tar
tar -C ~/ -xvf llvm-linux-9.0.0-34042.tar
tar -C ~/ -xvf hc-gen-0.65-linux.tar
配置环境变量
nano ~/.bashrc
//在最底部添加
export PATH=~/tools:~/tools/ninja:~/tools/llvm/bin:$PATH
export PATH=~/opt/bin:$PATH
//改完之后
ctrl+o保存
ctrl+x退出
source ~/.bashrc
python环境配置
注意:
这里牵扯一个解释问题,即在bash中键入python,有的机器会启动python2,有的什么也不会启动。
我们想要的效果是bash将命令python直接解释为命令python3。
首先你要确定机器是在用bash解释命令,查看shell是否为bash,在终端运行如下命令:
ls -l /bin/sh
如果为显示为/bin/sh -> bash则为正常,否则请按以下方式修改:
sudo rm -rf /bin/sh
sudo ln -s /bin/bash /bin/sh
如果你的机器既有python2,又有python3,你可以直接卸载python2然后进行分隔线后的步骤,也可以键入以下命令
ln -s /usr/bin/python3 /usr/bin/python
由于本人是直接安装的ubuntu20.04,这个版本自带python3.8.10,而且没有python2环境。
所以我直接在~/.bashrc中添加了一句 alias python=‘python3’
安装必要的python3模块
sudo apt install python3-pip
sudo apt install python3-distutils
安装 node,npm,hpm
安装nodejs,npm
Node.js 版本要求 :12.13.0+,npm 版本要求 :6.14.4+
这里我们直接使用脚本安装v14.18.1版本的nodejs,v6.14.15的npm
sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
//安装完毕之后输入指令查看是否安装成功
node -v
npm -v
安装hpm
//使用npm安装hpm,更换为淘宝镜像
sudo npm config set registry https://registry.npm.taobao.org
sudo npm install-g@ohos/hpm-cli
//查看是否安装成功
hpm -V
编译与烧录
编译
下载源码
cd ~
mkdir harmony
cd harmony
//初始化
hpm init -t dist
//继承发行版
hpm install @hihope/neptune_iot
编译源码
hpm dist //注意这里不要加sudo,不然会报错
如果上述方法报错,无法排查故障,还可以使用下面的方法
python build.py w800 //注意这里的python是python3
烧录
拷贝镜像
将harmony/out/w800.img 复制到~/Desktop/shared
sudo cp /out/w800.img~/Desktop/shared
用winscp打开shared目录,把镜像复制到本地
连线
Type-C数据线,一端连接电脑(注意不要连到虚拟机上),一端连接开发板
开始烧录
对着左下角win图标点击右键-打开设备管理器
![image-20211130173006778]
打开烧录软件,设置参数
点击connect,出现下面这个画面,则连接成功
连接成功之后进入烧录模式,按住键盘ESC键和开发板RST键
3秒后松开开发板RST键,再松开ESC键,这时候会出现下面这个画面
点击Transfer-Send Ymodem…,选择你的镜像
点击Send后,就开始烧录了
烧录成功后,按一下开发板的RST键出现以下画面
![image-20211130171414483]
至此,烧录结束,开发板led闪烁
写在最后:
不得不说,neptune是我接触过比较特别的一块板子,它的内核用linux编译,windows烧录,作为一个普通开发者,我能感受到开发模式的不成熟,不过我相信未来这块板一定会更容易上手。
再者,我想谈一谈这块板,作为初学者,这块板给我最深刻的感受就是,它把引脚号打印在了板子的底部,这使得在没有引脚图的情况下,板子插在了面包板上,我就不知道引脚号了,只得抓耳挠腮。
最后,感谢你看我的文章,这个教程我只写了一天,所以可能会有一些bug,如果你在此教程中遇到了什么问题,或者bug,请留言给我,我会虚心接受意见并且更正。
不错,感谢分享!
(^O^)!
嘿嘿😄
LZ的昵称太秀了,忍不住进来看一看。
拷贝的opt目录可以改成其他的吗?