赞
踩
大家都知道现在高通芯片在汽车行业的座舱域运用比较热门,但是这种现象不是突然冒出来的,高通最早在2015年左右就开始推广他们的第一代座舱芯片820A。而在2018年左右开始推广他们的第二代产品(6155/8155/8195),在2021年左右,高通开始推广他们第三代座舱芯片8295.不过有意思的是高通自己对8155这一代产品的定义是GEN3,而8295则是GEN4(或许在820之前还有一代产品?).
这些几代产品虽然是不同代的座舱芯片,但是在很多技术和架构上却是一脉相承的,比如今天我们提到的virtio-touch技术。virtio是一种开源的半虚拟化的技术,目前广泛的运用于云主机的virtio-net/virtio-blk等模块上.感兴趣的朋友可以自行搜索virtio相关的资料.
在开始前需要声明的是,由于当前介绍的框架是基于高通平台,所以本文名为“高通Q+A hypervisor touch框架介绍”,但是实际上这个框架的实际应用涉及到好几个角色:QNX,高通,Linux Android,每个角色都很重要,这里介绍的信息具备通用性,意味着同样框架可能应用在其他平台上.
Touch 数据传输大致过程
qnx的touch驱动一般由mtouch带起,mtouch启动时需要指定对应的配置参数文件.例如:
配置文件中的内容
这个配置文件中的内容有点类似于linux的dts配置,需要告诉mtouch,你的touch驱动的一些基本信息.
以下是一个配置示例:
- vdev vdev-virtio-input.so
- loc 0x1c3a0000
- intr gic:46
- size 1920,720
- screen multi-touch
- protocol b
- window window_1
关于这些配置里面的含义可以参考QNX文档:,或者在QNX使用命令:use vdev-virtio-input.so 了解详细的用法.
virtio input依赖于input子系统以及virtio子系统,所以需要做相应的kenrel config配置,具体来说可以参考下面的Kconfig信息
-
- config VIRTIO_INPUT
- tristate "Virtio input driver"
- depends on VIRTIO
- depends on INPUT
- ---help---
- This driver supports virtio input devices such as
- keyboards, mice and tablets.
-
- If unsure, say M.
需要注意的是,virtio_input中的配置并不在dts文件中,而是在qvm启动android虚拟机的时候,动态修改加入到dtb数据中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。