跳到主要内容

安装并配置开发环境

嵌入式产品开发流程中,通常有两个关键的步骤,编译源码与烧写固件。源码编译需要先准备 好编译环境,而固件烧写则需要厂家提供专用烧写工具。本文主要介绍如何搭建环境来实现Tina sdk的编译和打包。

一个典型的嵌入式开发环境包括本地开发主机和目标硬件板:

  • 本地开发主机作为编译服务器,需要提供linux操作环境,建立交叉编译环境,为软件开发提供 代码更新下载,代码交叉编译服务。
  • 本地开发主机通过串口或USB与目标硬件板连接,可将编译后的镜像文件烧写到目标硬件板, 并调试系统或应用程序。

编译环境要求

Tina Linux SDK是在 Ubuntu 开发测试的,因此我们推荐使用 Ubuntu 主机环境进行源码编译,非 Ubuntu 主机环境的用户,可以使用跨平台开源的虚拟机软件 Oracle VM VirtualBox 安装 Linux 虚拟机,搭建 Ubuntu 环境。

Ubuntu 14、16、18、20 等版本也可以支持,部分可能需要开发者另外配置一些包,也可以用真机实装的方法搭建编译环境。为帮助新手更快地搭建起开发环境,以下内容主要根据使用 Oracle VM VirtualBox 跑 Ubuntu 20.04 虚拟机的场景撰写。

Oracle VM VirtualBox

Oracle VM VirtualBox 是一款功能强大的跨平台开源的虚拟机软件。网上有很多关于使用该软件来安装 Ubuntu20.04 虚拟机的教程和资料,这里就不一一赘述了,但会着重提及一些需要注意的事项。

下载安装

官网下载地址:https://www.virtualbox.org/

Oracle VM VirtualBox官网下载安装教程:https://blog.csdn.net/kaixuansui/article/details/89334859/

VirtualBox安装Ubuntu

注意: (1)内存大小设置:建议大于2GB (2)虚拟硬盘大小设置:建议至少设置50GB(SDK所需较大空间) (3)安装好 Ubuntu 虚拟机环境后,建议不要在线升级Ubuntu版本

参考链接: Oracle VM VirtualBox 安装 Ubuntu 环境的教程:https://blog.csdn.net/weixin_42135087/article/details/108193641

增强功能

安装增强功能可以实现共享剪切板功能共享文件夹功能。共享粘贴板可在PC和虚拟机之间互相粘贴复制内容。文件夹共享可以在本地主机下创建一个文件夹,然后VirtualBOX将该文件夹映射到虚拟机下指定的文件夹中,这样我们就可以访问该文件夹下的子文件夹以及文件了。这两个功能都能极大地提高我们的开发效率

注意: 在共享文件夹的路径中如果是挂在的 Windows 系统的文件夹,可能无法成功地下载Tina的SDK代码,注意SDK的下载目录不要设置在共享文件夹中。

安装增强功能的方法

方法一: 点击虚拟机界面上面菜单栏的【设备】--【安装增强功能】。然后可以看到在虚拟机的光驱中自动加载了增强iso的文件(VBoxGuestAdditions.iso),点击【Run】运行按钮。接着按虚拟机所指引步骤进行即可。

方法二: 在linux中挂载光驱。参考链接如下:https://jingyan.baidu.com/article/fdbd42779d9530b89e3f489c.html

实现共享文件夹的方法:

在VirtualBox中创建共享文件夹的参考链接如下:http://www.koudaipe.com/funny/1002.html

共享文件夹 共享文件夹后可能由于权限问题无法操作,需要做如下操作:

sudo usermod -aG vboxsf $(whoami)

*注:$(whoami) 替换成您Ubuntu的用户名

Ubuntu环境配置

这里以常用的几款 Linux 发行版作为示例,搭建开发环境:

Ubuntu 22.04 / 20.04

  • 更新软件源,更新系统软件包
sudo apt-get update
sudo apt-get upgrade -y
  • 安装开发依赖
sudo apt-get install build-essential python3 python3-dev subversion git libncurses5-dev zlib1g-dev gawk flex bison quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lsof tree python-is-python3

image-20241121092718439

  • 安装相关工具
sudo apt-get install kconfig-frontends android-tools-mkbootimg python2 libpython3-dev 
  • 增加架构支持
sudo dpkg --add-architecture i386
sudo apt-get update

image-20241121092739398

  • 安装架构支持包
sudo apt install gcc-multilib 
sudo apt install libc6:i386 libstdc++6:i386 lib32z1

image-20241121092825762

Ubuntu 18.04

  • 更新软件源,更新系统软件包
sudo apt-get update
sudo apt-get upgrade -y
  • 安装开发依赖
sudo apt-get install build-essential subversion git libncurses5-dev zlib1g-dev gawk flex bison quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lsof 
  • 安装相关工具
sudo apt-get install android-tools-mkbootimg libpython3-dev 
  • 增加架构支持
sudo dpkg --add-architecture i386
sudo apt-get update
  • 安装支持包
sudo apt install gcc-multilib 
sudo apt install libc6:i386 libstdc++6:i386 lib32z1

WSL2

按照上面对应的系统配置软件包后,WSL2 还需要进一步配置:

  • 打开 vsyscall 支持

打开 %userprofile% 目录。

image-20250113143954401

新增文件 .wslconfig

image-20250113144034272

打开 .wslconfig 并添加以下內容

[wsl2]
kernelCommandLine = vsyscall=emulate # Additional kernel command line arguments

.wslconfig 相关参考:https://docs.microsoft.com/en-us/windows/wsl/wsl-config#wslconfig

  • 配置环境变量

由于 WSL2 会默认继承 Windows 的环境变量,而 Windows 的环境变量是包含空格的,这会引起编译失败,需要在使用前清除空格。

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib

使用配置好的虚拟机

如果您无法独立配置好编译环境,我们为您准备了一个配置好的可以编译 Tina 的 Ubuntu 20.04 虚拟机,该虚拟机基于 Oracle VM VirtualBox 6.1.16 版本,配置单核4G内存,您可以根据您开发PC的性能修改虚拟机配置,建议您增大核心数以提到编译速度。

这个虚拟机是 开放虚拟机平台的OVA格式,支持导入 VirtualBox、VMWare 等虚拟机软件

在VirtualBox导入虚拟机后,您还需要配置您自己的.sshgit等信息。

虚拟机下载地址(大小:6GB):https://netstorage.allwinnertech.com:5001/sharing/Wm9YiHMvf

系统:Ubuntu 20.04,用户名:allwinner,密码:Pass123456

虚拟机包括了:

  • 编译 Tina Linux 所需的依赖
  • 交叉编译工具链
  • apt配置了清华源

虚拟机没有安装的内容,需要自行配置:

  • Tina Linux SDK
  • repo 脚本
  • NPU 工具链

您可以继续阅读之后的文档来配置相关 SDK

虚拟机安装说明

首先安装一个虚拟机软件,推荐 免费开源的 VirtualBox 虚拟机。当然也支持 VMWare WorkStation,ESXi 等虚拟机软件。这里以 VirtualBox 作为示例。

image-20220713153358551

下载虚拟机文件,一个 Ubuntu20.04.ova 文件,双击打开它。

image-20220713153229932

进入这个配置页面中,按图中所示配置虚拟机参数。

image-20220713153803299

点击导入,开始导入(虚拟机较大,可能比较慢)

image-20220713153859110

导入后启动即可

image-20220713172228755

虚拟机使用说明

虚拟机安装好了,不过还需要配置下增强功能,例如主机与虚拟机文件的复制、共享文件夹、共享粘贴板等等。

我们先启动虚拟机,输入密码 Pass123456 进入系统。

image-20220714152336448

设备 -> 安装增强功能 点击并安装增强功能。

image-20220714152622549

点击 Run

image-20220714152722117

输入密码 Pass123456

image-20220714152750883

安装完成了,按回车

image-20220714153054008

重启下虚拟机

image-20220714153151076

设置共享粘贴板为双向、拖放双向

image-20220714153833260

同时也可以设置一下共享文件夹

image-20220714154002672

驱动安装

Windows 驱动安装

Windows 驱动下载地址:https://www.aw-ol.com/downloads/resources/15

  • 下载后解压 UsbDriver 到任意文件夹

image-20230329174037857

  • 右键此电脑,管理

image-20230329174138747

  • 链接待烧录的设备,并使设备进入下载模式,找到资源管理器里的USB Device(VID_1f3a_PID_efe8)

6fa8089e-5d2b-47f1-965f-9dcdf0c984da-image.png

  • 右键,更新驱动程序

f07e3def-dade-4069-8f1b-c4bbe2dc8078-image.png

  • 浏览我的电脑查找

f38b617c-b68d-4aea-abba-2cbdf5e9ae29-image.png

  • 让我从计算机上的可用驱动列表中选取

f02c8901-55d1-47d2-ac13-fa3baf838fa8-image.png

  • 从磁盘安装

43440003-9bbc-45d8-a4cd-36260a80bb0e-image.png

  • 浏览

2f99300d-cfd7-4aa4-b3aa-af1f893d3dae-image.png

  • 选择刚才解压出来的文件夹中的usbdrv.inf 文件

8011100e-3e20-46a0-a4eb-c2bb372d6e6f-image.png

  • 确定

8b082aaf-20b3-4b7e-9a15-046a5db84e6a-image.png

  • 下一页

d0928686-ccbc-4ca4-b5f1-54ffc1edde5c-image.png

  • 安装完成,关闭窗口

c58ccd65-afd3-4bc9-b5f9-fd89f6b3ed66-image.png

Windows 驱动常见问题

  • 问题:

出现两个 USB Devices

6c485bb7-a1a2-4f6c-b275-3771fbb0f1ad-image.png

解决方法:

  • 右键卸载设备
  • 勾选卸载驱动程序

image-20230329174851812

  • 重新安装一遍驱动