Toybrick

TB-RK3399ProD开发板低速扩展IO口GPIO引脚及ADC接口开发使用说明

jax.fang

中级会员

积分
371
发表于 2022-3-4 17:53:49    查看: 6387|回复: 1 | [复制链接]    打印 | 显示全部楼层
1. 目前最新的V3.0固件40Pin低速扩展IO的GPIO引脚开发使用可采用以下两种方式(暂不支持ADC接口):
1)重新编译kernel代码生成boot_linux.img(仅支持gpio引脚开发)
  • 下载内核代码
  • 修改rk3399pro-toybrick-prod-linux.dts里将ext-leds属性修改为ext-gpios
    1. &extbrd {
    2.         status = "okay";
    3.         io-channels = <&saradc 0>, <&saradc 1>;
    4. -       ext-leds = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>,    /* GPIO0_A5 */
    5. +       ext-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>,    /* GPIO0_A5 */
    6.                    <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>,    /* GPIO1_B1 */
    7.                    <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>,    /* GPIO1_B2 */
    8.                    <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;    /* GPIO0_A6 *
    复制代码

  • ./make.sh linux prod 编译得到boot_linux.img.
  • 烧写发布的TB-RK3399ProD V3.0固件,替换掉上一步编译出来的boot_linux.img.


2)不编译代码直接替换dtb(仅支持gpio引脚开发)
  • 下载dtb文件,将dtb文件通过ssh方式传输到板子/home/toybrick/目录上。
  • 板子上执行:sudo cp /home/toybrick/toybrick-extio.dtb  /boot/extlinux/toybrick.dtb ,然后reboot重启。
2. 若需同时使用GPIO及ADC接口开发, 可下载boot_linux_use_ext_io_adc.img, 烧写到boot_linux分区,然后reboot重启。

3. 低速扩展GPIO有如下四个引脚及分别对应的GPIO号:
GPIO0_A5       5
GPIO0_A6       6
GPIO1_B1       41
GPIO1_B2       42
用户空间可通过sysfs接口控制对应GPIO的输入输出及电平拉高拉低, PROD开发板默认sysfs接口已导出这4个GPIO引脚,输出高电平
假设需要设置GPIO1_B1电平可通过以下命令:
拉高:
  1. echo 1 > /sys/class/gpio/gpio41/value
复制代码
拉低:
  1. echo 0 > /sys/class/gpio/gpio41/value
复制代码
读取当前GPIO电平值:
  1. cat /sys/class/gpio/gpio41/value
复制代码
其他GPIO均类似操作,仅需修改对应的GPIO号即可

4. 读取低速扩展IO口ADC对应接口的值命令如下:
ADC0:
  1. cat /sys/devices/platform/extbrd/extadckey0
复制代码
ADC1:
  1. cat /sys/devices/platform/extbrd/extadckey1
复制代码






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

莫邪

注册会员

积分
72
发表于 2022-7-29 16:26:43 | 显示全部楼层
请问TBRK3399ProX的GPIO文档在哪,这个用在TBRK3399ProX上面就会驱动失灵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表