Hi3516DV300 USB触摸屏和移植tslib的问题

由于是刚碰海思平台,而且之前也没有接触过海思的SDK,遇到非常多的坑。

本实验用的设备:

  • HDMI接口的显示屏
  • USB传输触摸数据

一、内核修改

来到目录:Hi3516CV500_SDK_V2.0.2.0/osdrv/opensource/kernel/linux-4.9.y 下

使用图形界面来修改内核配置,要选择对自己芯片平台的配置文件:

make ARCH=arm hi3516dv300_smp_defconfig 

然后,开启 menuconfig

make ARCH=arm menuconfig

1. Input device support

为了能够在 /dev/input 下能够找到 eventX。

Device Drivers ---> 

        Input device support  ---> 

                [*]   Touchscreens  --->  

                        <*>   USB Touchscreen Driver 

2. HID support

USB的HID

Device Drivers ---> 

        HID support --->

                 Special HID drivers  --->

                         <*> HID Multitouch panels

3. Graphics support  

显示问题,/dev/fb0。

Device Drivers ---> 

        Graphics support  --->

                Frame buffer Devices --->

                        <*> Support for frame buffer devices  --->

                        <*> OpenCores VGA/LCD core 2.0 framebuffer support 

                        

4. 编译并烧写

make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage -j8

然后将 /acrh/arm/boot/ 下的 uIamge 烧写即可,这边选择用tftp,毕竟只更改个kernel而已,u-boot和根文件都不需要动,所以用HiTool就很不明智:

tftp 0x82000000 uImage_hi3516dv300_smp

sf probe 0
sf erase 0x100000 0x400000  # 擦除 4M 空间
sf write 0x82000000 0x100000 0x400000  # 烧写内核

二、HiFb

如果你这时候用tslib去打开 /dev/fb0 的话,它会告诉你是没有权限的。需要初始化海思的MMP。

来到SDK包下的:Hi3516CV500_SDK_V2.0.2.0/smp/a7_linux/mpp/sample/hifb

输入make编译后,拷贝到开发板上,然后运行:

./sample_hifb 0 &

0是格式选择中的其中一个,&为了后台运行。

然后运行tslib的触摸屏矫正程序:

/usr/lib/arm-tslib/bin/ts_calibrate

点击屏幕最边界的十字架,一般是左上、右上、右下、左下后,最后是中间。

矫正成功后,测试一下:

/usr/lib/arm-tslib/bin/ts_test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值