首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» Zynq PS/PL第三篇 ——Adam Taylor 有关MicroZed之23
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
Zynq PS/PL第三篇 ——Adam Taylor 有关MicroZed之23
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2015-3-29 16:29
|
只看该作者
Zynq PS/PL第三篇 ——Adam Taylor 有关MicroZed之23
Taylor
作者: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.
如需转载,请注明出处
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议