写在前面: 文本所写的工程创建均是基于 HH-SPARK-WS63 星闪无线模组。 此篇是系列文章《基于 OpenHarmony5.0 的星闪轻量型设备应用开发》的第 1 章。
1.1 介绍
HH-SPARK-WS63 星闪无线模组(以下简称 WS63)是由润和软件推出的基于海思 WS63V100 SoC 的面向星闪开发爱好者的芯片。
WS63 的工程构建,可以选择在 Ubuntu 系统下,选用基于润和软件提供的 OpenHarmony 版本的 SDK ;也可以选择在 Windows 系统下,使用 HiSpark Studio 软件,并搭配基于统一开发平台FBB(Family Big Box,统一开发框架,统一API)构建而来的 SDK,fbb_ws63 。
- 若选择在 Ubuntu 系统下构建基于 OpenHarmony 的 WS63 工程,SDK 需要在 Ubuntu 环境下进行源码编译,对于没有 Linux 环境的开发人员来说需要安装虚拟机运行 Ubuntu 或者通过远程 ECS 云服务器的方式搭建 Ubuntu 的编译环境。
- 若选择在 Windows 系统下进行 WS63 工程开发,那么目前海思提供的 HiSpark Studio 已经支持 fbb_ws63 的编译,开发者只需要一台 Windows 电脑就可以进行源码开发、编译、烧写和调试了,使用起来十分方便。
目前(截至 2025-03-12)基于 OpenHarmony 的 ws63 的 SDK 版本为 20250109 版本,而 fbb_ws63 的版本已经发布了 102 版本。详细的有关 SDK 获取方式和版本信息可以通过https://gitee.com/HiSpark/fbb_ws63 进行了解。
1.2 在 Windows 系统下搭建开发环境
1.2.1 HiSpark Stuido 的下载与安装
- 下载 Windows 版本的HiSpark studio工具包(下载地址:https://gitee.com/link?target=https%3A%2F%2Fhispark-obs.obs.cn-east-3.myhuaweicloud.com%2FHiSparkStudio.exe)。
- 下载完成后,双击 HiSparkStudio.exe 安装。
图 1.2-1 HiSpark Studio 安装包
- 安装界面如下,选择 “我同意此协议” ,点击 “下一步” 。
图 1.2-2 HiSpark Studio 安装步骤——协议
- 根据用户自身磁盘空间大小,选择对应的磁盘进行安装,选择完成后,点击下一步。
图 1.2-3 HiSpark Studio 安装步骤—— 选择目标位置
- 根据用户自身需要勾选附加任务,默认全部勾选,选择完成后,点击下一步。
图 1.2-4 HiSpark Studio 安装步骤—— 选择附加任务
- 点击 “安装” ,进行工具的安装。
图 1.2-5 HiSpark Studio 安装步骤——准备安装
- 安装过程如下,等待安装完成。
图 1.2-6 HiSpark Studio 安装步骤——正在安装
:::color4
在安装的过程中,HiSpark Stuido会自动检测当前电脑是否已经安装了Python,如果没有,它会弹出来Python安装提示,只需要同意安装就行了。这里安装的Python是3.11.4的版本。华为和海思的工具一般对Python版本有严格要求,所以尽量使用官方建议的版本。【注意】Python是必须要安装的,如果不同意安装,后续HiSpark Studio也没有办法正常编译代码的。
:::
【注意】:
Python是必须要安装的,如果不同意安装,后续HiSpark Studio也没有办法正常编译代码的。
- 出现如下界面代表安装完成,点击完成即可。
图 1.2-7 HiSpark Studio 安装步骤——完成安装
- 安装完成后,HiSpark Studio 打开主页界面如下:
图 1.2-8 HiSpark Studio 主界面
1.2.2 下载SDK
- 访问 SDK包下载地址(https://gitee.com/HiSpark/fbb_ws63),在主界面上点击 “克隆/下载” ,选择 “下载ZIP” ,如下图所示,等待下载完成。
图 1.2-9 fbb_ws63 SDK 下载位置示意图
- 将下载的压缩包 “fbb_ws63_master.zip” 解压后使用。
1.2.3 在 HiSpark Studio 新建工程并编译
- 代码下载完成后,打开 HiSpark studio 工具,点击“新建工程”。
图 1.2-10 在 HiSpark Studio 中新建工程引导界面
- 新建工程界面中芯片:“WS63”,工程名:“xxx”(用户自定义,但是不能带中文,特殊符号),软件包:“xxx/fbb_ws63/src”(SDK 软件包存放路径,这个地方一定要选到 src 层级,否则新建会失败),配置选择完成后,点击“完成按钮”。
图 1.2-11 HiSpark Studio 创建一个新工程界面
- 工程创建好之后,如果点击“build”或者“rebuild”编译(如下图所示的按钮)
图 1.2-12 HiSpark Studio 的编译按钮位置示意图
可能出现下面图片所示的错误情况:
图 1.2-13 HiSpark Studio 编译工程时可能会出现的错误提示
出现这个错误的主要原因是安装 Python 的时候没有把 Python 可执行文件所的目录加入到 PATH 环境变量中,导致编译程序的时候找不到 pip。
如果你发现 Python 没有自动添加到环境变量,你可以手动设置。以下是如何在 Windows 系统中手动添加 Python 到环境变量的步骤:
:::success
- 找到 Python 安装目录。例如,如果你的 Python 安装在 C:\Users(当前用户名)\AppData\Local\Programs\Python\Python311
- 记住这个路径。
- 打开“控制面板” > “系统和安全” > “系统” > “高级系统设置”。
- 在“系统属性”窗口中,点击“环境变量”按钮。
- 在“系统变量”区域,找到并选择“Path”变量,然后点击“编辑”。
- 在“编辑环境变量”窗口,点击“新建”,并添加 Python 的安装目录路径(例如 C:\Users(当前用户名)\AppData\Local\Programs\Python\Python311)。
- 点击“确定”保存更改,然后关闭所有窗口。
- 打开命令行终端工具,输入
python
,如果能够启动 Python 解释器,则表示设置成功。
:::
接下来,建议手动安装 4 个 Python 软件包。因为如果不安装的话,会导致对工程进行配置时,出现错误。
以下命令在 Windows 的终端中运行。
# 代码 1.2-1
pip install cmake
pip install pycparser
pip install kconfiglib
pip install windows_curses
- 以上都处理完毕后,可以编译工程了,编译完成如下图所示。
图 1.2-14 在 HiSpark Stuido 中工程编译成功的终端输出信息
【注意】:
不同配置的电脑,编译的时长不一样,有的可能会编译十几甚至二十几分钟,这都是正常的,毕竟海思的这款工具编译时,要处理上万个源文件。所以请耐心等待编译完成即可。
1.2.4 镜像烧录
- 硬件搭建:Type-C USB线将板端与PC端连接
图 1.2-15 TYPE-C USB 线连接开发板的 USB 口
- 下载 CH340G 驱动(下载地址https://gitee.com/link?target=https%3A%2F%2Fwww.wch.cn%2Fdownloads%2FCH341SER_EXE.html)。
图 1.2-16 USB 转串口 windows 一键安装驱动下载界面
- 安装串口驱动。安装前单板需要与PC端相连,双击下载好的驱动进行安装即可。
图 1.2-17 串口驱动安装成功的界面
- 安装成功后,在 HiSpark Studio 工具中点击“工程配置”按钮,选择“程序加载”,传输方式选择“serial”,端口选择“comxxx”,com 口在设备管理器中查看。
图 1.2-18 HiSpark Stuido 配置串口操作界面示意图
- 配置完成后,点击工具“程序加载”按钮烧录。
图 1.2-19 HiSpark Studio 的烧录按钮位置示意图
- 出现“Connecting, please reset device…”字样时,复位开发板,等待烧录结束。
图 1.2-20 HiSpark Studio 烧写过程终端输出信息示意图
- 烧录完成后,复位开发板可以在串口中看到对应的打印信息(串口工具自行选择即可)。
图 1.2-21 通过串口调试助手工具查看开发板运行时的输出信息界面
1.3 基于 OpenHarmony SDK 的 Ubuntu 开发环境搭建
1.3.1 准备前提
- Ubuntu 最好是 20.04 的版本,如果自己本身的电脑配置比较高,可以选择安装 VMware Workstation 或者 VirtualBox 等虚拟机软件,并以虚拟机的方式安装 Ubuntu20.04.
- 如果自己的电脑配置不是很高,可以选择阿里云ECS服务器或者腾讯云的方式远程搭建一台 Ubuntu20.04 的服务器。选择远程部署的方式,可以通过 ssh 密钥方式登录,而 ssh 密钥可以分享到多台电脑上,可以方便开发人员就近选择合适的设备进行源码开发。
以下的操作步骤以阿里云 ECS 服务器为例,ssh 密钥创建,远程 ssh 登录,vscode 远程连接,开发环境必须软件包的安装,工程编译,下载和烧写。
1.3.2 配置公钥免密登录阿里云 ECS
(1) 购买阿里云 ECS
访问阿里云官网,选择合适的ECS配置套餐后进行购买,购买前选择镜像时请选择“公共镜像”的“ubuntu_20_04_x64…"字样的镜像即可。
:::danger
【说明】购买过程的配置界面中要求给 root 账户设置密码,自己设置好密码一定要记得,忘记会很麻烦。
:::
(2) 远程登录阿里云 ECS
- 阿里云 ECS 购买好之后,进入阿里云 ECS 控制台,进入“实例与镜像”菜单的“实例”项界面,可以看到购买的“实例详情”,其中的“公网 IP”是通过本地电脑远程访问你的阿里云 ECS 的 IP 地址。
图 1.3-1 阿里云 ECS 控制台操作界面
- 在本地电脑中启动 cmd 命令行工具,或者 PowerShell 工具,输入以下命令:
# 代码 1.3-1
ssh root@你的阿里云公网IP
- 然后屏幕上会需要你输入 root 的密码,这是界面上不会对键盘输入进行回显,所以一定要保证自己输入的密码是正确的,然后再按回车,就可以进入如下所示的远程阿里云 ECS 的终端命令行界面了。
图 1.3-2 使用 SSH 方式远程登录阿里云后的终端界面
(3) 更新软件
在远程登录的命令行界面中输入以下命令,对远程阿里云 ECS 的软件进行更新
# 代码 1.3-2
sudo apt update && sudo apt upgrade
:::danger
【说明】以上命令中的“sudo”表示以管理员权限执行后面的 apt 命令,如果本身就是以 root 账户登录的,那么命令执行的时候可以去掉“sudo”。
:::
(4) 在 Windows 上创建 SSH 密钥对
- 以管理员身份打开 PowerShell。按下图的序号操作即可。
图 1.3-3 在 Windows 中以管理员身份打开 PowerShell操作示意图
- 在PowerShell窗口中输入以下命令并回车。
# 代码 1.3-3
ssh-keygen -t rsa -C "your_email@example.com"
:::danger
【说明】上面命令中的“your_email”可以写成你当前 PC 的名字,“example.com”可以写成你想写的任何你喜欢的域名,这个随便写的,无所谓。
:::
- 上面命令执行后,会提示你选择保存密钥文件的位置和名称,不用管,直接回车就行。
- 继续回车。
- 生成好的密钥对儿默认就存放在了“C:\Users\你的用户名/.ssh” 里,有两个,一个是
id_rsa
(私钥),一个是id_rsa.pub
(公钥)。私钥一定要保存好。公钥我们需要复制到阿里云 ECS中。
(5) 将公钥复制到阿里云 ECS 中并验证
- 继续在本地电脑的 PowerShell 窗口中执行以下命令:
# 代码 1.3-4
# 该命令用于将本地的公钥上传至远程阿里云 ECS 中
scp c:\Users\你的用户名\.ssh\id_rsa.pub root@你的阿里云公网IP:/root/.ssh/
- 在 PowerShell 窗口中使用 ssh 命令远程登录到阿里云中。
- 登录成功后切换至 /root/.ssh 目录下
# 代码 1.3-5
root@你的阿里云实例名:~# cd /root/.ssh
- 删掉目录下的 authorized_keys 文件
# 代码 1.3-6
root@你的阿里云实例名:~/.ssh# rm -f authorized_keys
- 将刚才上传至该目录下的公钥文件复制为 authorized_keys 文件
# 代码 1.3-7
root@你的阿里云实例名:~/.ssh# cp id_rsa.pub authorized_keys
- 以上步骤完成后,可以退出当前 PowerShell 窗口后再重新进入,并输入以下命令。
# 代码 1.3-8
ssh root@你的阿里云公网IP
- 运行后会询问你是否要在本地建立远程服务器的 fingerprint,直接输入 yes, 回车即可。
- 关闭 PowerShell,再重新进入,同样再次输入 ssh 远程登录命令,这时已经不需要再输入密码就能够访问了。
1.3.3 部署 WS63 OpenHarmony SDK
WS63 OpenHarmony SDK 以压缩包形式提供,并且需要在 Ubuntu 环境下解压才可以使用。
可以首先通过 scp 命令方式,或者 MobaXterm 等 SSH 远程登录工具将 SDK 上传至 Ubuntu 机器中。建议将获取的 SDK 上传至 Ubuntu 的 /home 目录下。解压命令如下:
# 代码 1.3-9
root@你的阿里云实例名:/home# tar -xvf oh_sdk_XXXXXX.tar.gz
1.3.4 将 Ubuntu 中的 dash 改成 bash
因为编译工具链有一部分需要bash输入,Ubuntu 默认终端命令方式为 dash,所以需要切换为 bash。
- 在 Ubuntu 终端输入以下命令并回车。
# 代码 1.3-10
root@你的阿里云实例名:~# dpkg-reconfigure dash
- 进入 图 1.3-4 所示的界面后,使用键盘的左右箭头,选择 No,然后回车。
图 1.3-4 Ubuntu Configuring dash 操作界面
- 验证是否更改过来了。在 Ubuntu 中输入 代码 1.3-11 的第一行的命令后,能看到第二行的返回,表明成功。
# 代码 1.3-11
root@你的阿里云实例名:~# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 May 23 15:08 /bin/sh -> bash
1.3.5 软连接 Python3
- 首先查看Python的版本,在 Ubuntu 环境下的终端环境里输入 代码 1.3-12 的命令。
# 代码 1.3-12
root@你的阿里云实例名:~# python3 -V
返回的应该是 Python 3.8.10。因为每次使用 Python 都要输入 python3 太麻烦,所以需要建立一下软连接。
- 在 Ubuntu 环境下的终端环境里输入代码 1.3-13 的命令,并回车,就实现了软连接,以后直接输入 python 就行了。
# 代码 1.3-13
root@你的阿里云实例名:~# ln -s /usr/bin/python3 /usr/bin/python
1.3.6 安装 pip3
- 在 Ubuntu 环境下的终端环境里输入 代码 1.3-14 的命令,并回车, 等待 pip3 安装完成。
# 代码 1.3-14
root@你的阿里云实例名:~# apt install python3-pip
1.3.7 安装开发环境所需要的库
- 在 Ubuntu 环境下的终端环境里输入 代码 1.3-15 的命令,并回车, 完成对 Ubuntu 当前环境中所需要的库的更新或安装。
# 代码 1.3-15
root@你的阿里云实例名:~# sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev
:::color4
【提醒】:
- 出现 The following packages have unmet dependencies 依赖包冲突的警告时,请将 gcc-multilib、g+±multilib、gcc-arm-linux-gnueabi、libc6-dev-i386、libc6-dev-amd64、lib32ncurses5-dev 等库单独安装
- 若您使用的是 Ubuntu20 及以上版本,由于 gcc-multilib 和 gcc-arm-linux-gnueabi 互斥,请勿安装 gcc-arm-linux-gnueabi。
:::
1.3.8 安装编译工具
- 在源码根目录内下载 pre 软件,以源码目录为 /home/oh_ws63_sdk 为例,在 Ubuntu 环境下的终端环境里输入 代码 1.3-16 的命令,并回车执行:
# 代码 1.3-16
root@你的阿里云ECS实例名:/home/near_link_sdk# ./build/prebuilts_download.sh
- 在源码根目录下执行 代码 1.3-17 的命令,完成安装 hb。
# 代码 1.3-17
root@你的阿里云ECS实例名:/home/near_link_sdk# python -m pip install --user build/hb
如果之前安装过别的版本的 hb,或者安装不成功,需要先运行代码 1.3-18 的卸载命令,然后再重新运行 代码 1.3-17 的命令,方可实现安装成功。
# 代码 1.3-18
root@你的阿里云ECS实例名:/home/near_link_sdk# python -m pip uninstall ohos-build
- 运行 代码 1.3-19 的命令,完成 Ubuntu 的环境变量设置。
# 代码 1.3-19
root@你的阿里云ECS实例名:~# vim ~/.bashrc
- 在打开的 .bashrc 文件中键入 i 进入编辑模式,并在文件的最后一行添加代码 1.3-20 中的内容:
# 代码 1.3-20
export PATH=/home/near_link_sdk/device/soc/hisilicon/ws63v100/sdk/tools/bin/compiler/riscv/cc_riscv32_musl_b090/cc_riscv32_musl/bin:$PATH
export PATH=~/.local/bin:$PATH
:::color4
【说明】上面第一个 export 中 PATH= 后面的 “/home/near_link_sdk” 是当前案例中 SDK 的存放目录,请将其替换为你的实际路径。
:::
- 编写完毕后,按下键盘的 ESC,退出编辑模式,并输入 :wq 保存并退出。
- 执行 代码 1.3-21 的命令更新环境变量:
# 代码 1.3-21
root@你的阿里云ECS实例名:~# source ~/.bashrc
- 执行 代码 1.3-22 的命令,安装 Python 依赖。
# 代码 1.3-22
root@你的阿里云ECS实例名:~# python -m pip install pycparser
1.3.9 配置 hb
在 SDK 根目录下运行 代码 1.3-23 的命令,设置编译产品。
# 代码 1.3-23
root@你的阿里云ECS实例名:/home/near_link_sdk# hb set -p nearlink_dk_3863
1.3.10 工程的编译
工程源码编写完毕,并对相关 BUILD.gn 以及其他需要配置的文件进行修改后,在 SDK 根目录下运行 代码 1.3-24 中的命令进行工程的编译:
# 代码 1.3-24
root@你的阿里云ECS实例名:/home/near_link_sdk# hb build -f
【提醒】:
首次编译时时长会比较长,之后编译速度会有明显提升。
编译完成后生成的镜像文件 ws63-liteos-app_all.fwpkg 存放路径为:
SDK根目录/out/nearlink_dk_3863/nearlink_dk_3863/ws63-liteos-app/
1.3.11 Windows 端 VS Code 远程连接 Ubuntu
(1)安装 VS Code
VS Code 即 Visual Studio Code,是微软提供的一款免费开源的轻量级代码编辑器。官方下载地址是:[https://code.visualstudio.com/](https://code.visualstudio.com/" \t "_blank)。
请根据所用电脑的硬件参数选择相应的版本下载即可。
安装包下载后,双击直接按照安装向导的指引,一直“下一步”,最后到“安装”即可。
(2)为 VS Code 安装必要的插件
VS Code 安装完成后,为了实现 OpenHarmony 的项目开发,需要安装必需的插件。
- 点击图 1.3-5 中箭头做指向的“插件”按钮。
图 1.3-5 VS Code 中的插件按钮位置示意图
- 在图 1.3-6 所示的输入框中输入需要安装的插件的名称,则在输入框下面的列表中即可看到与之匹配的结果,其中矩形框中就是需要安装的插件。当前显示的结果为 Chinese(Simplified)已经安装好了,如果没有安装,则在列表上会显示“安装”字样的按钮,点击按钮就可以将需要的插件安装到 VS Code 中。
图 1.3-6 插件搜索及列表展示
按照上述的操作方法,一个一个的安装以下插件即可:
- C/C++
- Bracket Pair Collorizer
- Chinese(Simplified)
- Include Autocomplete
- GN
- Remote - SSH
(3)连接远程 Ubuntu
- 参考图 1.3-7 所示的步骤,按照序号依次点击①远程主机按钮,②增加ssh连接,③输入连接远程主机的命令后回车。假如 Ubuntu 所在机器的 IP 地址为 192.168.3.33,则连接命令如下:
ssh root@192.168.3.33 -A
图 1.3-7 在 VS Code 中通过 ssh 连接远程 Ubuntu
- 命令输入完毕后,会出现如图 1.3-8 所示的要求选择 ssh 配置文件的列表。ssh 的配置文件都会存放在 C:\Users\你的用户名.ssh\config 中。选择该文件后,回车。
图 1.3-8 选择 ssh 配置文件
- 当主机添加成功后,会出现图 1.3-9 所示的提示框,点击“连接”按钮进行连接操作。
图 1.3-9 主机添加完毕提示连接
- 选择远程主机的系统,如图 1.3-10 所示,这里要选择 Linux。
图 1.3-10 远程主机选择
- 如果在 VS Code 的终端出现如图 1.3-11 所示的内容,输入“yes”回车即可。因为之前已经通过公钥建立了免密登录,因此回车后即可完成连接。
图 1.3-11 建立连接提示
- 连接成功后,在 VS Code 的远程主机列表中,可以看到已连接的主机,并且显示状态为“已连接”
图 1.3-12 VS Code 中的远程主机列表
- 连接成功后,在 VS Code 界面正上方的搜索中输入 OpenHarmony 所在路径,回车,即可打开该目录。通过 VS Code 的资源管理器,可以看到整个源码目录。如图 1.3-13 所示。
图 1.3-13 在 VS Code 中打开远程 OpenHarmony 源码目录
(4)工程的编译
工程代码的编写在 VS Code 中完成后(第 2 章开始介绍如何创建工程),可以点击 VS Code 界面上方的切换面板按钮,如图 1.3-14 所示,在 VS Code 界面下方会自动启动终端命令工具。
图 1.3-14 在 VS Code 中打开终端命令工具
输入代码 1.3-24 中的命令进行工程的编译:
# 代码 1.3-24
hb build -f
:::danger
【说明】:首次编译时时长会比较长,之后编译速度会有明显提升。
:::
编译完成后生成的镜像文件 ws63-liteos-app_all.fwpkg 存放路径为:
SDK根目录/out/nearlink_dk_3863/nearlink_dk_3863/ws63-liteos-app
1.4 镜像文件的烧写
1.4.1 安装串口驱动(CH340G)
- 开发板上的 USB 转 UART 芯片是 CH340G,如果 PC 机上没有安装过该软件的话,将无法识别开发板上的 USB 接口。
- CH340G 的驱动包可以通过 https://www.wch.cn/downloads/CH341SER_EXE.html 进行下载,也可以选择压缩包中提供的安装文件“CH341SER.EXE”,双击该文件后,直接默认方式一直按照向导安装完成即可。
1.4.2 连接开发板并确定串口号
- 将 Type-C 线一端连接开发板的 USB 接口,一端连接 PC 的 USB 口,如下图:
图 1.4-1 开发板连接 Type-C 线指引
- 打开 Windows 的设备管理器,按照下图中红色矩形框的指引,查看此时开发板被 Windows 识别的串口号,图中是“COM17”。
图 1.4-2 Windows 的设备管理器界面中查看开发板的 COM 编号示意图
1.4.3 使用 BurnTool 工具进行烧写
- BurnTool 工具的下载地址为:https://gitee.com/hihopeorg_group/near-link/tree/master/tools。压缩包中提供的 BurnTool 文件夹是已经解压缩后的工具,可以直接进入该文件夹,双击 BurnTool.exe 文件后直接使用。
- 双击 BurnTool.exe 文件打开烧写工具, 参考图 1.4-3,点击 Option 菜单,点击 Change chip ,在芯片列表中选择 WS63 ,点击 OK,然后点击右上角的 × 关闭该弹窗。
图 1.4-3 BurnTool 工具中选择芯片的操作指引图
- 如下图所示,先选择正确的串口号,然后点击“Select file” 选择镜像文件(压缩包里的“board_all主控.fwpkg”),勾选图中所示的“Auto burn”和“Auto disconnect” 两项后,点击“Connect”按钮。
图 1.4-4 使用 BurnTool 工具烧写镜像文件到开发版的操作指引示意图
- 当烧写界面出现 Connect… 提示后(如图 1.4-5 所示),需要按一下开发板的 RST 按钮重启一下设备才能执行烧写。
图 1.4-5 点击 Connect 按钮后的界面提示
- 按下开发板上的 REST 按键,如果出现图 1.4-6 所示的进度条以及提示信息,表示开始进入到烧写环节中。
图 1.4-6 正在烧录镜像
- 镜像烧录成功后,会出现下图的提示内容,如果能看到矩形框中标识的“All images burn successfuly”字样,表明烧录成功。
图 1.4-7 烧录成功指引
- 烧录成功后,开发板会出现如下的现象:
- ① 蜂鸣器鸣叫两下
- ② RGB 三色灯依次出现绿、蓝、红、白,然后熄灭。
- ③ OLED 上显示如下图所示内容,并且第二行开始的温湿度数据和第三行开始的三位一体数据会每秒更新一次。
图 1.4-8 测试镜像中 OLED 的显示内容及效果
:::color4
【说明】如果感觉烧写速度有点慢的话,可以点击 Setting 菜单,如图 1.4-9 所示,点击 Baud 处的下拉列表,选择 921600 即可。
:::
图 1.4-9 修改 BurnTool 的烧写速率指引
1.5 通过串口助手查看开发板运行的信息
1.5.1 串口工具 UartAssist.exe
压缩包中提供了一个串口调试助手工具软件 UartAssist.exe 文件。该文件无需安装,双击即可使用。
1.5.2 运行串口调试助手
图 1.5-1 为连接开发板后,打开串口调试助手看到开发板的调试信息。
设置正确的端口号,设置波特率为 115200,无校验位,8 位数据位,1 位停止位,无控制流,点击打开串口即可。
:::danger
如果烧写工具占用了该端口,那么串口工具将无法开发此端口。反之亦然,即串口工具占用了该端口并处于打开状态下,则无法进行镜像的烧写。
:::
图 1.5-1 串口调试助手的界面及开发板调试输出内容
附1 Windows 上配置 Ubuntu20.04 虚拟机
附1.1 安装虚拟机环境
首先我们需要到 VMware 官网下载虚拟机,链接:官网下载地址
图 附1-1 在 VMware 官网下载虚拟机
之后选择 Windows 版本,也就是左边的 Try Workstation 16.0 Player for Windows,右边的是 Linux 版本。
之后下载安装,安装完成后,点击 “license”,选择跳过输入密钥即可。
附1.2 准备系统镜像
(1) 安装 iso 文件
这里我们需要从国内镜像站来下载安装所需的 iso 文件,如 清华大学开源软件镜像站
也可以选择别的站点如:
中国科学技术大学开源软件镜像站
阿里巴巴开源镜像站
图 附1-2 清华大学开源镜像站选择 iso 文件
(2)选择 Linux 系统镜像
- 点击右边蓝色按钮获取下载链接,这里提供了各种不同系的Linux系统镜像,选择的是Ubuntu20.04.6(arm64,Desktop LiveDVD)。
图 附1-3 清华大学开源镜像站选择 Linux 系统镜像
:::danger
【说明】server版本为服务器版
Desktop版本为个人桌面系统
arm64是适配系统,一般个人电脑都为64位
LiveDVD是指光盘镜像,也就是说可以直直制作为系统盘将系统安装在个人端或虚拟机
:::
- 然后单击选择好下载位置,直接保存就可以。
图 附1-4 下载位置
附1.3 新建虚拟机
- 打开我们安装好的虚拟机软件,单击创建新的虚拟机按钮。
图 附1-5 创建新的虚拟机
- 会弹出一个新的窗口,我们选择较为简单的典型,确认没问题就单击下一步。
- 这里我们需要选择稍后安装操作系统,等待完成后单击下一步。
图 附1-6 选择稍后安装操作系统
- 客户机操作系统选择Linux,版本选择 Ubuntu 64位,然后单击下一步。
图 附1-7 选择操作系统及版本
- 也可以不做修改,默认为对应系统名。
虚拟机位置也可以自定义,建议不要修改,便于系统管理。
图 附1-8 选择系统名及虚拟机位置
- 这一步是为虚拟机选择磁盘的大小,由于我们要安装SDK,这里推荐80G。
下面一个选项默认是将虚拟磁盘拆分为多个文件,不用修改,确认没问题然后单击下一步。
图 附1-9 选择磁盘的大小及拆分为多个文件
- 然后这里我们需要自定义硬件,单击选项卡。
图 附1-10 选择自定义硬件
- 来到硬件设置,选择第三个,新 CD/DVD。
图 附1-11 选择 CD/DVD
- 选择使用 ISO 镜像文件,在后面选择下载好的 Ubuntu 镜像,确认没问题之后点击关闭。
图 附1-12 ISO 镜像文件选择下载好的 Ubuntu 镜像
- 回到上一步之后点击完成。
图 附1-13 新建虚拟机完成
- 到这里所有的准备工作就都完成了。
图 附1-14 新建虚拟机完成图示
附1.4 安装系统
- 双击开启此虚拟机,默认选择第一个,回车一下进入或者等待系统自动进入
图 附1-15 开启虚拟机
- 等待系统加载安装界面,大约需要2分钟左右,根据电脑性能不同可能时间略有差异,之后选择中文(简体),点击安装 Ubuntu。
:::danger
【说明】这里可以是中文简体,对于大部分新手来说到系统内部修改语言有一定难度,所以提前修改好更有助于适应系统
:::
图 附1-16 等待系统加载安装界面
- 接下来键盘布局选择两个中文(Chinese),完成后点继续
图 附1-17 键盘布局选择
- 选择正常安装,将其他选项里面的更新去掉,这里我们不选择更新,更新会拖慢安装速度,我们等系统安装完成之后使用命令行更新,然后点击继续
图 附1-18 不选择更新
- 点击继续
图 附1-19 选择继续
- 选择清除整个磁盘并安装
图 附1-20 清除整个磁盘并安装
- 选择时区,Shanghai
图 附1-21 选择时区
- 设置用户名,机器名,还有登录密码
图 附1-22 设置信息
- 需要跳过文件下载这一步,具体操作就是点击小三角,显示详情,然后当skip按钮是黑色时,单击skip,可以加快安装速度
图 附1-23 加快安装速度
- 等待之后会显示安装完成,然后重启虚拟机
图 附1-24 重启虚拟机
- 看到用户名界面的时候就说明已经准确地安装好了整个系统,单击输入密码然后登陆
- 在线账号可以不选,如果不想登录,可以跳过
图 附1-25 用户名界面
- 接着是报告反馈,根据自己的习惯来选择是否发送报告
图 附1-26 报告反馈界面
- 点击完成整个安装过程就结束了
图 附1-27 完成界面
附1.5 更新系统软件源
这里需要从 清华大学开源软件镜像站.查找 Ubnuntu ,选择强制安全更新镜像后,根据提示更新系统源
图 附1-28 清华大学开源镜像源1更新系统源
下面是图中代码:
传统格式(/etc/apt/sources.list
)
# 代码 附1-1
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse