RK356x 在uboot下设置GPIO引脚默认电平

问题简述

在uboot启动的时候需要把某个CPU引脚拉高或者拉低,促使某个功能能正常运行。

问题解决方法

思路一
首先打开RK356X的SDK软件包,查看一下uboot源码,这次我先在u-boot/common/board_f.c和board_r.c文件上添加GPIO口设置,虽然添加了gpio_direction_output()或者gpio_set_value()类似的GPIO设置的函数,但是用万用表测量了一下,怎么都不起效果。

思路二
思路一不行,只能看看还有什么方式能设置GPIO的了,然后找到一个文件uboot/arch/arm/mach-rockchip/rk3568/rk3568.c。里面都是用写寄存器的方式来执行的,然后我就开始找rk3568芯片手册来找我需要的资料。

1、先找到Chapter 16 GPIO–> The Register Description–>寄存器功能,如下图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、知道这些寄存器有什么作用之后,发现还差一个基地址,继续在手册上查找,如下图:

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
hi3516 是海思半导体公司开发的一款高性能、低功耗的嵌入式处理器芯片,常用于视频监控领域。而U-Boot则是一种广泛使用的开源的嵌入式操作系统,在系统启动时负责初始化硬件设备和加载操作系统。 在 hi3516 中,设置引脚GPIO)的默认电平可以通过编写 U-Boot 启动脚本来实现。以下是一个简化的示例: 1. 打开 U-Boot 启动脚本文件,通常是在 `uboot` 目录下的 `boot.cmd` 文件。 2. 在文件中搜索或定位到 `bdinfo` 命令,该命令用于映射设备的信息。 3. 找到对应的引脚 GPIO 的配置,可以通过 GPIO 物理地址或名称来标识。 4. 在 `setenv` 命令后添加对应引脚默认电平设置,一般使用 `gpio` 命令进行设置。例如: ``` gpio set <pin> [high|low] ``` 其中 `<pin>` 是要设置引脚标识,`high` 表示设置为高电平,`low` 表示设置为低电平。 请根据实际情况替换 `<pin>` 为要设置引脚标识,例如 `GPIO1_0`。 5. 保存修改并退出编辑器。 6. 使用 `mkimage` 命令将 `boot.cmd` 转换为 U-Boot 可执行的格式: ``` mkimage -C none -A arm -T script -d boot.cmd boot.scr ``` 7. 将生成的 `boot.scr` 文件烧录到设备启动介质上。 上述步骤完成后,当系统使用 U-Boot 启动时,引脚默认电平会按照脚本中的设置进行初始化。请注意,在实际应用中,需要根据具体的引脚配置和需求进行相应的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赟赟、嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值