基于安路DR1M90 FPSoC 的Linux 系统全流程开发指南(4)
前言本文档由创龙科技研发,专为安路飞龙 DR1M90 FPSoC 产品打造,聚焦 Linux 系统全流程开发需求。开发环境Windows开发环境:Windows10 64bitLinux开发环境:VMware16.2.5、Ubuntu22.04.4 64bitLinuxSDK开发包:LinuxSDK-[版本号](基于SDK_2025.1)交叉编译工具链:应用开发:gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnuU-Boot、内核开发:gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu评估板系统版本:U-Boot-2021.01、Linux-6.1.111、Buildroot-2022.02备注:本文基于8GByte eMMC、1GByte DDR3配置核心板进行演示
Rootfs开发Rootfs源码说明Rootfs(根文件系统)是Linux内核启动后挂载的第一个文件系统,它包含了Linux系统启动和运行所必需的所有文件和目录。我司的根文件系统基于LinuxSDK源码的buildroot进行编译开发。
https://file1.elecfans.com/web3/M00/3F/36/wKgZO2kpCfqAW8ENAAByhEue9R0246.png
图 67
Rootfs配置如需修改配置文件,请参考“配置Buildroot”章节。编译Rootfs配置完Rootfs后,在LinuxSDK源码目录下执行如下命令,配置编译选项,单独编译文件系统。Host# cd /home/tronlong/DR1/SDK_2025.1/Host# ./build.sh buildroot
https://file1.elecfans.com/web3/M00/3F/37/wKgZPGkpCgGAAIHFAAFOGQOyPiE020.png
图 68
编译完成后,最终在LinuxSDK源码"/device/output/anlogic_dr1m90/buildroot/images"目录下生成Rootfs镜像如下所示。
https://file1.elecfans.com/web3/M00/3F/36/wKgZO2kpCgmAfrj6AABMTBfFGAk215.png
图 69
Rootfs替换说明我司已提供文件Rootfs镜像文件,位于产品资料“4-软件资料\Linux\Filesystem\image\buildroot-202202-[版本号]-\”目录下。如需修改Rootfs,请参考《Linux系统固化手册》解压制卡工具包,并将"mksdboot_AA_BB_CC_DD/filesystem/rootfs/"目录下的rootfs.tar替换为需更新的rootfs.tar,再参考《Linux系统固化手册》制作Linux系统启动卡或固化Linux系统至eMMC即可。
https://file1.elecfans.com/web3/M00/3F/37/wKgZPGkpCg-AYawjAAAzG79wMeQ160.png
图 70
程序开机自启动说明通过新建自启动脚本形式实现请将产品资料“4-软件资料\Demo\base-demos\led_flash\bin\”目录下的可执行文件拷贝至评估板文件系统目录下。执行如下命令,新建一个开机自启动脚本文件。Target# vi /etc/init.d/S99led_control
https://file1.elecfans.com/web3/M00/3F/36/wKgZO2kpChaAL5RPAAAKP_CP_GE980.png
图 71
在脚本文件中添加如下内容。
/root/led_flash -n 1 &
https://file1.elecfans.com/web3/M00/3F/37/wKgZPGkpCh6AahFbAAADSZYVFtw555.png
图 72
添加内容完成后,保存并退出。执行如下命令修改开机自启动脚本文件权限。Target# chmod 777 /etc/init.d/S99led_controlTarget# sync
https://file1.elecfans.com/web3/M00/3F/37/wKgZPGkpCiSAfx54AAAItdOQkOw093.png
图 73
请将评估板断电重启,Linux系统将会自动运行程序,调试串口终端将打印如下类似信息,同时可观察到评估底板LED2进行闪烁。
https://file1.elecfans.com/web3/M00/3F/37/wKgZPGkpCjGAQqR_AAAYukK9Xvw679.png
图 74
如需取消程序开机自启动功能,请将开机自启动脚本文件删除即可。Target# rm /etc/init.d/S99led_control
https://file1.elecfans.com/web3/M00/3F/36/wKgZO2kpCj6ALzzxAAAG2L-Wrkg902.png
图 75
通过修改Linux系统镜像实现请将产品资料“4-软件资料\Demo\base-demos\led_flash\bin\”目录下的可执行文件拷贝至LinuxSDK源码的"device/output/anlogic_dr1m90/buildroot/target/root"目录下。执行如下命令,进入LinuxSDK目录下的rcS配置文件。Target# vim device/output/anlogic_dr1m90/buildroot/target/etc/init.d/rcS
https://file1.elecfans.com/web3/M00/3F/37/wKgZPGkpCkWAToOXAAA3WnAQvs4440.png
图 76
在rcS配置文件中添加如下内容。
/root/led_flash -n 1 &
https://file1.elecfans.com/web3/M00/3F/37/wKgZPGkpCkuAUHtoAACYGF5Bdtc630.png
图 77
修改完成后,保存并退出。请参考“编译LinuxSDK”章节重新编译LinuxSDK,rootfs.tar将会在LinuxSDK源码的"device/output/anlogic_dr1m90/buildroot/images/"目录下生成。请参考《Linux系统固化手册》解压制卡工具包,并将"mksdboot_AA_BB_CC_DD/filesystem/rootfs/rootfs.tar"替换成生成的rootfs.tar,最后参考《Linux系统固化手册》制作Linux系统启动卡或固化Linux系统至eMMC。将评估板断电重启,Linux系统将会自动运行程序,调试串口终端将打印如下类似信息,同时可观察到评估底板LED2进行闪烁。
https://file1.elecfans.com/web3/M00/3F/37/wKgZPGkpClSAJGeIAABGt4HPycU226.png
图 78
如需取消程序开机自启动功能,修改"/etc/init.d/"目录下的rcS配置文件,注释以上所添加的内容即可。Target# vi /etc/init.d/rcS
https://file1.elecfans.com/web3/M00/3F/37/wKgZPGkpCluAYkTpAAAnPCbVGrI213.png
图 79
页:
[1]