首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Zynq PS/PL第三篇 ——Adam Taylor 有关MicroZed之23

Zynq PS/PL第三篇 ——Adam Taylor 有关MicroZed之23

作者:Steve Leibson, 赛灵思战略营销与业务规划总监
在以前的博客中,我们使用Vivado创建AXI4外设,并生成位流文件。创建该设计的硬件组件后,我们需要将它导出至SDK设计,以便我们编写软件来驱动这个设计。
第一步是在Vivado内打开目前的操作,将硬件导出到SDK。(如果试图导出硬件时SDK已经在运行,就会出现一个警告)。如果你没有将硬件导出至SDK ,下一次打开SDK时,需要更新硬件定义和主板支持包(BSP),否则将无法使用。
另外,也有必要更新设计中定义的信息库,包括更新外围设备的IP信息库。因此,应选择Xilinx“ tools ”选项,然后点击“ repositories”,添加“New” 库(本地或全局)。在这里,我选择“本地”。


在Vivado创建的外围设备目录中选择“add”,重新查看库。现在我们可以重新生成项目重建BSP中需要的文件以支持软件开发。
重新构建完成后,打开xparameters.h文件(属BSP内预处理文件)查看为AXI4新外设确立的地址空间:


下一步是打开System.MSS文件并自定义BSP来使用创建外设时生成的驱动程序,而不是运行通用驱动程序。


重新生成项目,确保将驱动程序文件加载到BSP 。这一步很重要,原因在于这些文件中包括一个简单的自我测试程序,可以用来在使用BSP进行高级操作前来测试该软件与外设的连接是否正确。自我测试程序的运行也表明我们已经正确地实例化Vivado硬件。


打开BSP目录后,再打开libsrc目录,出现新AXI4外设的一些文件。正如我们在此前博客中说明的,利用这些文件可在操作本地外围设备如XADC和GPIO时读写外围设备。
在这个简单的例子中,文件adams_perihperal.h包含三个函数,可用来驱动新外设。
ADAMS_PERIHPERAL_mReadReg(BaseAddress, RegOffset)
ADAMS_PERIHPERAL_mWriteReg(BaseAddress, RegOffset, Data)
XStatus ADAMS_PERIHPERAL_Reg_SelfTest(void * baseaddr_p);
与自检函数不同的是,读写函数被映射到通用函数Xil_In32和Xil_Out32,两个通用函数在Xil_io.h.文件中进行了定义。但使用已创建函数启用更多可读代码就像外设编址一样清晰。
在这个实例中,外设内只有四个寄存器,所以只需自测函数写入和读取所有寄存器并报告通过或失败。这个测试表明硬件环境和软件环境正确,因此我们有信心开发在外围模块中定义的更高级功能。


接下来的博客当中,我们将学习如何使用VHDL代码在外设添加功能以便从处理系统中卸载函数并提高系统性能。
这里也可以看看亚当泰勒玩转MicroZed系列其他文章

Adam Taylor玩转MicroZed连载22:详解Zynq 的PS/PL(第二部分)
Adam Taylor玩转MicroZed连载21:详解Zynq 的PS/PL(第一部分)

亚当泰勒玩转MicroZed连载20:Zynq三重定时器/计数器介绍之第四部分)

亚当泰勒玩转MicroZed连载19:Zynq三重定时器/计数器介绍之第三部分)
亚当泰勒玩转MicroZed连载18:Zynq三重定时器/计数器介绍之第二部分)
亚当泰勒玩转MicroZed连载17:Zynq三重定时器/计数器介绍之第一部分)
亚当泰勒玩转MicroZed连载16:Zynq SoC专用看门狗
亚当泰勒玩转MicroZed连载15:实现Zynq SoC专用定时器
亚当泰勒玩转MicroZed连载14:MicroZed定时器、时钟和看门狗
亚当泰勒玩转MicroZed连载13:再谈MicroZed中断
亚当泰勒玩转MicroZed连载12:MicroZed中断
亚当泰勒玩转MicroZed连载11:使用MicroZed按键实现输入
亚当泰勒玩转MicroZed连载10:驱动Zynq SoC GPIO
亚当泰勒玩转MicroZed连载9:遇见Zynq MIO
亚当泰勒玩转MicroZed连载8: MicroZed XADC软件
亚当泰勒玩转MicroZed连载7: 让MicroZed跑起XADC
亚当泰勒玩转MicroZed连载6: MicroZed引导加载器
亚当泰勒玩转MicroZed连载5:  玩转引导加载器
亚当泰勒玩转MicroZed连载4: 在MicroZed上跑你的程序
亚当泰勒玩转MicroZed连载3: 让Zynq和MicroZed说“hello world”
亚当泰勒玩转MicroZed连载2: 设置软件场景
用Vivado工具开发安富利MicroZed应用

原文链接:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/The-Zynq-PS-PL-Part-Three-A...

© Copyright 2014 Xilinx Inc.
如需转载,请注明出处
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表