美文网首页
IMX6Q-GPIO修改功能

IMX6Q-GPIO修改功能

作者: Lazy_Caaat | 来源:发表于2018-10-06 15:47 被阅读0次
    电路图

    如图,我们要设置GPIO4_5为普通的GPIO口,用来控制设备的复位功能。
    首先确认一下pad_name,这里有两个名字GPIO4_5和GPIO19,哪个是padname呢,分别复制这两个关键字在文档里查找


    文档名称 查找结果
    很明显,GPIO19是pad_name,为什么要确定pad_name呢,因为要修改或者配置复用关系,需要通过pad_name找到相关寄存器
    怎么找寄存器参考这里
    SW_PAD_CTL_PAD_GPIO19 这里比上个文章里少一个寄存器
    相关寄存器 到这个路径下
    打开imx6dl_pinfunc.h
    查找GPIO4_IO05

    记下来这个宏定义
    MX6QDL_PAD_GPIO_19__GPIO4_IO05
    打开自定义的设备树
    找到&iomuxc


    添加GPIO配置

    添加完成后编译设备树即可

    source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
    export ARCH=arm
    export CROSS_COMPILE=arm-poky-linux-gnueabi-
    make imx6q-krt.dtb
    sudo dd if=arch/arm/boot/dts/imx6q-krt.dtb of=/dev/sdb bs=512 seek=20480 conv=fsync
    

    计算gpio号:

    nr=(P -1)* 32 + N; GPIOP_N;

    这里nr=(4-1)*32 + 5=101

    io文件操作gpio

    echo 101 > /sys/class/gpio/export
    
    echo out > /sys/class/gpio/gpio101/direction
    
    echo 1 > /sys/class/gpio/gpio101/value    ---> 写高电平
    
    echo 0 > /sys/class/gpio/gpio101/value    ---> 写低电平
    

    相关文章

      网友评论

          本文标题:IMX6Q-GPIO修改功能

          本文链接:https://www.haomeiwen.com/subject/kbjhaftx.html