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

电子说

1.4w人已加入

描述

前  言

本文档由创龙科技研发,专为安路飞龙 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配置核心板进行演示。

术语表

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

L

注意事项

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

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

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

L

LinuxSDK配置与编译

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

配置编译选项

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

Host# ./build.sh --help

L图 1

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

Host# source ./envsetup.sh

Host# ./build.sh lunch

L图 2

L图 3

配置交叉编译工具链

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

Host# cd toolchains/

Host# chmod 777 setup.sh

Host# ./setup.sh

L图 4

L图 5

配置编译设备树文件

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

L

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

L

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

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

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

Host# vim device/.BoardConfig.mk

L图 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"

L图 7

配置内核选项

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

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

Host# sudo apt-get install libncurses-dev

L图 8

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

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

Host# ./build.sh kernelmenuconfig

L图 9

L图 10

可通过键盘的方向键选中对应菜单栏。在被选中的情况下,可按Enter键进入子菜单。菜单选项中蓝色高亮的字母代表此菜单选项的快捷键,可在键盘上按下对应的字母快速选中对应的菜单选项。每个菜单选项前的括号内容表示当前菜单选项的配置状态。选中对应的菜单选项后,按下Y键,会将相应的选项配置编译到内核中,同时菜单选项前面变为< * >。按下N键,不会将相应的选项配置编译到内核中。按下M键,会将相应的选项配置编译为内核模块,菜单选项前面变为< M >。如需搜索,可按下/键打开搜索框,然后输入要搜索的内容。 图 11 配置完毕后,选中,按Enter键保存配置选项。然后选中,按Enter键退出。 图 12 配置Buildroot如需修改Buildroot配置,请执行如下命令打开Buildroot配置界面。若无需修改Buildroot配置,可跳过此步骤。Host# cd /home/tronlong/DR1/SDK_2025.1/Host# ./build.sh buildrootmenuconfig 图 13图 14 可通过键盘的方向键选中对应菜单栏。在被选中的情况下,可按Enter键进入子菜单。菜单选项中蓝色高亮的字母代表此菜单选项的快捷键,可在键盘上按下对应的字母快速选中对应的菜单选项。

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

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

编译LinuxSDK

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

Host# ./build.sh all

L图 15

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

L图 16

系统组件镜像说明

L

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

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • L

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分