欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    Kevin学ZED之(5):顺藤摸瓜.doc

    • 资源ID:3253446       资源大小:17KB        全文页数:3页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Kevin学ZED之(5):顺藤摸瓜.doc

    Kevin学ZED之(5):顺藤摸瓜当你可以修改点亮LED灯那个实验led_test.sh, 改变LED点灯的速度,以及顺序时, 一定想知道究竟发生了什么, 凭什么一个简单的脚本, 就在Linux的用户层控制板子上的某一个硬件,比如说,灯。对于习惯了在单片机环境下无操作系统裸奔C/汇编的兄弟来说, 上面的问题似乎有些多余. 直接对某个地址进行读写操作, 这个地址经过译码,对应的管脚,连到板子上LED,不就可以控制LED了吗。这就说来话长了简言之,Linux 为了给每个进程一个独立的地址空间,特意划分了用户空间和内核空间。内核空间可以对物理地址操作,用户空间只是虚地址。而内核与用户空间程序接口,采用特殊文件系统。也就是看上去像文件,其实连接到系统和设备的系统。比较老的有devfs文件系统位于设备驱动/dev,或者procfs位于/proc。当然,还有比较新的sysfs文件系统。Led_test.sh, 采用的就是sysfs文件系统。这个文件系统的特点吧,主要是可以一层一层垒硬件的驱动,比如先总线驱动,再某个USB驱动,在USB挂载的设备的驱动。这比/dev一个设备驱动包括所有相关设备层次清晰很多。在linux内核2.6以后才有的。对sysfs先来点感性认识,在ZED任何一个终端窗口输入sudo echo 61 /sys/class/gpio/exportsudo echo out /sys/class/gpio/gpio61/direcTIonsudo echo 1 /sys/class/gpio/gpio61/valuesudo echo 0 /sys/class/gpio/gpio61/value你可以手工点亮或灭掉LD0那盏灯输入命令的时候, 到底发生了什么, 信号是怎么传递的呢 ? 先大致了解一下,具体细节在书的后续章节还会详细说明第一步,设备驱动控制GPIO的寄存器. 这就需要交给Linux 设备驱动来完成了。相关的介绍请参考书本在13.2节找到 .第二步,那么GPIO的寄存器地址是多少,有如何控制呢? 我们可以在Xilinx ug585 找到第三步,GPIO是如何在PL那边,也就是FPGA连接到芯片的管脚上的呢?需要参考这个设计的硬件部分zedboard上的linaro-ubuntu demo所使用的硬件工程。其中对于zedboard的system.ucf中我们可以找到如下约束比如,LD0那盏灯,是PS侧的processing_system7_0_GPIO7通过PL测,连到管脚T22上的。# # On-board LEDs # #net processing_system7_0_GPIO7 LOC = T22 | IOSTANDARD = LVCMOS33; # LD0net processing_system7_0_GPIO8 LOC = T21 | IOSTANDARD = LVCMOS33; # LD1net processing_system7_0_GPIO9 LOC = U22 | IOSTANDARD = LVCMOS33; # LD2net processing_system7_0_GPIO10 LOC = U21 | IOSTANDARD = LVCMOS33; # LD3net processing_system7_0_GPIO11 LOC = V22 | IOSTANDARD = LVCMOS33; # LD4net processing_system7_0_GPIO12 LOC = W22 | IOSTANDARD = LVCMOS33; # LD5net processing_system7_0_GPIO13 LOC = U19 | IOSTANDARD = LVCMOS33; # LD6net processing_system7_0_GPIO14 LOC = U14 | IOSTANDARD = LVCMOS33; # LD第四步,T22那个管脚是如何连到真正的灯上的,需要参考ZED板的文档:2.7.3 User LEDsThe ZedBoard has eight user LEDs, LD0 LD7. A logic high from the Zynq-7000 AP SoC I/O causes the LED to turn on. LEDs are sourced from 3.3V banks through 390 resistors.Signal Name SubsecTIon Zynq pinLD0 PL T22LD1 PL T21LD2 PL U22LD3 PL U21LD4 PL V22LD5 PL W22LD6 PL U19LD7 PL U14LD9 PS D5 (MIO7)我们可以看到LD0-LD7 都是PL部分的,也就是说这些都是EMIO,从PL的管脚连出。那么,EMIO是如何在设计中定义了processing_system7_0_GPIO这个端口呢?需要看xps2.我们可以在ports tag中找到这个标签。3.同时system.mhs中就会自动出现这个定义这样,从操作系统的脚本一直到点亮LED,我们顺藤摸瓜,找到了软件侧,PS侧,可扩展IO侧,PL侧所有相关文档和信号,完成了最简单的一个穿越软件,硬件,I/O, 板卡的All Programmable 之旅。

    注意事项

    本文(Kevin学ZED之(5):顺藤摸瓜.doc)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开