请先按照Linux开发环境搭建文档进行开发环境搭建,由于系统编译过程需下载相关工具软件包,请确保Ubuntu可正常访问互联网。本说明文档适用开发环境如下:
Windows开发环境:Windows 7 64bit、Windows 10 64bit
虚拟机:VMware15.5.5
Linux开发环境:Ubuntu18.04.4 64bit
U-Boot:U-Boot-2018.07
Kernel:Linux-5.4.61、Linux-RT-5.4.61
LinuxSDK:T113_Tina5.0-V1.0(Linux)
交叉编译工具链:
Linux系统相关软件包位于产品资料“4-软件资料\Linux\”目录下,具体如下表所示。其中,我司已提供SPL、U-Boot、普通Linux内核、Filesystem源码位于LinuxSDK开发包内。若对系统实时性要求较高,请参考本文档进行内核选项配置,再进行LinuxSDK编译即可替换为Linux-RT内核。
本文档默认基于NAND FLASH配置评估板进行演示。若使用eMMC配置评估板,请参考eMMC配置核心板使用说明。
打开Ubuntu,执行如下命令,新建T113工作目录。
Host# mkdir -p /home/tronlong/T113
将产品资料“4-软件资料\Linux\Tools\”目录下的工具包脚本文件install_tools.sh拷贝至T113工作目录下,执行脚本文件安装LinuxSDK开发包依赖软件。
备注:安装过程中,请保证Ubuntu可正常上网,若提示"*** is already the newest version ***"表示该软件已安装,请忽略。
Host# ./install_tools.sh
安装过程中会弹出如下界面,请选择"No"。
由我司提供的LinuxSDK-[版本号].tar.gz开发包基于全志科技的T113_Tina5.0-V1.0,其位于产品资料“4-软件资料\Linux\LinuxSDK\”目录下,LinuxSDK版本号以实际情况为准。
将LinuxSDK开发包拷贝至Windows下的SharedFolders共享目录。
此时可在Ubuntu的共享目录"/mnt/hgfs/SharedFolders/"下看到此开发包。
执行如下命令,将LinuxSDK开发包解压至T113工作目录,耗时约10min后解压完成,生成tina5.0_v1.0文件夹,即为LinuxSDK源码目录。
Host# tar -zxf /mnt/hgfs/SharedFolders/LinuxSDK-v1.0.tar.gz -C /home/tronlong/T113/
执行如下命令,查看已解压的LinuxSDK源码目录。
Host# cd /home/tronlong/T113/tina5.0_v1.0/
Host# ls -al
请将产品资料“4-软件资料\Linux\LinuxSDK\”目录下的dl.tar.gz压缩包拷贝至T113工作目录。dl.tar.gz为Buildroot dl目录压缩包,用于存放从官网下载的开源软件包,LinuxSDK编译时可从该目录获取开源包,以节约下载时间,提高编译效率,且能避免因网络环境差异导致编译Buildroot失败的问题。
Host# cp /mnt/hgfs/SharedFolders/dl.tar.gz ./
Host# tar xvf dl.tar.gz -C buildroot/buildroot-201902/
至此,LinuxSDK开发包解压安装完成。
进入tina5.0_v1.0目录执行如下命令,加载环境变量。
Host# cd tina5.0_v1.0/
Host# source ./build/envsetup.sh
执行如下命令,配置Linux内核、内核版本、处理器型号、评估板型号(tlt113-evm-nand)、显示方式、编译器等信息。
Host# ./build.sh config
备注:首次执行上述命令会出现官方阅读说明,在等待倒计时结束后输入"Y",按回车确认即可。
Config具体配置如下:
========ACTION List: mk_config ;========
options :
All available platform:
0. android
1. linux
Choice [linux]: 1
All available linux_dev:
0. bsp
1. buildroot
2. openwrt
Choice [buildroot]: 1
All available ic:
0. t113
1. t113_i
2. t113_s3p
3. t113_s4
4. t113_s4p
5. t113_s2
Choice [t113_s3p]: 1
All available board:
0. evb1
1. evb1_auto
2. evb1_auto_nand
3. evb1_auto_nor
4. tlt113-evm-emmc
5. tlt113-evm-nand
6. tlt113-minievm-emmc
7. tlt113-minievm-nand
Choice [evb1]: 5
All available output_configs:
0. hdmi
1. lvds-lcd
2. mipi-lcd
3. tft-lcd
4. cvbs
Choice [hdmi]: 0
All available flash:
0. default
1. nor
Choice [default]: 0
在tina5.0_v1.0目录下执行如下命令,一键编译SPL、U-Boot、Linux内核和Buildroot文件系统。
备注:若修改内核、Buildroot、Qt模块等配置,需重新执行"./build.sh"命令,再打包生成Linux系统镜像文件。
Host# ./build.sh
预计耗时约20min编译完成后,生成SPL、U-Boot、Linux内核和Buildroot文件系统镜像文件,镜像文件需转化为.fex格式后使用。
(1)生成SPL镜像文件为"out/t113_i/tlt113-evm-nand/buildroot/"目录下的boot0_nand_sun8iw20p1.bin、boot0_sdcard_sun8iw20p1.bin和boot0_spinor_sun8iw20p1.bin。
(2)生成U-Boot镜像文件为"out/t113_i/tlt113-evm-nand/buildroot/u-boot-sun8iw20p1.bin"。
(3)生成Linux内核镜像文件为"out/t113_i/tlt113-evm-nand/buildroot/boot.img"。
(4)生成文件系统镜像文件"out/t113_i/tlt113-evm-nand/buildroot/rootfs.ubifs"和"out/t113_i/tlt113-evm-nand/buildroot/buildroot/images/rootfs.ext4"。其中rootfs.ubifs为UBIFS格式,适用于NAND FLASH;rootfs.ext4为EXT4格式,适用于Micro SD卡。
执行build.sh命令编译内核后,编译生成的相关文件会存放在"out/kernel/build/"目录下,含.config内核配置文件,此时才能配置内核选项。
我司默认配置的是Linux内核(推荐使用)。如对系统实时性要求较高,则需配置编译为Linux-RT内核,或需修改内核编译选项配置,请继续执行"make xxx menuconfig"命令打开图形配置界面。此命令通过读取当前目录的.config文件,以图形界面的方式提供内核编译配置查看和修改方法。如无需修改内核编译选项配置,可跳过此步骤。
menuconfig是一套图形化的配置工具,需要ncurses库支持。ncurses库提供了一系列的API函数供调用者生成基于文本的图形界面,因此需要先执行如下命令通过网络安装ncurses库。
Host# sudo apt-get install libncurses5-dev
Host# sudo apt-get install libncursesw5-dev
ncurses库安装完成后,执行如下命令打开图形配置界面。
Host# cd /home/tronlong/T113/tina5.0_v1.0/
Host# ./build.sh menuconfig
可通过键盘的方向键选中对应菜单栏。在<Select>被选中的情况下,可按Enter键进入子菜单。菜单选项中蓝色高亮的字母代表此菜单选项的快捷键,可在键盘上按下对应的字母快速选中对应的菜单选项。
每个菜单选项前的括号内容表示当前菜单选项的配置状态。选中对应的菜单选项后,按下Y键,会将相应的选项配置编译到内核中,同时菜单选项前面变为< * >。按下N键,不会将相应的选项配置编译到内核中。按下M键,会将相应的选项配置编译为内核模块,菜单选项前面变为< M >。如需搜索,可按下/键打开搜索框,然后输入要搜索的内容。
在图形配置界面中,进入"General setup -> Preemption Model (Preemptible Kernel (Low-Latency Desktop)) ---> "路径,选中"Fully Preemptible Kernel (Real-Time)"选项,即可配置为Linux-RT内核,此时菜单选项前面变为( X )。反之,则配置为Linux内核。
进入"Kernel Features -> Timer frequency (100 Hz)"路径,选中"1000 Hz",将定时器频率配置为1000Hz。
配置完毕后,选中<Save>,按Enter键保存配置选项。然后选中<Exit>,按Enter键退出。
如需修改Buildroot配置,请执行如下命令打开Buildroot配置界面,通过读取"out/t113_i/tlt113-evm-nand/buildroot/buildroot/"目录下的.config文件,以图形界面的方式提供文件系统编译配置查看和修改。如无需修改Buildroot配置,可跳过此步骤。
Host# cd /home/tronlong/T113/tina5.0_v1.0/
Host# ./build.sh buildroot_menuconfig
可通过键盘的方向键选中对应菜单栏。在<Select>被选中的情况下,可按Enter键进入子菜单。菜单选项中蓝色高亮的字母代表此菜单选项的快捷键,可在键盘上按下对应的字母快速选中对应的菜单选项。
每个菜单选项前的括号内容表示当前菜单选项的配置状态。选中对应的菜单选项后,按下Y键,会将相应的选项配置编译到Buildroot中,同时菜单选项前面变为< * >。按下N键,不会将相应的选项配置编译到Buildroot中。如需搜索,可按下/键打开搜索框,然后输入要搜索的内容。
配置完成后,选中<Save>,按Enter键保存配置选项。然后选中<Exit>,按Enter键退出。
如需增添或删除Qt模块,请进入LinuxSDK源码目录下执行如下命令,打开Buildroot配置界面,通过图形界面的方式提供文件系统编译配置查看和修改。
备注:当前LinuxSDK默认已支持Qt功能,若无需增加或删减Qt模块,可跳过此步骤。
Host# ./build.sh buildroot_menuconfig
在图形配置界面中,进入"Target packages ---> Graphic libraries and applications (graphic/text) ---> Qt5 --->"路径,选中需增加或删除的配置选项。
每个菜单选项前的括号内容表示当前菜单选项的配置状态。选中对应的菜单选项后,按下Y键,会将相应的选项配置编译到Buildroot中,同时菜单选项前面变为< * >。按下N键,不会将相应的选项配置编译到Buildroot中。如需搜索,可按下/键打开搜索框,然后输入要搜索的内容。
配置完成后,选中<Save>,按Enter键保存配置选项。然后选中<Exit>,按Enter键退出。
由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。