编译环境及流程
Ubuntu环境准备
首先我们需要准备Ubuntu20.04 桌面版。然后安装编译sdk的依赖库
# 更新源
$ sudo apt-get update
$ sudo apt-get upgrade
# 安装编译依赖库
$ sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk -y
$ sudo apt-get install flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr -y
$ sudo apt-get install ecj cvs unzip lib32z1 lib32z1-dev -y
$ sudo apt-get install lib32stdc++6 libstdc++6 libmpc-dev libgmp-dev texinfo -y
$ sudo apt-get install autogen automake autoconf libsocketcan-dev -y
Tina Linux介绍
Tina Linux是全志科技基于Linux内核开发的针对智能硬件类产品的嵌入式软件系统。
Tina Linux中包含Linux系统开发用到的boot 源码、内核源码、驱动、工具、系统中间件与应用程序包。可以方便的定制、编译、打包生成Linux固件镜像。
Tina Linux可以支持构建openWrt和buildroot不同构建系统;也支持单独编译BSP(Board Support Package,板级支持包);能够打包生成固件包,烧录到相应设备中并运行。
SDK软件包的准备
从百度网盘下载源码压缩包,并解压
# 解压Tina SDK,xxx为版本号
$ tar -xzvf zqboard-t113-tinaxxxxxxxxxx.tar.gz
解压后,会在当前目录下多出来一个Tina_Linux目录,这个就是源码目录了。
解压完成后的完整目录如下:
编译
首先cd到源码根目录
# 如果是在用户根目录下,则执行
cd ~/Tina_linux
source 一下环境变量
# source 环境变量
source build/envsetup.sh
然后载入板子的配置,有两种方法
第一种,直接载入配置
lunch 8
第二种,运行lunch后,会列出来当前所有配置,然后选择第八个"zqboard"配置即可。
lunch
#然后选择第八个,zqboard
环境准备好后,直接执行编译
make
然后编译uboot
mboot
最后,执行打包命令,将生成img文件
pack
打包命令结束后,会以红字提示生成的img文件的路径
然后copy这个img到windows下,用windows工具烧录即可。
编译报错解决
常用命令
make 编译kernel和文件系统 mboot 编译uboot pack 打包
SDK目录介绍
build/ # 编译相关脚本和配置,通常用于构建过程中生成或管理依赖 config/ # 系统整体配置文件,如不同平台的适配、编译参数 Config.in # Kconfig 格式的主配置入口文件,定义整个系统可选项 dl/ # 下载目录,存放源码包、工具包等下载文件 device/ # 板级设备信息目录,包含设备相关配置和适配 lichee/ # 典型 Lichee 平台开发包,通常为底层 ARM/Linux BSP 源码(如 boot、kernel) LICENSE # 项目许可证说明文件 logs/ # 编译或系统运行时产生的日志文件目录 Makefile # 主 make 构建脚本,定义编译规则与过程 out/ # 编译生成的输出目录,存放固件、镜像等结果文件 package/ # 应用包和组件目录,管理所有可选功能包、工具包的源码和配置 prebuilt/ # 预编译的二进制文件及库,便于加速编译和适配 resource/ # 资源目录,一般存放图片、配置、文档等静态资源 rules.mk # make 构建相关的附加规则文件 scripts/ # 实用脚本目录,用于编译、构建、部署自动化等 target/ # 目标配置目录,针对开发板/平台定制的配置(设备树、引脚等) toolchain/ # 编译工具链文件夹,提供交叉编译工具和相关配置 tools/ # 辅助工具包,含编译调试等各类工具脚本