【全志V3S开发】(九)-USB HID设备接入

前面我们已经实现了TFT屏幕移植【全志V3S开发】(六)-TFT屏幕适配,为了实现一个真正意义上的linux小电脑,还需要为V3S适配一个USB HID键盘。

一、设备树修改

我们使用的设备树是sun8i-v3s-licheepi-zero-dock.dts,但是其中并不包含USB相关的设备树配置,有关设备树的配置均在sun8i-v3s-licheepi-zero.dts中,我们将sun8i-v3s-licheepi-zero.dts中的USB部分设备复制进sun8i-v3s-licheepi-zero-dock.dts中,并将&usb_otg的dr_mode属性从“otg”改为"host"。主要包含以下内容:

&ehci0 {
	status = "okay";
};

&ohci0 {
	status = "okay";
};

&usb_otg {
	dr_mode = "host";
	status = "okay";
};

&usbphy {
	usb0_id_det-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

 修改完成的sun8i-v3s-licheepi-zero-dock.dts如下所示:

二、修改menuconfig

1. 清理之前的linux kernel配置:

make distclean

 2. 导入配置,在Licheepi_MY_LCD_defconfig的基础上进行修改:

export ARCH=arm
export CROSS_COMPILE=$CROSS_COMPILE
make Licheepi_MY_LCD_defconfig

3. 修改menuconfig 

make menuconfig

按照如下进行修改:

#开启USB新设备通知
Device Drivers  --->
    [*] USB support  --->
        [*]   USB announce new devices

#其余USB配置已经默认勾选

保存退出:

make savedefconfig
cp defconfig arch/arm/configs/Licheepi_MY_USB_defconfig

下次可以直接调用配置文件:

make Licheepi_MY_USB_defconfig

三、编译安装 

 1. 编译内核和设备树:

make -j16
make  -j16 modules
sudo make -j16 modules_install
make dtbs

 2. 将zImage和sun8i-v3s-licheepi-zero-dock.dtb复制到nfs目录下:

cp arch/arm/boot/zImage /home/daemonchen/linux/tftpboot -f
cp arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dtb /home/daemonchen/linux/tftpboot -f

四、修改启动项

为了能在TFT屏幕终端使用键盘,需要修改根文件系统的etc/inittab:

cd /home/daemonchen/linux/nfs/rootfs/etc
sudo vi inittab
#add: tty0::askfirst:-/bin/sh

修改完成的inittab如图所示:

五、启动测试

1. 由于荔枝派只有一个micro-usb口,故需要用USB-HUB进行拓展,将键盘接在USB-HUB上,上电启动,Linux内核会自动检测到USB-HUB和键盘,如下图所示:

2. 在SecureCRT端查看/dev/input下的事件:

3. 我的键盘对应的事件是event2,用hexdump查看键盘产生的事件:

 则说明键盘驱动没有问题。

4. 在终端上查看键盘输入,发现一行"Please press Enter to activate this console",则说明可以在终端TFT使用键盘,查看根文件目录正常!

 至此,USB-HID设备移植完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值