FPGA实践教程(四)片上ARM运行程序

本文介绍如何在服务器上编译适用于Xilinx Zynq FPGA片上ARM的程序,并详细说明了如何将这些程序导出并在FPGA的单片机中运行的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文档系列是我在实践将神经网络实现到Xilinx 的zynq的FPGA上遇到的问题和解决方法。

背景:我们用vivado HLS对相关软件生成了相应的IP core,并且对相应的IP core进行系统集成,验证并生成了比特流,并且将其烧录到板子上。

目的:FPGA的运行需要片上ARM的控制,所以需要针对片上ARM编写的源码并且需要片上ARM执行源码。本部分介绍如何用服务器编译源码以及如何用FPGA的片上ARM执行编译好的程序。

目录

1.用服务器编译程序

1.1背景知识

1.1.1 cd与mkdir指令

1.1.2.显示相应挂载信息

1.2 进入相应的目录

1.3 进行相应的环境设定

1.4 编译程序

1.5 file指令对相应的文件进行检查

1.6 编译好的文件拷入u盘,插到FPGA板子上

2.导出程序到单片机运行

2.1输入df -h查看相应挂载信息

2.2创建目录用于挂载

2.3把相应的usb挂载到目录上

2.4打开挂载的目录并运行程序

2.5程序拷入sd卡

2.6./程序就能直接运行


编译过程:cd到目录——source env——gcc编译

程序运行过程:mkdir挂载目录——mount挂载u盘——cp把程序拷入常用目录——./运行程序

1.用服务器编译程序

为了更快编译,我们用服务器编译相应的单片机程序。

1.1背景知识

1.1.1 cd与mkdir指令

我们用linux在服务器上进行相应的编译,注意cd与cd /的区别,若想看到根目录下的文件可以用ls /

mkdir -p:创建目录

1.1.2.显示相应挂载信息

df:disk info;-h: human readable. 

df -h:用kb以上单位显示,可读性高

df -a:显示所有文件系统

1.2 进入相应的目录

/lenz/luoqr/yolo/test

1.3 进行相应的环境设定

source setup_env.sh

1.4 编译程序

gcc -o 编译生成特定的输出文件 gcc -o <目标文件> <源文件>

1.5 file指令对相应的文件进行检查

1.6 编译好的文件拷入u盘,插到FPGA板子上

相应的linux指令
cd /lenz/luoqr/yolo/test
source setup_env.sh
arm-xilinx-gnueabi-gcc -o dmabench dmabench.c
file dmabench 

2.导出程序到单片机运行

这一步我们要让FPGA的片上单片机找到u盘里面的可执行程序并且可以运行程序

2.1输入df -h查看相应挂载信息

我们程序在u盘里面,所以需要创建一个挂载,让系统能读取u盘里面的东西。

2.2创建目录用于挂载

mkdir -p /temp/usb

2.3把相应的usb挂载到目录上

然后打开挂在目录就是u盘里面的内容。注意这里u盘必须是fat32格式不是ntfs格式,不然系统不会读。然后我们就能打开相应的目录运行相应的程序。

2.4打开挂载的目录并运行程序

到此,我们可以将相应的程序在服务器上进行编译从而导入FPGA上的单片机并且运行。

2.5程序拷入sd卡

这样就每次开关机不用每次都挂载u盘,并且直接打开相关的目录就能运行程序  cp /u/<program> /mnt/mmcblk1p1

或者cp -i(或者-f) 源文件 目标文件,-i是交互式拷贝,是否替换位置,-f为直接替换,不提示。

2.6./程序就能直接运行

相应的linux指令
mkdir  /u
mount  /dev/sda1  /u
cd  /u
cp  /u/<program>  /mnt/mmcblk1p1
cd /mnt/mmcblk1p1

相关内容:

实践教程(一)用HLS生成IPcore

实践教程(二)连接片上ARM

实践教程(三)系统搭建与烧录

实践教程(四)片上ARM运行程序

实践教程(五)PS用MIG调用DDR

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祥瑞Coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值