调试记录-RK平台用指令开启ADB功能

需求

嵌入式Linux系统调试过程中,为了方便,我们会借鉴Android调试的方法,在Linux系统添加adb功能,主要功能是通过USB线连接开发板和PC,实现两者之间传输文件,在PC上执行指令操作开发板。

实现

前提:kernel的dts需要配置好USB相关的配置,defconfig配置好gadget和ffs驱动;应用层移植好adbd

这里操作的Linux环境是buildroot,如果是RK平台的SDK,默认是有USB初始化脚本的,不需要自己实现。

如果要自己实现,需要把RK平台默认的USB初始化脚本去掉,一般是S50usbdevice和usbdevice两个脚本,然后执行下面指令:

bash 复制代码
mount -t configfs none /sys/kernel/config
mkdir /sys/kernel/config/usb_gadget/rockchip -m 0770
echo "0x2207" > /sys/kernel/config/usb_gadget/rockchip/idVendor
echo "0x0006" > /sys/kernel/config/usb_gadget/rockchip/idProduct
echo "0x0310" > /sys/kernel/config/usb_gadget/rockchip/bcdDevice
mkdir /sys/kernel/config/usb_gadget/rockchip/strings/0x409 -m 0770
echo "rockchip" > /sys/kernel/config/usb_gadget/rockchip/strings/0x409/manufacturer
echo "rv1126" > /sys/kernel/config/usb_gadget/rockchip/strings/0x409/product
echo "0123456789ABCDEF" > /sys/kernel/config/usb_gadget/rockchip/strings/0x409/serialnumber
mkdir /sys/kernel/config/usb_gadget/rockchip/configs/b.1 -m 0770
mkdir /sys/kernel/config/usb_gadget/rockchip/configs/b.1/strings/0x409 -m 0770
echo 500 > /sys/kernel/config/usb_gadget/rockchip/configs/b.1/MaxPower
echo "adb" > /sys/kernel/config/usb_gadget/rockchip/configs/b.1/strings/0x409/configuration
mkdir /sys/kernel/config/usb_gadget/rockchip/functions/ffs.adb
ln -s /sys/kernel/config/usb_gadget/rockchip/functions/ffs.adb /sys/kernel/config/usb_gadget/rockchip/configs/b.1/ffs.adb
mkdir -p /dev/usb-ffs/adb
mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb
export service_adb_tcp_port=5555
adbd &
sleep 1
echo ffd00000.dwc3 > /sys/kernel/config/usb_gadget/rockchip/UDC
#注意:这里的ffd00000.dwc3是rv1126的usb控制器地址,不同主控这里的名字和地址是不一样的
相关推荐
W***832019 小时前
如何在 Ubuntu 22.04 上安装 MySQL
linux·mysql·ubuntu
凌寒1120 小时前
Linux(Debain)安装Redis、数据迁移
linux·运维·服务器·redis
7***q60820 小时前
在linux(Centos)中Mysql的端口修改保姆级教程
linux·mysql·centos
q***829120 小时前
windows同时安装两个不同版本的Mysql
windows·mysql·adb
btzhy21 小时前
STM32单片机:基本定时器应用:单脉冲模式(STM32L4xx)
stm32·单片机·嵌入式硬件·基本定时器应用:单脉冲模式
用户4760220227821 小时前
机器配置免密切root
linux
e***193521 小时前
MySQL-mysql zip安装包配置教程
android·mysql·adb
zzzsde21 小时前
【Linux】基础开发工具(2):vim补充说明&&gcc/g++编译器
linux·运维·服务器
q***656921 小时前
使用Canal将MySQL数据同步到ES(Linux)
linux·mysql·elasticsearch
2301_807583231 天前
了解python,并编写第一个程序,常见的bug
linux·python