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

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

原创
作者头像
创龙科技Tronlong
发布2026-09-22 08:41:46
发布2026-09-22 08:41:46
320
举报

5.3.2NAND FLASH配置

(1)替换至系统启动卡

请从NAND FLASH启动系统,再插入系统启动卡。执行如下命令,查看系统启动卡的用户储存分区,以便存储文件系统镜像。

Target# mount |grep mmcblk0p10

请将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镜像,写入到目标分区

(2)替换至NAND FLASH

请从系统启动卡启动单板机系统,执行如下命令,查看系统启动卡的用户储存分区,以便存储文件系统镜像。

Target# mount | grep mmcblk0p10

请将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"分区

5.4开机自启动说明

本章节以led_flash案例为例,演示通过systemd进程方式,实现程序开机自启动。

5.4.1通过修改文件系统实现

请将产品资料“4-软件资料\Demo\base-demos\led_flash\bin\”目录下的可执行文件拷贝至单板机系统目录下,执行如下命令修改可执行文件的权限。

Target# chmod a+x led_flash

执行如下命令,进入文件系统"/etc/systemd/system/"目录,新建一个自启动的systemd服务配置文件led_flash.service。

Target# cd /etc/systemd/system/

Target# vi led_flash.service

在led_flash.service文件中添加如下内容,请根据实际情况进行修改。其中Description为systemd服务的简短描述,ExecStartPre为systemd服务的打印信息,ExecStart为启动当前服务的命令。

[Unit]

Description=led_flash

After=basic.service

[Service]

Environment=DISPLAY=0:0

ExecStartPre=/bin/echo "****Start to run led_flash.service****"

ExecStart=/root/led_flash -n 3

StandardOutput=tty

KillMode=process

KillSignal=SIGKILL

SendSIGKILL=yes

[Install]

WantedBy=multi-user.target

请执行如下命令使能该systemd服务,并重新启动单板机。

Target# systemctl enable /etc/systemd/system/led_flash.service

Target# reboot

重新启动系统后,系统将会自动运行程序,同时可观察到单板机用户可编程LED进行闪烁。如需取消程序开机自启动功能,请执行如下命令关闭systemd服务。

Target# systemctl disable led_flash.service

5.4.2通过修改Linux系统镜像实现

本章节演示如何在LinuxSDK中修改自启动脚本,并重新编译LinuxSDK,生成新的Linux系统镜像,实现程序开机自启动。

请参考本文“修改rootfs”章节将产品资料“4-软件资料\Demo\base-demos\led_flash\bin\”目录下的可执行文件拷贝至文件系统"root"目录下。

执行如下命令,进入文件系统"/etc/systemd/system/"目录,新建一个自启动的systemd服务配置文件led_flash.service。

Host# cd /etc/systemd/system/

Host# vi led_flash.service

在led_flash.service文件中添加如下内容,请根据实际情况进行修改。其中Description为systemd服务的简短描述,ExecStartPre为systemd服务的打印信息,ExecStart为启动当前服务的命令。

[Unit]

Description=led_flash

After=basic.service

[Service]

Environment=DISPLAY=0:0

ExecStartPre=/bin/echo "****Start to run led_flash.service****"

ExecStart=/root/led_flash -n 3

StandardOutput=tty

KillMode=process

KillSignal=SIGKILL

SendSIGKILL=yes

[Install]

WantedBy=multi-user.target

请输入如下命令使能该systemd服务。

Host# systemctl enable /etc/systemd/system/led_flash.service

执行如下命令,退出rootfs根文件系统目录,并取消挂载。

Host# exit

Host# sudo umount mount_dir/proc

Host# sudo umount mount_dir/sys

Host# sudo umount mount_dir/dev/pts

Host# sudo umount mount_dir/dev

执行如下命令提取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/ . //注意有"."

参考本文“安装文件系统”章节,将提取的Tronlong-Desktop-22.04.tar.gz解压至LinuxSDK,然后参考本文“编译LinuxSDK”章节,重新编译LinuxSDK,并参考《系统固化手册》将系统镜像文件固化至eMMC/NAND FLASH或系统启动卡。

单板机上电启动,系统将会自动运行程序,同时可观察到单板机用户可编程LED进行闪烁。

如需取消程序开机自启动功能,请在单板机系统执行如下命令关闭systemd服务。

Target# systemctl disable led_flash.service

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分区配置文件。

分区配置文件(NAND FLASH配置)

eMMC配置单板机的分区配置文件位于LinuxSDK开发包"device/config/chips/t153/configs/sbc-tlt153-emmc/ubuntu/"目录下。sys_partition.fex为系统启动卡和板载eMMC分区配置文件。

分区配置文件(eMMC配置)

sys_partition.fex文件分区配置信息如下图所示。

(NAND FLASH配置)

sys_partition_sdboot.fex文件分区配置信息如下图所示。

(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

sys_partition.fex文件修改内容如下:

size = 614400 //将483328修改为614400,单位:扇区

修改完成并保存退出,请参考上文“编译生成系统镜像”章节编译生成系统镜像t153_linux_sbc-tlt153-nand_uart0.img,然后请参考《系统固化手册》固化至NAND FLASH。

请从NAND FLASH启动系统,单板机上电启动,进入单板机系统后执行如下命令,查看系统启动卡在文件系统的挂载信息,对比默认分区信息,可看到根文件系统(即Rootfs)分区,大小按照修改的容量发生改变,如下所示。

Target# fdisk -l

NAND FLASH和eMMC配置单板机系统启动卡分别使用不同的分区表,具体如下:

7 CPU主频调节说明

我司已将T153MX-BCX处理器Cortex-A7核心最高主频默认配置为1.608GHz,如需查询、配置CPU主频,可按本章节内容操作。

7.10020CPU主频说明

单板机默认支持配置的主频频率如下表所示。

系统支持5种CPU调频策略,默认配置为performance调频策略,主频频率及相关说明如下表所示。可通过内核配置或命令行配置方式修改CPU调频策略,可通过内核配置或命令行配置修改CPU频率。

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

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

目录
  • 5.3.2NAND FLASH配置
  • 5.4开机自启动说明
    • 5.4.1通过修改文件系统实现
    • 5.4.2通过修改Linux系统镜像实现
  • 6 配置分区大小
  • 7 CPU主频调节说明
    • 7.10020CPU主频说明
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档