0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DR1M90 评估板 TD-FD 工程与 Linux 多场景应用开发指南

Tronlong创龙科技 来源:Tronlong创龙科技 作者:Tronlong创龙科技 2026-01-07 11:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前 言

本文为TD-FD工程开发的指引文档,提供工程编译、程序加载等开发流程说明。

开发环境

Windows开发环境:Windows10 64bit

开发工具:TD_5.9.1_DR1_2025.1_NL、FD_2025.1_SP1

术语表

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

wKgZPGld016AdoJzAAB9MoxVnag441.png

注意事项

(1)请先按照《开发环境搭建》文档安装TD、FD等软件以及进行JTAG驱动安装,使用下载器(厂家:安路科技,型号:AL-LINK-FT-V1.0)连接评估板JTAG接口至PC端USB接口。

(2)请先将评估板启动方式选择拨码开关设置为000(1~3),此档位为JTAG模式,再将评估板上电。

1TD工程的程序加载、创建与编译

1.1 程序加载

1.1.1通过下载器加载

本章节以产品资料“4-软件资料DemoFPGA-demosFPGA-HDL-demos”目录下的led_flash案例为例,演示通过下载器加载程序的操作方法。此案例的功能是控制评估底板PL端的LED3进行闪烁。

在此之前,请将对应案例目录拷贝至Windows非中文路径下并解压案例目录下的project.zip压缩包。

备注:Windows路径有长度限制,路径太长将会导致工程打开出错。

在TD软件菜单栏中依次点击"Tools -> Debug Server Setting"。

wKgZO2ld02aAdk7bAAFVw5Tx8sc638.png图 1

在弹出的对话框中,勾选"AL-LTHK-FT(Locsl Host)","Local Port"设置为5555,"JTAG CLK Freg"选择3MHz,"Cable Select 0"选择FT94VM980,点击"Apply and Close"。

wKgZPGld03OAN2AnAAAp1YukHRw221.png图 2

将评估板上电启动。在菜单栏中依次点击"Tools -> Download"。

wKgZO2ld03qAW4sjAAChlqFyQhk980.png图 3

在弹出的对话框中,软件会自动识别"0:DR1M90",若未自动识别可点击"Refresh"。然后点击"Add"添加镜像。

wKgZO2ld04GAKFrMAABGg_cEsR8935.png图 4

选择led_flash_dr1m90.bit镜像,然后点击“打开(O)”。

wKgZO2ld04iAbu-wAACJkACbaC8236.png图 5

添加镜像完成后,点击"Run"。

wKgZPGld05CAegK9AABJNhe3aDE916.png图 6

程序加载完成后,评估底板LED3将会进行闪烁。

wKgZPGld05iAf25pAABMClmAr9E800.png图 7

1.1.2通过PS端加载

本小节以产品资料“4-软件资料DemoFPGA-demosAll-Programmable-SoC-demos”目录下的axi_gpio_led案例为例,演示通过PS(Linux系统)加载PL工程的方法。

将dtbo动态设备树镜像文件和PL工程编译生成的.bit镜像文件拷贝至评估板文件系统的"/lib/firmware/"目录下(若该目录不存在,请新建)。其中.bit镜像文件位于“4-软件资料DemoFPGA-demosAll-Programmable-SoC-demosaxi_gpio_ledhwbin”目录下。将PL端可执行文件重命名为system_wrapper.bit,然后执行如下命令加载PL端镜像。

Target# mkdir -p /lib/firmware

Target# cp pl.dtbo /lib/firmware/

Target# cp axi_gpio_led_dr1m90.bit /lib/firmware/system_wrapper.bit

Target# mount -t configfs none /sys/kernel/config

Target# mkdir /sys/kernel/config/device-tree/overlays/full //创建full目录,可根据实际情况修改

Target# echo pl.dtbo > /sys/kernel/config/device-tree/overlays/full/path //dtbo文件名称请根据实际情况修改

wKgZO2ld06CAJcROAABJoyUJG7U839.png图 8

如需重新加载dtbo动态设备树镜像文件,请执行如下命令先删除full目录,再重新创建full目录加载dtbo。

Target# rmdir /sys/kernel/config/device-tree/overlays/full

Target# mkdir /sys/kernel/config/device-tree/overlays/full

Target# echo pl.dtbo > /sys/kernel/config/device-tree/overlays/full/path

wKgZPGld06eALsHpAAA_pK5_hOc053.png图 9

查看"/sys/class/gpio/"目录下生成的gpiochip322节点,地址为0x80100000,与axi_gpio_led案例给AXI GPIO IP分配的地址一致。

Target# ls /sys/class/gpio/gpiochip* -l

wKgZPGld06-AX7XzAABElDxFGYg068.png图 10

生成gpio322节点,配置gpio322为output。

Target# echo 322 > /sys/class/gpio/export

Target# echo out > /sys/class/gpio/gpio322/direction

wKgZO2ld07WAPiCwAAAKS_SDMnE428.png图 11

通过gpio322控制底板LED3亮灭。

Target# echo 1 > /sys/class/gpio/gpio322/value

Target# echo 0 > /sys/class/gpio/gpio322/value

wKgZO2ld076AF_enAAAJtTJderg593.png图 12

1.2 PL端动态设备树编译

本小节以产品资料“4-软件资料DemoFPGA-demosAll-Programmable-SoC-demos”目录下的axi_gpio_led案例为例,演示PL端功能相关的动态设备树的编译方法。

axi_gpio_led案例的动态设备树文件pl.dtsi位于“4-软件资料DemoFPGA-demosAll-Programmable-SoC-demosaxi_gpio_ledswlinux_systemsrc”目录下,其内容如下。

/dts-v1/;

/plugin/;

/ {

fragment@0 {

target-path = "/soc/base_fpga_region";

#address-cells = <0x2>;

#size-cells = <0x2>;

__overlay__ {

#address-cells = <0x2>;

#size-cells = <0x2>;

firmware-name = "system_wrapper.bit";

config-complete-timeout-us = <3000000000>;

};

};

fragment@1 {

target-path = "/soc";

__overlay__ {

#address-cells = <0x2>;

#size-cells = <0x2>;

axi_gpio0: gpio@80100000{

/* AXI_GPIO: AXI_GPIO_0 */

status = "okay";

reg = <0x0 0x80100000 0x0 0x1000>;

compatible = "anlogic,axi-gpio-1.00.a";

#gpio-cells = <2>;

#interrupt-cells = <0x2>;

gpio-controller;

anlogic,interrupt-present = <0x1>;

anlogic,all-inputs = <0x0>;

anlogic,all-outputs = <0x0>;

anlogic,dout-default = <0x00000000>;

anlogic,gpio-width = <0x1>;

anlogic,gpio2-width = <0x20>;

anlogic,tri-default = <0xFFFFFFFF>;

anlogic,is-dual = <0x0>;

};

};

};

};

请将其拷贝至Ubuntu工作目录,并在此目录执行如下命令,使用dtc工具编译动态设备树源文件。编译完成后,将在当前目录下生成dtbo动态设备树镜像文件。

Host# dtc -v

Host# dtc -q -@ -O dtb -o pl.dtbo pl.dtsi

wKgZPGld08yAMDWAAADeljtljng167.png图 13

1.3TD工程创建与编译

本章节主要演示TD工程创建与编译方法。如无需重新编译或创建工程,请忽略本章节内容。

1.3.1创建TD工程

打开TD软件,在菜单栏中依次点击"Project -> New Project..."。

wKgZPGld09WADuPgAABrC6y9A3w702.png图 14

在弹出的对话框中,根据实际情况设置Project Name(工程名)和Project Path(工程存放路径),"Device Family"选择"DR1","Device Name"选择"DR1M90GEG484","Device Speed"选择"-2",点击"OK"创建工程。

wKgZPGld0-aAOm1lAAAYQcfYpus216.png图 15

wKgZO2ld0-aAW_WxAABs1F1NDA0549.png图 16

在菜单栏中依次点击"Source -> New Source..."。

wKgZO2ld0_WAO2TTAAE_H9qYGK0536.png图 17

在弹出的对话框中,根据实际情况设置File Name(文件名)和Location(源码存放路径),"File Type"选择"Verilog",勾选"Add To Project",点击"OK"。

wKgZPGld0_-AdR1WAAAUh81ONlI405.png图 18

wKgZPGld0_-ARk57AACXZnIxTR4202.png图 19

打开"led_flash.v"文件,在代码编辑区编写代码并保存。

wKgZO2ld1DuARMyBAAFa5HcbTaU999.png图 20

鼠标右键点击"FLAG Flow"中的"Syn Opt -> Read Design",点击"Run"。

wKgZPGld1EKAdcn6AABED02hGeA969.png图 21

在弹窗中点击"OK"。

wKgZPGld1EiAEUrQAAAWh8ZTkwE187.png图 22

然后双击"FLAG Flow"中的"IO Constraint",打开管脚分配界面。

wKgZPGld1E-ADtJwAAIBu4-ZWdY948.png图 23

从底板原理图可知,LED3引脚为R15,电压1.8V,故设置"Location"为"R15","IOStandard"为"LVCMOS18",并点击保存。

wKgZO2ld1FmAL0EqAAATfuejvTs214.png图 24 用户指示灯原理图

wKgZPGld1FmAdbJ3AAD7VK432co803.png图 25

在弹窗选择约束文件类型,此处以选择"Single Line"为例,然后点击"OK"。

wKgZO2ld1GaAaEUGAAAPYsU13Tc544.png图 26

请自定义约束文件的路径和名称,然后点击“保存”。

wKgZPGld1G6AdeyWAACEy7YAY2U896.png图 27

在弹出的界面中点击"Yes",将约束文件添加到工程。

wKgZO2ld1HmAL6HdAAARvp2uL1k461.png图 28

至此,已完成约束文件配置,双击打开"led_flash.adc"文件,可看到约束文件内容。

wKgZPGld1ICAZiRMAACpcWQM2cI352.png图 29

1.3.2导入TD工程

打开TD软件,在菜单栏中依次点击"Project -> Open Project..."。

wKgZO2ld1IiAWx57AAAkz9NYsHY778.png图 30

选择需要导入的工程所在目录下的工程文件,点击“打开”。

wKgZPGld1JiAGrMeAACZRbSYxNk175.png图 31

在弹出的界面中点击"OK"。

wKgZO2ld1KGAYJCIAAAQ_feiOkk490.png图 32

即可完成导入。

wKgZO2ld1KiAAmYkAAA-FWADpm4215.png图 33

1.3.3编译TD工程

鼠标右键点击"FLAG Flow"中的"Phy Opt -> Generate Bitstream",点击"Run All"。

wKgZPGld1LCAX82uAABTtTiIMmc397.png图 34

编译完成后,在工程"xxx_Runsbest_result"目录下将会生成.bit镜像文件。

wKgZPGld1LmAfDygAABKJJrmTQM106.png图 35

wKgZPGld1NOAfKEMAAAhDRyAx1o295.png图 36

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!


审核编辑 黄宇

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

    关注

    88

    文章

    11810

    浏览量

    219513
  • 评估板
    +关注

    关注

    1

    文章

    1034

    浏览量

    31320
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    DR1 系列评估 eMMC 健康管理案例开发手册:信息查询与寿命监控

    本文为创龙科技DR1 系列评估 eMMC 健康管理案例指南,核心是通过 emmc_get_info 程序读取 eMMC 健康信息。内容涵盖 EXT_CSD 寄存器查询、擦写次数统计、
    的头像 发表于 01-22 15:24 381次阅读
    <b class='flag-5'>DR1</b> 系列<b class='flag-5'>评估</b><b class='flag-5'>板</b> eMMC 健康管理案例<b class='flag-5'>开发</b>手册:信息查询与寿命监控

    DR1 系列评估 PS 端裸机与 FreeRTOS 开发案例手册

    本文为创龙科技DR1 系列评估 PS 端裸机与 FreeRTOS 开发指南,涵盖三大核心案例与双开发模式实现。核心内容包括 LED 定时闪
    的头像 发表于 01-19 17:12 294次阅读
    <b class='flag-5'>DR1</b> 系列<b class='flag-5'>评估</b><b class='flag-5'>板</b> PS 端裸机与 FreeRTOS <b class='flag-5'>开发</b>案例手册

    DR1 评估 PL 端 FPGA 开发完全指南:基础案例与 ADC 采集模块详解(一)

    本文为创龙科技DR1 系列评估 PL 端 FPGA 开发案例指南,涵盖 led_flash、key_led 及三款 ADC 采集案例。核心
    的头像 发表于 01-08 15:46 379次阅读
    <b class='flag-5'>DR1</b> <b class='flag-5'>评估</b><b class='flag-5'>板</b> PL 端 FPGA <b class='flag-5'>开发</b>完全<b class='flag-5'>指南</b>:基础案例与 ADC 采集模块详解(一)

    DR1平台Linux应用开发指南:含GDB调试、Python及MQTT实战

    本文为创龙科技DR1 系列评估 Linux 应用开发手册,系统讲解开发环境搭建、GDB 调试、
    的头像 发表于 01-05 16:48 4796次阅读
    <b class='flag-5'>DR1</b>平台<b class='flag-5'>Linux</b>应用<b class='flag-5'>开发指南</b>:含GDB调试、Python及MQTT实战

    DR1M90 开源 IgH EtherCAT 主站案例:伺服电机正反转实时控制方案

    本文为创龙科技DR1M90 评估的 IgH EtherCAT 主站应用案例,基于 Linux-RT 内核与开源协议栈,实现伺服电机正反转实时控制。案例通讯周期
    的头像 发表于 01-04 15:40 3005次阅读
    <b class='flag-5'>DR1M90</b> 开源 IgH EtherCAT 主站案例:伺服电机正反转实时控制方案

    基于 DR1M90Linux-RT 内核开发:从编译配置到 GPIO / 按键应用实现(1

    本手册由创龙科技研发,针对 DR1M90,详述 Linux-RT 实时内核开发:含实时性测试(LinuxLinux-RT 对比、CPU
    的头像 发表于 12-02 10:38 1300次阅读
    基于 <b class='flag-5'>DR1M90</b> 的 <b class='flag-5'>Linux</b>-RT 内核<b class='flag-5'>开发</b>:从编译配置到 GPIO / 按键应用实现(<b class='flag-5'>1</b>)

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

    本手册由创龙科技研发,针对安路飞龙 DR1M90,详述 Linux 系统开发流程:LinuxSDK 配置编译、BOOT.bin(FSBL+U-Boot)开发、Kernel 与 Root
    的头像 发表于 11-30 15:46 2319次阅读
    基于安路<b class='flag-5'>DR1M90</b> FPSoC的<b class='flag-5'>Linux</b>系统全流程<b class='flag-5'>开发指南</b>(4)

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

    本手册由创龙科技研发,针对安路飞龙 DR1M90,详述 Linux 系统开发流程:LinuxSDK 配置编译、BOOT.bin(FSBL+U-Boot)开发、Kernel 与 Root
    的头像 发表于 11-26 17:01 437次阅读
    基于安路<b class='flag-5'>DR1M90</b> FPSoC 的<b class='flag-5'>Linux</b> 系统全流程<b class='flag-5'>开发指南</b>(3)

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

    本手册由创龙科技研发,针对安路飞龙 DR1M90,详述 Linux 系统开发流程:LinuxSDK 配置编译、BOOT.bin(FSBL+U-Boot)开发、Kernel 与 Root
    的头像 发表于 11-25 14:09 465次阅读
    基于安路<b class='flag-5'>DR1M90</b> FPSoC 的<b class='flag-5'>Linux</b> 系统全流程<b class='flag-5'>开发指南</b>(<b class='flag-5'>1</b>)

    一步步完成安路飞龙 DR1M90 Linux 系统固化:启动卡制作 + eMMC 固化

    本手册由创龙科技研发,针对安路飞龙 DR1M90,详述 Linux 系统启动卡制作(含工具包使用、PV 工具安装等)与 eMMC 固化步骤,说明启动卡和 eMMC 分区结构,提供 eMMC 剩余空间
    的头像 发表于 11-21 10:48 6187次阅读
    一步步完成安路飞龙 <b class='flag-5'>DR1M90</b> <b class='flag-5'>Linux</b> 系统固化:启动卡制作 + eMMC 固化

    安路DR1M90评估:从基础外设到通信模块测试指南

    本手册由创龙科技研发,针对安路飞龙 DR1M90 评估,详述 Linux 系统下功能测试流程。含系统启动验证,LED、按键、DDR 等基础外设测试,ETH、WiFi、4G、GPS 等
    的头像 发表于 11-20 15:26 1659次阅读
    安路<b class='flag-5'>DR1M90</b><b class='flag-5'>评估</b><b class='flag-5'>板</b>:从基础外设到通信模块测试<b class='flag-5'>指南</b>

    创龙科技DR1M90工业评估的关键优势

    安路科技生态合作伙伴创龙科技正式推出了基于安路科技产品DR1M90工业核心,共同助力国产FPGA技术的推广和创新应用。
    的头像 发表于 08-18 16:20 1673次阅读

    【米尔MYC-YM90X安路飞龙DR1开发板】HMI人机界面开发

    与 IP 配置 启动安路 TD 开发套件,新建 FPGA 工程,选择目标芯片型号(DR1M90GEG484)。 调用官方 IP 核:根据需求添加基础 IP(如时钟管理 PLL、复位控制
    发表于 08-14 21:26

    【米尔-安路MYD-YM90X 创意秀】点灯也是入门绝活

    )。 使用的软件是TD_5.9.1_DR1_2024.10版本(FPGA开发)和FD_2024.7(ARM SoC开发) 说明下安路的DR1
    发表于 08-10 22:10

    【米尔MYC-YM90X安路飞龙DR1开发板】安路科技 SALDRAGON开发板介绍

    基于SALDRAGON的核心开发板,加速客户产品化进程。例如,双方联合开发的电子后视镜方案已应用于商用车领域。 五、开发板介绍 米尔电子基于安路科技
    发表于 04-28 17:57