编译环境配置
嵌入式产品开发流程中,通常有两个关键的步骤,编译源码与烧写固件。源码编译需要先准备 好编译环境,而固件烧写则需要厂家提供专用烧写工具。本文主要介绍如何搭建环境来实现Tina sdk的编译和打包。
一个典型的嵌入式开发环境包括本地开发主机和目标硬件板:
-
本地开发主机作为编译服务器,需要提供linux操作环境,建立交叉编译环境,为软件开发提供 代码更新下载,代码交叉编译服务。
-
本地开发主机通过串口或USB与目标硬件板连接,可将编译后的镜像文件烧写到目标硬件板, 并调试系统或应用程序。
编译环境要求
Tina Linux SDK是在Ubuntu14.04开发测试的,因此我们推荐使用Ubuntu 14.04主机环境进行源码编译,非Ubuntu 14.04主机环境的用户,可以使用跨平台开源的虚拟机软件Oracle VM VirtualBox安装Linux虚拟机,搭建Ubuntu 14.04环境。
Ubuntu 16、18、20等版本也可以支持,但是可能需要开发者另外配置一些包,也可以用真机实装的方法搭建编译环境。为帮助新手更快地搭建起开发环境,以下内容主要根据使用Oracle VM VirtualBox跑Ubuntu 14.04虚拟机的场景撰写。
Oracle VM VirtualBox
Oracle VM VirtualBox是一款功能强大的跨平台开源的虚拟机软件。网上有很多关于使用该软件来安装ubuntu14.04虚拟机的教程和资料,这里就不一一赘述了,但会着重提及一些需要注意的事项。
下载安装
官网下载地址:https://www.virtualbox.org/
参考链接: Oracle VM VirtualBox官网下载安装教程: https://blog.csdn.net/kaixuansui/article/details/89334859/
VirtualBox安装Ubuntu
注意:
(1)内存大小设置:建议大于2GB
(2) 虚拟硬盘大小设置:建议至少设置50GB(SDK所需较大空间)
(3) 安装好Ubuntu14.04虚拟机环境后,建议不要在线升级Ubuntu版本
参考链接: Oracle VM VirtualBox安装Ubuntu14.04环境的教程: 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的下载源改为国内的地址,国内有多家组织提供开源镜像站,如清华、阿里等。
*由衷感谢这些组织为我们提供的便利!
修改方式:
将 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 的 Ubuntu14.04 虚拟机,该虚拟机基于 Oraclr VM VirtualBox 6.1.16 版本,配置单核4G内存,您可以根据您开发PC的性能修改虚拟机配置,建议您增大核心数以提到编译速度。
在VirtualBox导入虚拟机后,您还需要配置您自己的.ssh、git等信息。
虚拟机下载地址如下(较大,有1.6G):
可编译Tina的Oraclr VM VirtualBox Ubuntu14.04虚拟机
*虚拟机管理员密码:123456