首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从 SDK 编译到镜像固化|SBC‑TLT153 单板机 Linux 系统深度开发指南(一)

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

原创
作者头像
创龙科技Tronlong
修改2026-09-16 10:09:59
修改2026-09-16 10:09:59
1020
举报

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

开发环境

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 ***"表示该软件已安装,请忽略。

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

1.2 解压LinuxSDK

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

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

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

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

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

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

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

2.2 配置编译选项

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

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

备注:首次执行上述命令会出现官方阅读说明,在等待倒计时结束后输入"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源码目录,执行如下命令,重新配置信息。

2.2.2 配置内核选项

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

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

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

可通过键盘的方向键选中对应菜单栏。在被选中的情况下,可按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"目录。

2.3编译LinuxSDK

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

备注:若修改U-Boot、内核等配置,需重新执行"./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"。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 开发环境
  • 术语表
  • 注意事项
  • 1 LinuxSDK安装
  • 1.1 安装依赖软件
  • 1.2 解压LinuxSDK
  • 2 LinuxSDK配置与编译
  • 2.1 安装文件系统
  • 2.2 配置编译选项
    • 2.2.1 配置编译设备树文件
    • 2.2.2 配置内核选项
  • 2.3编译LinuxSDK
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档