首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >基于安路DR1M90 FPSoC 的Linux 系统全流程开发指南(1)

基于安路DR1M90 FPSoC 的Linux 系统全流程开发指南(1)

原创
作者头像
创龙科技Tronlong
发布2025-11-25 14:19:34
发布2025-11-25 14:19:34
1190
举报

前 言

本文档由创龙科技研发,专为安路飞龙 DR1M90 FPSoC 产品打造,聚焦 Linux 系统全流程开发需求。

开发环境

Windows开发环境:Windows10 64bit

Linux开发环境:VMware16.2.5、Ubuntu22.04.4 64bit

LinuxSDK开发包:LinuxSDK-[版本号](基于SDK_2025.1)

交叉编译工具链:

应用开发:gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu

U-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配置核心板进行演示。

术语表

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

注意事项

(1)进行本文档操作前,请先按照《开发环境搭建》文档,安装VMware虚拟机与Ubuntu、LinuxSDK、SecureCRT串口调试终端、TD、FD等相关软件。

(2)Linux系统相关软件包位于产品资料“4-软件资料\Linux\”目录下,具体如下表。

备注:我司推荐使用最新版本的LinuxSDK,亦可根据“4-软件资料\Linux\LinuxSDK\LinuxSDK-feature-support.pdf”的变更说明,自行替换对应模块(如device/rockchip)至旧版本LinuxSDK进行更新。

LinuxSDK配置与编译

请先参考《开发环境搭建》文档正确安装LinuxSDK和依赖软件,再执行以下步骤。

配置编译选项

进入LinuxSDK源码目录,执行如下命令,查看build.sh功能。

Host# ./build.sh --help

图 1
图 1

执行如下命令,配置LinuxSDK编译选项。芯片型号选择"1.anlogic_dr1m90",评估板型号选择"18.tldr1-evm"。

Host# source ./envsetup.sh

Host# ./build.sh lunch

图 2
图 2
图 3
图 3

配置交叉编译工具链

进入LinuxSDK源码的toolchains目录下,运行setup.sh脚本安装交叉编译工具链。

Host# cd toolchains/

Host# chmod 777 setup.sh

Host# ./setup.sh

图 4
图 4
图 5
图 5

配置编译设备树文件

我司提供的设备树文件位于LinuxSDK源码"linux/arch/arm64/boot/dts/anlogic"目录,具体说明如下表。

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

LinuxSDK默认编译的设备树文件为tldr1-evm.dts,如需修改其他设备树,请参考如下步骤修改。

本次操作以修改为编译anlogic-dr1m90-ad101-v20.dts设备树进行演示,其他设备树修改方法同理。

进入LinuxSDK源码目录执行如下命令,修改"device/.BoardConfig.mk"文件。

Host# vim device/.BoardConfig.mk

图 6
图 6

修改内容如下:

export ANLOGIC_KERNEL_DTS=anlogic-dr1m90-ad101-v20.dts //将"tldr1-evm.dts"修改为"anlogic-dr1m90-ad101-v20.dts"

export ANLOGIC_KERNEL_DTB=device/output/anlogic_dr1m90/linux/arch/arm64/boot/dts/anlogic-dr1m90-ad101-v20.dtb //将"tldr1-evm.dtb"修改为"anlogic-dr1m90-ad101-v20.dtb"

图 7
图 7

配置内核选项

我司默认配置的是Linux内核(推荐使用)。如需修改内核编译选项配置,请继续执行"./build.sh kernelmenuconfig"命令打开图形配置界面。如无需修改内核编译选项配置,可跳过此步骤。

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

Host# sudo apt-get install libncurses-dev

图 8
图 8

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

Host# cd /home/tronlong/DR1/SDK_2025.1/

Host# ./build.sh kernelmenuconfig

图 9
图 9
图 10
图 10

可通过键盘的方向键选中对应菜单栏。在<Select>被选中的情况下,可按Enter键进入子菜单。菜单选项中蓝色高亮的字母代表此菜单选项的快捷键,可在键盘上按下对应的字母快速选中对应的菜单选项。

每个菜单选项前的括号内容表示当前菜单选项的配置状态。选中对应的菜单选项后,按下Y键,会将相应的选项配置编译到内核中,同时菜单选项前面变为< * >。按下N键,不会将相应的选项配置编译到内核中。按下M键,会将相应的选项配置编译为内核模块,菜单选项前面变为< M >。如需搜索,可按下/键打开搜索框,然后输入要搜索的内容。

图 11
图 11

配置完毕后,选中<Save>,按Enter键保存配置选项。然后选中<Exit>,按Enter键退出。

图 12
图 12

配置Buildroot

如需修改Buildroot配置,请执行如下命令打开Buildroot配置界面。若无需修改Buildroot配置,可跳过此步骤。

Host# cd /home/tronlong/DR1/SDK_2025.1/

Host# ./build.sh buildrootmenuconfig

图 13
图 13
图 14
图 14

可通过键盘的方向键选中对应菜单栏。在<Select>被选中的情况下,可按Enter键进入子菜单。菜单选项中蓝色高亮的字母代表此菜单选项的快捷键,可在键盘上按下对应的字母快速选中对应的菜单选项。

每个菜单选项前的括号内容表示当前菜单选项的配置状态。选中对应的菜单选项后,按下Y键,会将相应的选项配置编译到Buildroot中,同时菜单选项前面变为< * >。按下N键,不会将相应的选项配置编译到Buildroot中。如需搜索,可按下/键打开搜索框,然后输入要搜索的内容。

配置完毕后,选中<Save>,按Enter键保存配置选项。然后选中<Exit>,按Enter键退出。

编译LinuxSDK

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

Host# ./build.sh all

图 15
图 15

预计耗时约2小时后编译完成,最终在LinuxSDK源码"device/output/anlogic_dr1m90"目录下生成U-Boot、Kernel、Buildroot等镜像如下所示。

图 16
图 16

系统组件镜像说明

备注:u-boot.bin需与fsbl.elf文件合成BOOT.bin使用。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前 言
    • 开发环境
    • 术语表
    • 注意事项
  • LinuxSDK配置与编译
    • 配置编译选项
    • 配置交叉编译工具链
    • 配置编译设备树文件
    • 配置内核选项
    • 配置Buildroot
    • 编译LinuxSDK
    • 系统组件镜像说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档