在uboot中采用多种方法无法操作GPIO1_30
在uboot中添加源码如下:
- u32 __iomem *pGPDIR = (u32 *)GPIO1_BASE_ADDR;
- u32 __iomem *pGPODR = (u32 *)(GPIO1_BASE_ADDR+4);
- u32 __iomem *pGPDAT = (u32 *)(GPIO1_BASE_ADDR+8);
- setbits_le32(pGPDIR,(1<<30));
- clrbits_le32(pGPODR,(1<<30));
- clrbits_le32(pGPDAT,(1<<30));
复制代码 编译烧写之后,进入uboot,使用printf打印相应寄存器的值,确认值是写进寄存器了的,但是GPIO1_30输出的一直是1.6V。
进入uboot命令交互之后,使用md.l 2300000 查看相应寄存器的值,再次确认值是写进寄存器了的。同时使用mw.l命令写GPIODAT寄存器,IO输出一直是1.6V。
确定RCW是配置成功了的,因为进入内核后,能够通过echo 1 >/sys/class/gpio510/value 操作gpio。
|