DR1 系列核心板 PS+PL 异构多核实战案例手册(一)

前 言

本文为PS + PL端异构多核案例开发的指引文档,主要对PS + PL端开发案例进行简要介绍。

开发环境

Windows开发环境:Windows10 64bit

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

术语表

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

wKgZPGlnQ-yAPEbkAABxy8uUGbM457.png

注意事项

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

(2)在进行本文操作前,请先参考《TD-FD工程编译与加载》,熟悉工程编译、镜像加载等方法。

(3)案例于产品资料“4-软件资料

DemoFPGA-demosAll-Programmable-SoC-demos”目录下。案例目录详细说明见下表:

(4)查看案例的Design工程以及约束文件的方法如下,以axi_gpio_led案例进行演示:

可在TD工程中双击"axi_gpio_led_bd"打开Design Integrator界面。

wKgZPGlnRy2ASC7NAAFPz3Heng8319.png图 1

图 2

双击"axi_gpio_led_demo.adc"打开.adc约束文件。

wKgZO2lnR3WAbqTYAAFZVeyhvqA735.png图 3

1axi_gpio_led案例

案例功能:PS端通过AXI4-Lite总线发送命令至PL端AXI GPIO IP核,IP核再根据命令控制评估底板PL端LED3的状态。

wKgZO2lfY1aANweoAACKyVAmmp8748.png图 4

工程管脚约束可查看工程文件"constrains"目录下的.adc约束文件。

1.1 TD工程说明

工程在PL端上使用AXI GPIO IP核,ARM Processor System IP核(PS端)通过AXI4-Lite总线可以控制底板的LED亮灭,Design Integrator工程和地址分配如下:

wKgZPGlnR4WAAX66AAC1NZ4WBtY731.png图 5

wKgZO2lnR4WAUaz3AAEQa873FxY512.png图 6

1.2 IP核简介

IP核开发相关资料可查阅产品资料“6-开发参考资料Anlogic官方参考文档”目录下文档,IP核配置参数如下。

(1)ARM Processor System

ARM Processor System IP核心配置和FSBL工程一致,详细配置可参考位于产品资料“4-软件资料LinuxFSBLfsbl-[版本号]”目录下的FSBL工程。

(2)AXI GPIO

wKgZO2lnR5aAHnTYAABdYzkQsgA401.png图 7

(3)AXIProtocolConverter

wKgZO2lnR56Aboa3AABluPxwyw0111.png图 8

(4)AXIMatrix

wKgZPGlnR6eAGDSCAAB5XSLasFQ610.png图 9

wKgZO2lnR6eAOYmNAACQOGqIubo426.png图 10

1.3 案例测试

将本案例的动态设备树镜像文件pl.dtbo和PL端.bit镜像文件拷贝至"/lib/firmware/"目录下(若该目录不存在,请新建),并将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图 11

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

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

wKgZO2lnR76ARBG7AABNMaNCWcA928.png图 12

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

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

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

wKgZO2ld07WAPiCwAAAKS_SDMnE428.png图 13

通过gpio322控制评估底板LED3亮灭。

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

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

wKgZO2ld076AF_enAAAJtTJderg593.png图 14

审核编辑 黄宇

Gravatar

About 奥洁自由人

作者文章