Zynq笔记(二)

您所在的位置:网站首页 基于arm系统的linux开发步骤 Zynq笔记(二)

Zynq笔记(二)

2023-09-13 21:35| 来源: 网络整理| 查看: 265

文章目录 前言1 基于ARM的裸机程序设计与开发1.1 用Vivado创建工程1.2 Zynq IP核的设置 2 用SDK创建和编写裸机应用程序创建应用工程编写C代码 3 zynq SOC开发的总结(PL+PS)

前言

在Zynq笔记(一)中,我们已经了解了PL端的设计流程,且最终生成了比特流文件,并进行了上板验证与调试。

接下来就用一个简单的例子来介绍PS端的设计流程。(使用GPIO来点亮LED)

PS端的设计主要包括两个部分:

基于ARM的裸机程序设计与开发 用SDK创建和编写裸机应用程序 1 基于ARM的裸机程序设计与开发 1.1 用Vivado创建工程 和普通的工程创建相同,这里的重点在于PS端设计开发,因此主要进行器件的选择,不进行v文件的编写,创建完成后即可。 在这里插入图片描述 1.2 Zynq IP核的设置

首先用IP 集成环境来进行块设计 在这里插入图片描述

为设计设置名称——ok——自动跳转生成界面 在这里插入图片描述

点击界面加号即可跳转到搜索框,我们就可以在里面输入Zynq,即可添加该IP核 在这里插入图片描述 在这里插入图片描述

双击添加之后的IP核,就能看到Zynq的接口界面,从而能对齐进行参数的设置 在这里插入图片描述 在这里插入图片描述

由于我们采用GPIO点亮LED,因此我们需要进行IO的配置。

点击接口界面中的ENET1,并下滑找到GPIO,进行相应的勾选 在这里插入图片描述 在这里插入图片描述

进行DDR的参数配置(主要进行型号的选择,根据开发板上DDR的型号来找) 在这里插入图片描述

目前所需要的配置已经完成,点击run Block,ok后相应的IO被导出 在这里插入图片描述 在这里插入图片描述

因为我们这里没有用到时钟引脚,如果直接生成配置文件会出错,因此可以直接进行如下的连线,或者将时钟接口取消掉 在这里插入图片描述 在这里插入图片描述 修改完成后进行校验,成功即可。 在这里插入图片描述

块创建完成后,都是以符号的形式呈现的,因此我们将其生成输出的配置文件 在这里插入图片描述

创建HDL Wrapper,且能在资源处看到创建好的wrapper文件,因此配置文件也ok了 在这里插入图片描述 在这里插入图片描述

比特流文件的生成(等待)在这里插入图片描述

将我们创建的PS系统导出(秒完)【这里导出的时候包含我们的比特流文件】 在这里插入图片描述 在这里插入图片描述 以上就是创建包含zynq PS硬核的系统 的流程,接下来我们就可以进行C程序的编写来实现控制。

2 用SDK创建和编写裸机应用程序

打开Launch SDK 在这里插入图片描述

ok后,软件就会自动打开elipse,出现如下界面,我们可以看到自动生成了system_wrapper_hw_platform_0 在这里插入图片描述

创建应用工程

在这里插入图片描述

命名和之前工程名称相同即可,Next,后空工程创建完成 在这里插入图片描述 在这里插入图片描述 能看到 除了空工程,也可建立hello word 等

创建source file(创建c文件),注意加 .c —— finish

在这里插入图片描述 在这里插入图片描述

编写C代码 #include "xparameters.h" #include "xil_io.h" #include "xgpiops.h" #include "sleep.h" int main (void) { u32 reg_val = 0; u32 Data = 0; //设置IO方向,bit7的方向为输出 reg_val = Xil_In32(XPAR_PS7_GPIO_0_BASEADDR + XGPIOPS_DIRM_OFFSET); Data = reg_val | (1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3