从 SDK 编译到镜像固化|SBC‑TLT153 单板机 Linux 系统深度开发指南(一)

前  言
 

本文档主要演示单板机/工控机配套Linux系统开发流程。包括LinuxSDK的配置与编译,U-Boot、Kernel及Rootfs的开发,以及系统镜像的替换方法。同时介绍关键计算单元(CPU)和内存子系统(DDR)性能策略配置与管理的详细步骤,旨在帮助开发者完成系统开发。
 

备注:本文适用于SBC-TLT153单板机及EPC-TLT153工控机系列(由SBC-TLT153单板机搭配扩展板与外壳组成),文中所有演示均基于512MByte NAND FLASH + 512MByte DDR3硬件配置的单板机开展。

 

开发环境
 

Windows开发环境:Windows10 64bit
 

Linux开发环境:VMware16.2.5、Ubuntu22.04.4 64bit

LinuxSDK开发包:LinuxSDK-[版本号](基于aiot-t153-linux-v1.0)

系统版本:Tronlong-Desktop 22.04(类Ubuntu)、U-Boot-2023.04-rc4、Linux-5.10.198

交叉编译工具链:

Rootfs开发、应用开发:arm-linux-gnueabihf-gcc(版本为11.4.0)

U-Boot开发:gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi

内核开发:gcc-linaro-11.3.1-2022.06-x86_64_arm-linux-gnueabihf

 

术语表
 

为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。

 

 

注意事项

(1)单板机默认镜像(已包含对应的设备树文件)支持创龙科技EX-TLBaseUART扩展板、EX-TLMultiUART扩展板、EX-TLMultiETH扩展板的外设,更换不同扩展板无需手动切换设备树文件。
 

(2)Linux系统部分镜像可支持通过命令行方式进行替换,具体如下表所示。

 

 

(3)系统相关软件包位于产品资料“4-软件资料\Linux\”目录下,具体如下表。

备注:我司推荐使用最新版本的LinuxSDK,亦可根据“4-软件资料\Linux\LinuxSDK\LinuxSDK-feature-support.pdf”的变更说明,自行替换对应模块至旧版本LinuxSDK进行更新。

 

 

 

1 LinuxSDK安装

 

1.1 安装依赖软件
 

将产品资料“4-软件资料\Linux\Tools\”目录下的工具包脚本文件install_tools.sh拷贝至工作目录下,执行脚本文件安装LinuxSDK开发包依赖软件。
 

备注:安装过程中,请保证Ubuntu可正常上网,若提示"*** is already the newest version ***"表示该软件已安装,请忽略。
 

Host# ./install_tools.sh

 

 

安装过程中会弹出如下界面,请选择"No"。

 

 

1.2 解压LinuxSDK
 

打开Ubuntu,执行如下命令,创建T153工作目录。
 

Host# mkdir -p /home/tronlong/T153

 

 

请将产品资料“4-软件资料\Linux\LinuxSDK\”目录下的LinuxSDK-[版本号].tar.gz开发包拷贝至Windows下的SharedFolders共享目录。

 

 

此时可在Ubuntu的共享目录"/mnt/hgfs/SharedFolders/"下看到此开发包。

 

 

执行如下命令,将LinuxSDK开发包解压至T153工作目录,耗时约10min后解压完成,生成aiot-t153-linux-[版本号]文件夹,即为LinuxSDK源码目录。

Host# tar -zxf /mnt/hgfs/SharedFolders/LinuxSDK-v1.0.tar.gz -C /home/tronlong/T153/

 

 

执行如下命令,查看已解压的LinuxSDK源码目录。

Host# cd /home/tronlong/T153/aiot-t153-linux-v1.0/

Host# ls -al

 

 

 

2 LinuxSDK配置与编译

请先参考“LinuxSDK安装”章节正确安装LinuxSDK和依赖软件,再执行以下步骤。

 

2.1 安装文件系统

请将产品资料“4-软件资料\Linux\Filesystem\src\”目录下的Tronlong-Desktop-22.04-[版本号]-[Git系列号]-xxxx.tar.gz压缩包(版本号、Git系列号请以实际情况为准)拷贝至Windows下的SharedFolders共享目录。

 

 

执行如下命令,进入LinuxSDK源码的buildroot目录,创建ubuntu目录,并将文件系统解压至创建的ubuntu目录。

Host# cd /home/tronlong/T153/aiot-t153-linux-v1.0/buildroot/

Host# mkdir -p ubuntu

Host# cd ubuntu

Host# tar -zxf /mnt/hgfs/SharedFolders/Tronlong-Desktop-22.04-v1.0-g73b96f4-nand.tar.gz -C /home/tronlong/T153/aiot-t153-linux-v1.0/buildroot/ubuntu/

 

 

 

至此,LinuxSDK开发包已包含文件系统。

 

2.2 配置编译选项

执行如下命令,进入LinuxSDK源码目录并配置Linux内核、内核版本、处理器型号、单板机型号、显示方式、编译器等信息。
 

本次以NAND FLASH配置单板机进行演示,若使用eMMC配置单板机,请将config配置选项"All available board"设置为"sbc-tlt153-emmc"。

Host# cd /home/tronlong/T153/aiot-t153-linux-v1.0

Host# ./build.sh config

备注:首次执行上述命令会出现官方阅读说明,在等待倒计时结束后输入"Y",按回车确认即可。

 

 

 

 

Config具体配置如下:

 

========ACTION List: mk_config ;========
 

All available platform:

   0. android

   1. linux

Choice [linux]: 1

All available linux_dev:

   0. bsp

   1. buildroot

   2. ubuntu

Choice [bsp]: 2

All available ic:

   0. t153

Choice [t153]: 0

All available ddr_type:

   0. ddr3

   1. ddr4

Choice [ddr3]: 0

All available board:

   0. bga_demo

   1. bga_demo_amp_nand

   2. bga_demo_nand

   3. bga_demo_nor

   4. demo

   5. demo2_nand

   6. demo_amp_nand

   7. demo_nand
 

   8. demo_nor

   9. demo_qa

  10. sbc-tlt153-emmc

  11. sbc-tlt153-nand

  12. tlt153-evm-emmc

  13. tlt153-evm-nand

  14. tlt153-minievm-emmc

  15. tlt153-minievm-nand

Choice [sbc-tlt153-nand]: 11

All available nand_capacity:

   0. 256MB

   1. 512MB

Choice [256MB]: 1

All available output_configs:

   0. hdmi

   1. lvds-lcd

   2. mipi-lcd

   3. eth3-rgmii

   4. localbus

Choice [hdmi]: 1

All available flash:

   0. default

   1. nor

Choice [default]: 0

All available kern_name:

   0. linux-5.10-origin

   1. linux-5.10-rt

   2. linux-5.10-xenomai

Choice [linux-5.10-origin]: 0

 

 

2.2.1 配置编译设备树文件
 

(1)内核设备树文件
 

我司提供的内核设备树文件位于LinuxSDK源码"device/config/chips/t153/configs/sbc-tlt153-xxxx/"目录下。
 

备注:NAND FLASH配置单板机的内核设备树文件位于sbc-tlt153-nand目录,eMMC配置单板机的内核设备树文件位于sbc-tlt153-emmc目录。

 

 

单板机使用的内核设备树文件存在多级的依赖关系,具体如下表所示。表中的下一级内核设备树文件,被上一级内核设备树文件所引用。

 

 

(2)U-Boot设备树文件

我司提供的U-Boot设备树文件位于LinuxSDK源码"device/config/chips/t153/configs/sbc-tlt153-xxxx/linux-5.10-xx/"目录下。

备注:NAND FLASH配置单板机的U-Boot设备树文件位于sbc-tlt153-nand目录,eMMC配置单板机的U-Boot设备树文件位于sbc-tlt153-emmc目录。

 

 

单板机使用的U-Boot设备树文件存在多级的依赖关系,具体如下表所示。表中的下一级U-Boot设备树文件,被上一级U-Boot设备树文件所引用。

 

 

为便于测试,我司已提供支持以上功能的多个boot_package_xxx.fex、boot_xxx.fex文件,位于产品资料“4-软件资料\Linux\U-Boot\image\u-boot-2023-[版本号]-[Git系列号]_u-boot-bsp-[版本号]-[Git系列号]\”和“4-软件资料\Linux\Kernel\image\linux-5.10.198-[版本号]-[Git系列号]_bsp-[版本号]-[Git系列号]\”目录下,可直接使用。

我司提供的系统默认使用支持LVDS OUT显示的U-Boot设备树文件,如需替换为支持其他功能的U-Boot设备树,请进入LinuxSDK源码目录,执行如下命令,重新配置信息。

Host# ./build.sh config

 

 

2.2.2 配置内核选项
 

我司默认配置的是Linux内核(推荐使用)。如需修改内核编译选项配置,请继续执行"./build.sh menuconfig"命令打开图形配置界面。此命令通过读取当前目录的.config文件,以图形界面的方式提供内核编译配置查看和修改方法。如无需修改内核编译选项配置,可跳过此步骤。

menuconfig是一套图形化的配置工具,需要ncurses库支持。ncurses库提供了一系列的API函数供调用者生成基于文本的图形界面,因此需要先执行如下命令通过网络安装ncurses库。

Host# sudo apt-get install libncurses5-dev libncursesw5-dev

 

 

ncurses库安装完成后,执行如下命令打开图形配置界面。

Host# ./build.sh menuconfig

 

 

 

可通过键盘的方向键选中对应菜单栏。在被选中的情况下,可按Enter键进入子菜单。菜单选项中蓝色高亮的字母代表此菜单选项的快捷键,可在键盘上按下对应的字母快速选中对应的菜单选项。

 

每个菜单选项前的括号内容表示当前菜单选项的配置状态。选中对应的菜单选项后,按下Y键,会将相应的选项配置编译到内核中,同时菜单选项前面变为< * >。按下N键,不会将相应的选项配置编译为内核模块。按下M键,会将相应的选项配置编译为内核模块,菜单选项前面变为< M >。如需搜索,可按下/键打开搜索框,然后输入要搜索的内容。

 

 

执行如下命令,保存配置选项。NAND FLASH配置单板机将保存在"device/config/chips/t153/configs/sbc-tlt153-nand/linux-5.10-origin/buildroot_linux_defconfig"目录;eMMC配置单板机将保存在"device/config/chips/t153/configs/sbc-tlt153-emmc/linux-5.10-origin/buildroot_linux_defconfig"目录。

Host# ./build.sh saveconfig

 

 

2.3编译LinuxSDK
 

请确保已参照“配置编译选项”章节配置LinuxSDK编译选项,然后在LinuxSDK的源码目录下执行如下命令,一键编译生成U-Boot、Kernel、文件系统等镜像,并打包生成系统镜像。

备注:若修改U-Boot、内核等配置,需重新执行"./build.sh"命令,再打包生成系统镜像文件。

Host# ./build.sh

 

 

预计耗时约10min编译完成后,生成U-Boot、Linux内核和文件系统镜像文件,镜像文件需转化为.fex格式后使用。

 

 

(1)生成U-Boot镜像文件为"out/t153/sbc-tlt153-xxxx/ubuntu/u-boot-sun8iw22p1.bin"。

 

 

(2)生成内核镜像文件为"out/t153/sbc-tlt153-xxxx/ubuntu/boot.img"。

 

 

(3)生成文件系统镜像文件"out/t153/sbc-tlt153-xxxx/ubuntu/rootfs.ubifs"和"out/t153/sbc-tlt153-xxxx/ubuntu/rootfs.ext4"。

 

 

posted @ 2026-09-16 09:55  创龙科技-黄工  阅读(19)  评论(0)    收藏  举报