首页 > 其他分享 >怎么在uboot下使用通用GPIO接口

怎么在uboot下使用通用GPIO接口

时间:2022-10-19 15:25:23浏览次数:44  
标签:set uboot 127 value 接口 gpio test GPIO

一:在uboot下的defconfig 打开如下配置

CONFIG_DM=y
CONFIG_DM_GPIO=y
CONFIG_DWAPB_GPIO=y
CONFIG_CMD_GPIO=y

二:重新编译u-boot后会生成cmd:gpio

  • 在板端执行" gpio status -a " 查看板端对应的gpio numbe

三:利用 uboot gpio 命令操作GPIO 做测试

  • gpio c 0 ; 将第0根PIN清零(拉低)
  • gpio s 0 ; 将第0根PIN设为output同时拉高

四:gpio 操作demo

  • 直接添加到uboot/cmd路径下,再在uboot/cmd/Makefile中添加编译选项,编译完成后可以直接操作gpio
#include <command.h>
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/delay.h>
#include <asm/gpio.h>

int do_gpio_test(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[])
{
    if (argc < 2) {
        printf("usage: gpio_test [requ/out/on/off]\n");
        return 0;
    }

    if (strcmp("requ", argv[1]) == 0) {
        gpio_request(126, "ir_a");
        gpio_request(127, "ir_b");
        mdelay(10);
    } else if (strcmp("out", argv[1]) == 0) {
        gpio_direction_output(126, 1);
        gpio_direction_output(127, 1);
        mdelay(10);
    } else if (strcmp("on", argv[1]) == 0) {
        gpio_set_value(126, 0);
        gpio_set_value(127, 1);
        mdelay(100);
        gpio_set_value(126, 1);
        gpio_set_value(127, 1);
    } else if (strcmp("off", argv[1]) == 0) {
        gpio_set_value(126, 1);
        gpio_set_value(127, 0);
        mdelay(100);
        gpio_set_value(126, 1);
        gpio_set_value(127, 1);
    }

    return 0;
}

U_BOOT_CMD(
    gpio_test, 4, 1, do_gpio_test,
    "u-boot gpio cmd test",
    "gpio - just for test\n"
);

 

标签:set,uboot,127,value,接口,gpio,test,GPIO
From: https://www.cnblogs.com/xu-long/p/16805994.html

相关文章

  • uboot环境变量
    zynqmpuboot2020.1环境变量初始化流程先要设置环境变量的存储位置,否则uboot没有saveenv命令运行petalinux-config-cu-boot,如果是单独编译uboot则用makeARCH=arm64......
  • 第三方接口调用httpUtils
    1.GET请求publicstaticJSONObjectgetHttpGetResp(Stringurl,Stringauthorization,Stringtitle){HttpGethttpGet=newHttpGet(url);Stri......
  • 【JAVA】接口和抽象类有什么区别?
    ##前言Java是非常典型的面向对象语言,曾经有一段时间,程序员整天把面向对象、设计模式挂在嘴边。虽然如今大家对这方面已经不再那么狂热,但是不可否认,掌握面向对象设计原则和......
  • 使用Kong网关API接口配置
    一、Upstream1、创建Upstream:curl-i-XPOSTIPAddress:8001/upstreams-d'name=upstream-test'-d'slots=1000'2、创建Targets目标地址并且关联Upstream:curl-i-XPO......
  • Dubbo——Remoting 层核心接口分析
    前言dubbo-remoting模块提供了多种客户端和服务端通信的功能。在Dubbo的整体架构设计图中,我们可以看到最底层红色框选中的部分即为Remoting层,其中包括了Exchange、Tr......
  • GenericServlet改造,ServletConfig接口
    GenericServlet(java自己编写好了)我们编写一个Servlet类直接实现Servlet接口有什么缺点?我们只需要service方法,其他方法大部分情况下是不需要使用的。代码很丑陋。适......
  • 《上海悠悠接口自动化平台》体验地址与使用教程
    前言开放自己研发的接口自动化平台,给大家体验和交流(不提供源码),仅供学习交流。注册与登录平台注册地址http://47.108.155.10/register.html没有账号,先注册自己的账号,注......
  • 基于apiview接口实现 -------查、更新
    https://www.bilibili.com/video/BV1z5411D7BQ?p=11&vd_source=caabcbd2a759a67e2a3de8acbaaf08eaviews.pyclassBookView(APIView):defget(self,request):......
  • 接口测试之接口依赖
    接口测试经常涉及依赖,特别是token,如何解决:方案1、使用fixture,范围是session级别,将登陆步骤写入,返回token(pytset框架常用)方案2、在执行用例之前,先请求登录接口,并将......
  • jmeter接口测试
    1、打开jmeter软件,界面中会有一个测试计划  2、右击测试计划,依次选择Add-Threads(Users)-ThreadGroup添加线程组:  3、右击线程组,添加Http请求,依次点击Add-Sampl......