【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 企业专区 » Xilinx » zedboard上按键与sd卡数据交互

共3条 1/1 1 跳转至

zedboard上按键与sd卡数据交互

菜鸟
2014-07-23 09:41:17    评分
功能需求:zedboard上跑linux系统,当有按键按下时,往sd卡的文件中写数据。

思路:vivado中添加一个gpio的IP,约束zedboard板上的5个按键,生成bit文件,整合到BOOT.BIN中(fsbl.elf+.bit+u-boot.elf),采用sd卡启动linux系统;vivado硬件导入sdk,创建linux工程文件,写程序实现按键动作,然后往sd卡写数据。

问题:1)这个思路是否正确?
         2)sdk创建linux工程,没有对应的BSP板级开发包,无法调用库函数对gpio管脚进行初始化,使能等,按键也就不会有终端信号产生,如何解决按键产生信号?

         3)linux编程,怎样实现代码和按键的相互关联?(AVNET提供的一个例程是使用mmap()函数实现内存共享,但是例程好像有问题,最终结果没有调出来)。


第一次做基于linux的sdk工程,很多东西都不懂,请各位朋友指点一二,不胜感激!



关键词: zedboard      linux     FPGA    

菜鸟
2014-07-23 14:35:15    评分
2楼

fpga部分的设计细节不了解。linux部分就是一个按键驱动的问题。

如果是用mmap。我想可能是这样的。

使用mmap,只需要用户态开发,不需要写驱动。

fpga里的工作是把按键的状态写到一个固定的物理地址中。

linux中用mmap映射/dev/mem文件。然后就可以访问这个物理地址了。



菜鸟
2014-07-31 11:23:25    评分
3楼

CTT5.4的例程,FPGA设计硬件,添加3个GPIO IP核,分别对应8个开关、8个LED、5个按键;将生成的bit流文件整合到BOOT.BIN中(fsbl.elf + .bit + u-boot.elf),添加zImage、devicetree.dtb ramdisk.image.gz到SD卡,上电启动系统跑起来,sdk下调试应用程序,最后在linux终端执行./leds.elf,代码运行成功,8个开关分别控制8个LED,按键控制LED亮灭。


个人的功能验证:硬件只需添加一个gpio,约束5个按键,sdk应用程序代码有问题,目前还没成功运行,不过思路是ok的。


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]