编译环境配置
嵌入式产品开发流程中,通常有两个关键的步骤,编译源码与烧写固件。源码编译需要先准备 好编译环境,而固件烧写则需要厂家提供专用烧写工具。本文主要介绍如何搭建环境来实现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 虚拟机的场景撰写。
这里说明下:并不强求必须在虚拟机中编译,也可以本机实体机安装 Ubuntu 系统进行编译、编译服务器编译、docker环境编译或者使用 WSL2 编译(WSL1不支持)。 同时也可以在其他 Linux 发行版、macOS、BSD系统内编译,例如 Debian、Manjaro等,但是这些平台并没有经过测试,编译时可能会出现各式各样的错误。
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环境配置
编译Tina Linux SDK需要的Ubuntu包有:
gcc,binutils,bzip2,flex, python,perl,make,ia32-libs,find,grep,diff,unzip,gawk,getopt,subversion,libz-dev,libc headers
因为Ubuntu包的下载服务器在非中国大量地区,所有下载速度会很慢,甚至可能下载不了,所以建议下载前先将apt的下载源改为国内的地址,国内有多家组织提供开源镜像站,如清华、阿里等。
*由衷感谢这些组织为我们提供的便利!Respect!
修改方式:
将 Ubuntu下/etc/apt/sources.list 的内容全部替换成如下内容:(修改需sudo)
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse
Ubuntu可直接执行以下两个命令安装:
命令一:
sudo apt-get update
命令二:
sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 -y
对于Ubuntu 16.04以上版本,部分软件包已不再提供或者采用了其他的包,执行上述命令时, 安装失败的包可先忽略,进一步执行以下命令:
sudo apt-get install libc6:i386 libstdc++6:i386 lib32ncurses5 lib32z1
使用配置好的虚拟机
如果您无法独立配置好编译环境,我们为您准备了一个配置好的可以编译 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

安装完成了,按回车

重启下虚拟机

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

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