陈工-创龙科技 发表于 2026-9-16 09:59:16

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

本帖最后由 陈工-创龙科技 于 2026-9-20 09:41 编辑

前言

本文档主要演示单板机/工控机配套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
术语表

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpgmALFZCAAB6njh5ODE361.png

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

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpiCAQ4TFAABSUMfktnM227.png

(3)系统相关软件包位于产品资料“4-软件资料Linux”目录下,具体如下表。
备注:我司推荐使用最新版本的LinuxSDK,亦可根据“4-软件资料LinuxLinuxSDKLinuxSDK-feature-support.pdf”的变更说明,自行替换对应模块至旧版本LinuxSDK进行更新。

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnpjSAcemmAAD7YGYDDhg328.png

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnpjSAQ2rdAACUJD_WsOA053.png

1 LinuxSDK安装
1.1 安装依赖软件

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

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

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnplqAJ6jRAAFmYE4VMY8848.png

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpmOAGI80AABZVfxhrIs927.png

1.2 解压LinuxSDK

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpnOAXT4WAAA_wBhxb6w300.png

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpnyADoAEAAAO1TtBI5c152.png

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

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnpoSAT0-ZAABAJwr6Wlg728.png

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpoyAPbMJAAA36o-H7pA611.png

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

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnppSASM3QAAFj8hBTOwU334.png

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpp2AUXRAAAB4UwI5azs203.png

2 LinuxSDK配置与编译
请先参考“LinuxSDK安装”章节正确安装LinuxSDK和依赖软件,再执行以下步骤。
2.1 安装文件系统
请将产品资料“4-软件资料LinuxFilesystemsrc”目录下的Tronlong-Desktop-22.04-[版本号]--xxxx.tar.gz压缩包(版本号、Git系列号请以实际情况为准)拷贝至Windows下的SharedFolders共享目录。

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnprWATmu9AAAUhCyqNDc360.png

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpsCANzWCAADPAqCwsVI830.png

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnpsCAFFRnAAGUwYJi2iE158.png

至此,LinuxSDK开发包已包含文件系统。
2.2 配置编译选项
执行如下命令,进入LinuxSDK源码目录并配置Linux内核、内核版本、处理器型号、单板机型号、显示方式、编译器等信息。

本次以NAND FLASH配置单板机进行演示,若使用eMMC配置单板机,请将config配置选项"All available board"设置为"sbc-tlt153-emmc"。
备注:首次执行上述命令会出现官方阅读说明,在等待倒计时结束后输入"Y",按回车确认即可。

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnptmARUDHAABNQQe6T3c589.png

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnptmAKoHlAAE03Y60Y-U635.png

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnpvKAQ1EwAAB8XAu1ZT4181.png

Config具体配置如下:
========ACTION List: mk_config ;========

All available platform:
   0. android
   1. linux
Choice : 1
All available linux_dev:
   0. bsp
   1. buildroot
   2. ubuntu
Choice : 2
All available ic:
   0. t153
Choice : 0
All available ddr_type:
   0. ddr3
   1. ddr4
Choice : 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 : 11
All available nand_capacity:
   0. 256MB
   1. 512MB
Choice : 1
All available output_configs:
   0. hdmi
   1. lvds-lcd
   2. mipi-lcd
   3. eth3-rgmii
   4. localbus
Choice : 1
All available flash:
   0. default
   1. nor
Choice : 0
All available kern_name:
   0. linux-5.10-origin
   1. linux-5.10-rt
   2. linux-5.10-xenomai
Choice : 0

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnpw2Aac5jAANtJBZdWKM031.png

2.2.1 配置编译设备树文件

(1)内核设备树文件

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

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpxmAeA2GAAAbFt3LvyM285.png

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

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnpyOADTg8AAAOqfTq16w466.png

(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目录。

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpyyAXX97AAAir2XJXik792.png

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

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnpzOAeWwQAAAPncGXMe4450.png

为便于测试,我司已提供支持以上功能的多个boot_package_xxx.fex、boot_xxx.fex文件,位于产品资料“4-软件资料LinuxU-Bootimageu-boot-2023-[版本号]-_u-boot-bsp-[版本号]-”和“4-软件资料LinuxKernelimagelinux-5.10.198-[版本号]-_bsp-[版本号]-”目录下,可直接使用。
我司提供的系统默认使用支持LVDS OUT显示的U-Boot设备树文件,如需替换为支持其他功能的U-Boot设备树,请进入LinuxSDK源码目录,执行如下命令,重新配置信息。
Host# ./build.sh config

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnpz2AYUA-AAEDnSgMcyo350.png

2.2.2 配置内核选项

我司默认配置的是Linux内核(推荐使用)。如需修改内核编译选项配置,请继续执行"./build.sh menuconfig"命令打开图形配置界面。此命令通过读取当前目录的.config文件,以图形界面的方式提供内核编译配置查看和修改方法。如无需修改内核编译选项配置,可跳过此步骤。
menuconfig是一套图形化的配置工具,需要ncurses库支持。ncurses库提供了一系列的API函数供调用者生成基于文本的图形界面,因此需要先执行如下命令通过网络安装ncurses库。

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnp0mAbwI3AAKSAP7IuUw645.png

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

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnp1aAJZflAAFMf96oPlY704.png

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnp1WAUZr2AAGYziXcX1I455.png

可通过键盘的方向键选中对应菜单栏。在被选中的情况下,可按Enter键进入子菜单。菜单选项中蓝色高亮的字母代表此菜单选项的快捷键,可在键盘上按下对应的字母快速选中对应的菜单选项。
每个菜单选项前的括号内容表示当前菜单选项的配置状态。选中对应的菜单选项后,按下Y键,会将相应的选项配置编译到内核中,同时菜单选项前面变为< * >。按下N键,不会将相应的选项配置编译为内核模块。按下M键,会将相应的选项配置编译为内核模块,菜单选项前面变为< M >。如需搜索,可按下/键打开搜索框,然后输入要搜索的内容。

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnp2OAKnt0AAGYOKSmgpY904.png

执行如下命令,保存配置选项。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"目录。

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnp2yAIhN4AAFQqhRN37M805.png

2.3编译LinuxSDK

请确保已参照“配置编译选项”章节配置LinuxSDK编译选项,然后在LinuxSDK的源码目录下执行如下命令,一键编译生成U-Boot、Kernel、文件系统等镜像,并打包生成系统镜像。
备注:若修改U-Boot、内核等配置,需重新执行"./build.sh"命令,再打包生成系统镜像文件。
Host# ./build.sh
https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnp3aAKoGRAAEKRqR5YsQ188.png

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnp4GAI6HFAABb0I7aIOE711.png

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

https://file1.elecfans.com/web3/M00/78/C2/wKgZO2qnp4eAPUaKAABWETuW99s696.png

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

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnp5KAd5bZAABQBNzaC54874.png

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

https://file1.elecfans.com/web3/M00/78/BE/wKgZPGqnp5mAaHTbAAC_Qes3WbI831.png
页: [1]
查看完整版本: 从 SDK 编译到镜像固化|SBC‑TLT153 单板机 Linux 系统深度开发指南(一)

Baidu
map