SDK 编译环境配置
嵌入式产品开发流程中,通常有两个关键的步骤,编译源码与烧写固件。源码编译需要先准备 好编译环境,而固件烧写则需要厂家提供专用烧写工具。本文主要介绍如何搭建环境来实现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

- 安装相关工具
sudo apt-get install kconfig-frontends android-tools-mkbootimg python2 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

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% 目录。
新增文件 .wslconfig
打开 .wslconfig 并添加以下內容
[wsl2]
kernelCommandLine = vsyscall=emulate # Additional kernel command line arguments
.wslconfig相关参考:https://docs.microsoft.com/en-us/windows/wsl/wsl-config#wslconfig
vsyscall=emulate 问题WSL2 6.6.87.1 内核无法启用 vsyscall=emulate,这是由于 WSL2 的一个 BUG 提交,错误关闭了内核的 CONFIG_X86_VSYSCALL_EMULATION 配置,目前微软已计划修复该问题。

WSL2 在使用该内核时,可以尝试更新 WSL2 内核,也可以自行编译 WSL2 内核替换使用,请参考 WSL2 官方文档:https://github.com/microsoft/WSL2-Linux-Kernel?tab=readme-ov-file#build-instructions
- 配置环境变量
由于 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导入虚拟机后,您还需要配置您自己的.ssh、git等信息。
虚拟机下载地址(大小: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 作为示例。

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

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

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

导入后启动即可

虚拟机使用说明
虚拟机安装好了,不过还需要配置下增强功能,例如主机与虚拟机文件的复制、共享文件夹、共享粘贴板等等。
我们先启动虚拟机,输入密码 Pass123456 进入系统。
密码是 Pass123456 不是 123456,前面的 Pass 也是密码的一部分

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

点击 Run

输入密码 Pass123456

安装完成了,按回车

重启下虚拟机

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

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

驱动安装
Windows 驱动安装
Windows 驱动下载地址:https://www.aw-ol.com/downloads/resources/15
- 下载后解压
UsbDriver到任意文件夹

- 右键此电脑,管理

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

- 右键,更新驱动程序

- 浏览我的电脑查找

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

- 从磁盘安装

- 浏览

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

- 确定

- 下一页

- 安装完成,关闭窗口

Windows 驱动常见问题
- 问题:
出现两个 USB Devices

解决方法:
- 右键卸载设备
- 勾选卸载驱动程序
- 重新安装一遍驱动