add 04a_嵌入式Linux应用开发实验班(快速入门)

This commit is contained in:
weidongshan
2024-04-20 10:30:19 +08:00
parent f9a97adcca
commit 660cb35da7
9 changed files with 109 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,35 @@
# 让100ASK_IMX6ULL支持adb
把adbd_files下的文件全部复制到开发板根目录
```shell
cd adbd_files
cp * / -rf
chmod +x /usr/bin/adb
chmod +x /usr/bin/adbd
chmod +x /usr/bin/usb_config
```
Ubuntu上安装adb
```shell
sudo apt install adb
sudo chmod a+x /usr/bin/adb
sudo chmod a+s /usr/bin/adb
sudo adb kill-server
```
然后就可以在Ubuntu上使用adb操作开发板了
```shell
adb devices
adb push 1.txt /root # 把Ubuntu的文件放到开发板的/root目录
adb pull /root/1.txt 2.tx # 把开发板的/root/1.txt下载并改名为2.txt
adb shell # 登录开发板
```

View File

@@ -0,0 +1,64 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: adbd
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description:
# Description: Linux ADB
### END INIT INFO
VENDOR_ID="0x1d6b"
PRODUCT_ID="0x0104"
UDC=`ls /sys/class/udc/ | awk '{print $1}'`
start() {
mount -t configfs none /sys/kernel/config
mkdir -p /dev/usb-ffs -m 0770
mkdir -p /dev/usb-ffs/adb -m 0770
mkdir -p /sys/kernel/config/usb_gadget/g1 -m 0770
echo ${VENDOR_ID} > /sys/kernel/config/usb_gadget/g1//idVendor
echo ${PRODUCT_ID} > /sys/kernel/config/usb_gadget/g1//idProduct
mkdir -p /sys/kernel/config/usb_gadget/g1/strings/0x409 -m 0770
echo "100ask_IMX6ULL" > /sys/kernel/config/usb_gadget/g1/strings/0x409/serialnumber
echo "NXP" > /sys/kernel/config/usb_gadget/g1/strings/0x409/manufacturer
echo "100ASK_IMX6ULL" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product
mkdir -p /sys/kernel/config/usb_gadget/g1/functions/ffs.adb
mkdir -p /sys/kernel/config/usb_gadget/g1/configs/b.1 -m 0770
mkdir -p /sys/kernel/config/usb_gadget/g1/configs/b.1/strings/0x409 -m 0770
ln -s /sys/kernel/config/usb_gadget/g1/functions/ffs.adb /sys/kernel/config/usb_gadget/g1/configs/b.1
echo "adb" > /sys/kernel/config/usb_gadget/g1/configs/b.1/strings/0x409/configuration
mount -t functionfs adb /dev/usb-ffs/adb
start-stop-daemon --start --oknodo --pidfile /var/run/adbd.pid --startas /usr/bin/adbd --background
sleep 1
echo $UDC > /sys/kernel/config/usb_gadget/g1/UDC
}
stop() {
start-stop-daemon --stop --oknodo --pidfile /var/run/adbd.pid --retry 5
umount /dev/usb-ffs/adb
}
restart() {
echo $UDC > /sys/kernel/config/usb_gadget/g1/UDC
}
if [ "$UDC" != "" ]; then
case $1 in
start|stop|restart) "$1" ;;
esac
fi
exit $?

View File

@@ -0,0 +1 @@
SUBSYSTEM=="udc",ACTION=="change",DRIVER=="configfs-gadget",RUN+="/usr/bin/usb_config %E{DEVPATH}"

View File

@@ -0,0 +1,9 @@
#! /bin/sh
sleep 1
dev_path=/sys$1
state=`cat ${dev_path}/state`
if [ "$state"x != "config"x ] ; then
UDC=`ls /sys/class/udc/| awk '{print $1}'`
echo $UDC > /sys/kernel/config/usb_gadget/g1/UDC
fi