陈工-创龙科技 发表于 2026-9-20 09:00:57

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

5.3.2NAND FLASH配置(1)替换至系统启动卡请从NAND FLASH启动系统,再插入系统启动卡。执行如下命令,查看系统启动卡的用户储存分区,以便存储文件系统镜像。Target# mount |grep mmcblk0p10
https://file1.elecfans.com/web3/M00/79/38/wKgZPGqp_QuAIrcOAAAN3lLpzBE965.png
请将Rootfs镜像(rootfs.ext4)拷贝至单板机系统"/run/media/mmcblk0p10"目录下,执行如下命令固化至NAND FLASH配置单板机的系统启动卡。固化完成后,重启单板机。备注:请确保用于拷贝Rootfs镜像的文件系统目录具备充足的剩余存储空间。Target# umount /dev/mmcblk0p8 //卸载系统启动卡的第8个分区Target# dd if=/run/media/mmcblk0p10/rootfs.ext4 of=/dev/mmcblk0p8 bs=1M conv=fsync //读取rootfs_raw.ext4镜像,写入到目标分区
https://file1.elecfans.com/web3/M00/79/3C/wKgZO2qp_RSAandPAAAd0R4SiiY278.png
(2)替换至NAND FLASH请从系统启动卡启动单板机系统,执行如下命令,查看系统启动卡的用户储存分区,以便存储文件系统镜像。Target# mount | grep mmcblk0p10
https://file1.elecfans.com/web3/M00/79/38/wKgZPGqp_R2AIW2PAAAQUIjEfbA059.png
请将Rootfs镜像(rootfs-nand.fex)拷贝至单板机系统"/mnt/UDISK/"目录下,执行如下命令固化至NAND FLASH。固化完成后,重启单板机。备注:请确保用于拷贝Rootfs镜像的文件系统目录具备充足的剩余存储空间。Target# flash_erase /dev/mtd13 0 0 //擦除"/dev/mtd13"分区所有块
Target# nandwrite -p /dev/mtd13/mnt/UDISK/rootfs-nand.fex //将rootfs-nand.fex写入NAND FLASH的"/dev/mtd13"分区
https://file1.elecfans.com/web3/M00/79/3C/wKgZO2qp_SmAZ93-AAA4FGze0r4211.png
https://file1.elecfans.com/web3/M00/79/38/wKgZPGqp_SmAbTZCAAAfhof5YV4467.png
5.4开机自启动说明本章节以led_flash案例为例,演示通过systemd进程方式,实现程序开机自启动。
5.4.1通过修改文件系统实现请将产品资料“4-软件资料\Demo\base-demos\led_flash\bin\”目录下的可执行文件拷贝至单板机系统目录下,执行如下命令修改可执行文件的权限。Target# chmod a+x led_flash
https://file1.elecfans.com/web3/M00/79/3C/wKgZO2qp_T2APNmBAAAJK2Dcxlw075.png
执行如下命令,进入文件系统"/etc/systemd/system/"目录,新建一个自启动的systemd服务配置文件led_flash.service。Target# cd /etc/systemd/system/Target# viled_flash.service
https://file1.elecfans.com/web3/M00/79/38/wKgZPGqp_UqAeG3XAAAKZKpNUXw570.png
在led_flash.service文件中添加如下内容,请根据实际情况进行修改。其中Description为systemd服务的简短描述,ExecStartPre为systemd服务的打印信息,ExecStart为启动当前服务的命令。

Description=led_flashAfter=basic.service
Environment=DISPLAY=0:0ExecStartPre=/bin/echo "****Start to run led_flash.service****"ExecStart=/root/led_flash -n 3StandardOutput=ttyKillMode=processKillSignal=SIGKILLSendSIGKILL=yesWantedBy=multi-user.target
https://file1.elecfans.com/web3/M00/79/38/wKgZPGqp_VWALO66AAAle80**o071.png
请执行如下命令使能该systemd服务,并重新启动单板机。Target# systemctl enable /etc/systemd/system/led_flash.serviceTarget# reboot
https://file1.elecfans.com/web3/M00/79/3C/wKgZO2qp_V-AU4-_AAAiL8gxZck106.png
重新启动系统后,系统将会自动运行程序,同时可观察到单板机用户可编程LED进行闪烁。如需取消程序开机自启动功能,请执行如下命令关闭systemd服务。Target# systemctl disable led_flash.service
https://file1.elecfans.com/web3/M00/79/39/wKgZPGqp_WiAHi0tAAAXuHeu1rk008.png
5.4.2通过修改Linux系统镜像实现
本章节演示如何在LinuxSDK中修改自启动脚本,并重新编译LinuxSDK,生成新的Linux系统镜像,实现程序开机自启动。请参考本文“修改rootfs”章节将产品资料“4-软件资料\Demo\base-demos\led_flash\bin\”目录下的可执行文件拷贝至文件系统"root"目录下。
https://file1.elecfans.com/web3/M00/79/39/wKgZPGqp_XiAeYnpAAAzDrFA4n4831.png
执行如下命令,进入文件系统"/etc/systemd/system/"目录,新建一个自启动的systemd服务配置文件led_flash.service。Host# cd /etc/systemd/system/Host# viled_flash.service
https://file1.elecfans.com/web3/M00/79/3C/wKgZO2qp_YGAW24lAAAy1Mw_E_w424.png
在led_flash.service文件中添加如下内容,请根据实际情况进行修改。其中Description为systemd服务的简短描述,ExecStartPre为systemd服务的打印信息,ExecStart为启动当前服务的命令。

Description=led_flashAfter=basic.serviceEnvironment=DISPLAY=0:0ExecStartPre=/bin/echo "****Start to run led_flash.service****"ExecStart=/root/led_flash -n 3StandardOutput=ttyKillMode=processKillSignal=SIGKILLSendSIGKILL=yesWantedBy=multi-user.target
https://file1.elecfans.com/web3/M00/79/39/wKgZPGqp_ZKAcZ-uAABe8VAcPr4380.png
请输入如下命令使能该systemd服务。Host# systemctl enable /etc/systemd/system/led_flash.service
https://file1.elecfans.com/web3/M00/79/3C/wKgZO2qp_ZuAIKKfAABL7Unxiwg994.png
执行如下命令,退出rootfs根文件系统目录,并取消挂载。Host# exitHost# sudo umount mount_dir/procHost# sudo umount mount_dir/sysHost# sudo umount mount_dir/dev/ptsHost# sudo umount mount_dir/dev
https://file1.elecfans.com/web3/M00/79/3C/wKgZO2qp_aOAdOfNAABqbU-NykE022.png
执行如下命令提取Tronlong-Desktop-22.04.tar.gz,提取完成后,将在当前目录生成Tronlong-Desktop-22.04.tar.gz压缩包。Host# sudo tar -czf Tronlong-Desktop-22.04.tar.gz -C ~/mount_dir/ . //注意有"."
https://file1.elecfans.com/web3/M00/79/3C/wKgZO2qp_auAd7KSAABSriuYO1M041.png
参考本文“安装文件系统”章节,将提取的Tronlong-Desktop-22.04.tar.gz解压至LinuxSDK,然后参考本文“编译LinuxSDK”章节,重新编译LinuxSDK,并参考《系统固化手册》将系统镜像文件固化至eMMC/NAND FLASH或系统启动卡。单板机上电启动,系统将会自动运行程序,同时可观察到单板机用户可编程LED进行闪烁。如需取消程序开机自启动功能,请在单板机系统执行如下命令关闭systemd服务。Target# systemctl disable led_flash.service
https://file1.elecfans.com/web3/M00/79/39/wKgZPGqp_WiAHi0tAAAXuHeu1rk008.png
6 配置分区大小本章节演示如何修改单板机的分区大小。
我司提供的LinuxSDK开发包已包含分区配置文件sys_partition.fex、sys_partition_sdboot.fex。NAND FLASH配置单板机的分区配置文件位于LinuxSDK开发包"device/config/chips/t153/configs/sbc-tlt153-nand/ubuntu/"目录下。其中,sys_partition_sdboot.fex为系统启动卡配置文件,sys_partition.fex为板载NAND FLASH分区配置文件。
https://file1.elecfans.com/web3/M00/79/3C/wKgZO2qp_cWAc1MPAABdDI6oJ3M474.png分区配置文件(NAND FLASH配置)
eMMC配置单板机的分区配置文件位于LinuxSDK开发包"device/config/chips/t153/configs/sbc-tlt153-emmc/ubuntu/"目录下。sys_partition.fex为系统启动卡和板载eMMC分区配置文件。
https://file1.elecfans.com/web3/M00/79/3D/wKgZO2qp_dyATL2tAABdBwXyVJg353.png分区配置文件(eMMC配置)
sys_partition.fex文件分区配置信息如下图所示。
https://file1.elecfans.com/web3/M00/79/3D/wKgZO2qp_euAaG_0AADpy89k07I781.png(NAND FLASH配置)
sys_partition_sdboot.fex文件分区配置信息如下图所示。
https://file1.elecfans.com/web3/M00/79/3D/wKgZO2qp_fqAJsXNAAEM_UTK5OU660.png(NAND FLASH配置)
本次以修改NAND FLASH配置的sys_partition.fex文件为例,演示修改NAND FLASH的分区大小。通过eMMC或系统启动卡启动的分区大小修改方法同理,注意选择相应的分区配置文件即可。当前系统会根据分区配置文件sys_partition.fex划分每个分区的大小,因此可通过修改sys_partition.fex文件来改变分区大小。本次以修改rootfs分区为例,演示扩大rootfs分区64MByte容量。在LinuxSDK源码目录下,执行如下命令,修改"device/config/chips/t153/configs/sbc-tlt153-nand/ubuntu/sys_partition.fex"文件。Host# vi device/config/chips/t153/configs/sbc-tlt153-nand/ubuntu/sys_partition.fex
https://file1.elecfans.com/web3/M00/79/3D/wKgZO2qp_geAMKUkAABMYxNQwc4740.png
sys_partition.fex文件修改内容如下:
size         = 614400 //将483328修改为614400,单位:扇区
https://file1.elecfans.com/web3/M00/79/39/wKgZPGqp_g2ANO8JAAAn_HLxiW4673.png
修改完成并保存退出,请参考上文“编译生成系统镜像”章节编译生成系统镜像t153_linux_sbc-tlt153-nand_uart0.img,然后请参考《系统固化手册》固化至NAND FLASH。请从NAND FLASH启动系统,单板机上电启动,进入单板机系统后执行如下命令,查看系统启动卡在文件系统的挂载信息,对比默认分区信息,可看到根文件系统(即Rootfs)分区,大小按照修改的容量发生改变,如下所示。Target# fdisk -l
https://file1.elecfans.com/web3/M00/79/39/wKgZPGqp_g2ANO8JAAAn_HLxiW4673.png
NAND FLASH和eMMC配置单板机系统启动卡分别使用不同的分区表,具体如下:
https://file1.elecfans.com/web3/M00/79/3D/wKgZO2qp_iKAa9GkAAAnwVqkXHg283.png
7 CPU主频调节说明我司已将T153MX-BCX处理器Cortex-A7核心最高主频默认配置为1.608GHz,如需查询、配置CPU主频,可按本章节内容操作。 7.10020CPU主频说明 单板机默认支持配置的主频频率如下表所示。
https://file1.elecfans.com/web3/M00/79/3D/wKgZO2qp_oyAe6H0AAAYwXXwJrA614.png
系统支持5种CPU调频策略,默认配置为performance调频策略,主频频率及相关说明如下表所示。可通过内核配置或命令行配置方式修改CPU调频策略,可通过内核配置或命令行配置修改CPU频率。
https://file1.elecfans.com/web3/M00/79/39/wKgZPGqp_pWAEvLCAABCkLGvU8s959.png
页: [1]
查看完整版本: 从 SDK 编译到镜像固化|SBC‑TLT153 单板机 Linux 系统深度开发指南(四)

Baidu
map