Vivado中进行ZYNQ硬件部分设计方案

网友投稿 377 2022-11-21

Vivado中进行ZYNQ硬件部分设计方案

Vivado中进行ZYNQ硬件部分设计 Step1: Viavdo中选择XC7Z010-1CLG400器件,建立工程。 Step2: 建立Block Design。

Step6: 在“Address Editor”中查看、修改外设在总线上的地址。

Step8: 对于PL端的外接引脚,需要设置相应的Constraints。

Step11: 从这一步开始,开发平台转移到SDK平台。此时硬件平台已经确定,接下来是软件的开发。首先在SDK中建立软件工程。

Step14: 运行软件工程进行调试。

在ZYBO板上也能看到LED灯闪烁,至此完成了ZYNQ的一个基本设计的所有开发流程。DK中进行ZYNQ软件部分设计 首先对“Vivado中进行ZYNQ硬件部分设计”中让LED闪烁的C代码做详细的注释。 int main() { /*定义外设对于的类型指针,用于绑定外设,便于后面程序调用时选择 * 外设 */ XGpio output; int Status; /* XGpio_Initialize()函数是xgpio.c中的函数,在BSP Documentation可以 * 查到该函数的描述。 * int XGpio_Initialize(XGpio * InstancePtr, u16 DeviceId) * InstancePtr为GPIO类型的指针 * DeviceId是在板级配置中已经定义好的外设的ID,该定义包含在BSP的xparameters.h中 * 即在xparameters.h已经为该硬件设计中的每一种类型的多个外设设置了唯一的ID * 例如设计中如果有2个GPIO外设,则ID分别为0和1. * 该语句完成之后将ID对应的外设对象与该指针进行了绑定,后面可以通过调用该指针指 * 定到该外设 */ Status = XGpio_Initialize(&output, XPAR_GPIO_0_DEVICE_ID); if (Status != XST_SUCCESS) { return XST_FAILURE; } /* void XGpio_SetDataDirection (XGpio * InstancePtr, * unsigned Channel,u32 DirectionMask ) * InstancePtr:外设指针,用于指定到对应的外设设备,已经与外设绑定 * Channel: 每个AXI_GPIO中可以有两个32bit的GPIO端口,该参数用来 * 选择是该外设中的哪一个端口 * DirectionMask:选择GPIO的方向,0为output,1为input * 该函数的作用是设置GPIO的方向,如前所述,可以通过output指定到 * 该GPIO外设, */ XGpio_SetDataDirection(&output, 1, 0x0); //初始化ARM内核 init_platform(); while(1){ usleep(200000); //delay XGpio_DiscreteWrite(&output, 1, 0x0); usleep(200000); //delay XGpio_DiscreteWrite(&output, 1, 0xF); }; cleanup_platform(); return 0; } 以上调用的这些函数,其定义及使用方法全部可以在BSP(Board Support Package)板级支持包中找到。当在Vivado平台中设计完成硬件,将其导入到SDK平台时,工具会根据硬件设计中使用到的外设,自动生成相应的板级支持包。在SDK的“Project Explorer”界面中可以查看,并且可以在其中打开相应的BSP说明文档,如图 18所示。

但是虽然BSP中提供了所有相关的API函数,但是对于初学者来说,想搭建一个可以实现基本功能的平台还是有些困难。于是另一个方法是利用SDK生成新的Application时提供的Peripheral Test模板。

该模板生成的代码中,在主函数中找到相应外设的测试函数,例如本例中GPIO的测试函数“GpioOutputExample()”,再通过追述该函数的具体实现,可以一定程度上作为最基本的范例代码。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:#yyds干货盘点# 大数据技术栈之Hadoop-HDFS
下一篇:Java并发编程系列之LockSupport的用法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~