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
- 配置环境变量
由于 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
进入系统。
到 设备
-> 安装增强功能
点击并安装增强功能。
点击 Run
输入密码 Pass123456
安装完成了,按回车
重启下虚拟机
设置共享粘贴板为双向、拖放双向
同时也可以设置一下共享文件夹
驱动安装
Windows 驱动安装
Windows 驱动下载地址:https://www.aw-ol.com/downloads/resources/15
- 下载后解压
UsbDriver
到任意文件夹
- 右键此电脑,管理
- 链接待烧录的设备,并使设备进入下载模式,找到资源管理器里的
USB Device(VID_1f3a_PID_efe8)
- 右键,更新驱动程序
- 浏览我的电脑查找
- 让我从计算机上的可用驱动列表中选取
- 从磁盘安装
- 浏览
- 选择刚才解压出来的文件夹中的
usbdrv.inf
文件
- 确定
- 下一页
- 安装完成,关闭窗口
Windows 驱动常见问题
- 问题:
出现两个 USB Devices
解决方法:
- 右键卸载设备
- 勾选卸载驱动程序
- 重新安装一遍驱动