xilinx zynq7000 cpu linux c GPIO设置失败 请问怎么解决
守护000 2020-04-14 01:55:19 xilinx zynq是fpga cpu集成在一起的芯片, 我现在想用c语言写个点灯程序, 过程如下:
灯的gpio引脚:
emio的bank2模块的第一个引脚(三色灯中的一个灯),fpga已将gpio的控制权给了PS端
寄存器的设置:
按照芯片手册 我设置了DIRM_2 OEN_2 DATA_三个寄存器
程序流程:
open打开dev/mem/
mmap映射GPIO的基地址
*(immap + DIRM_2的地址偏移) |= 0x1; //bank2的第一个引脚置1 设置为输出功能
*(immap + OEN_2 的偏移地址) |= 0x1; //使能输出
*(immap + DATA_2 的偏移地址) |= 0x1;//向gpio写数
基本就这个流程, 以前单个cpu是这样设置寄存器的 但是cpu和fpga集成的不知道为啥不行, 已经按照芯片手册的步骤设置寄存器了 啊 ,可是灯还是点不亮,也灭不掉,请问这种全可编程的系统电灯还需要其他步骤吗:我PS无法点灯的原因是什么:请问怎么解决呢?