Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将自己的串行设备与驱动程序绑定?_Android_Linux Kernel_Embedded_Uart_Input Devices - Fatal编程技术网

Android 如何将自己的串行设备与驱动程序绑定?

Android 如何将自己的串行设备与驱动程序绑定?,android,linux-kernel,embedded,uart,input-devices,Android,Linux Kernel,Embedded,Uart,Input Devices,我目前正在嵌入式安卓系统中构建一个设备及其驱动程序 该设备基本上是一个嵌入式Linux,其行为类似于触摸屏。 设备和嵌入式安卓通过UART连接。(我正在使用Lemaker吉他评估板)。通信正在工作:我接收在/dev/ttyS0上发送的数据(使用minicom或cat/dev/ttyS0) 现在,我需要创建将接收此输入的驱动程序(它将是touch,所以坐标,协议已经编写好)。 我找到了,找到了 我们可以看到: “驱动程序名称必须为“atmel_usart”,以匹配arch/arm/mach-at9

我目前正在嵌入式安卓系统中构建一个设备及其驱动程序

该设备基本上是一个嵌入式Linux,其行为类似于触摸屏。 设备和嵌入式安卓通过UART连接。(我正在使用Lemaker吉他评估板)。通信正在工作:我接收在/dev/ttyS0上发送的数据(使用minicom或cat/dev/ttyS0)

现在,我需要创建将接收此输入的驱动程序(它将是touch,所以坐标,协议已经编写好)。 我找到了,找到了

我们可以看到: “驱动程序名称必须为“atmel_usart”,以匹配arch/arm/mach-at91/中的设备定义”

因此,我查找了它,发现设备(即嵌入式Linux)必须在设备树中或在平台设备下的文件中声明,名称与平台驱动程序的名称匹配

这让我对我处理这个问题的方法产生了很多疑问

  • 我可以从/dev/ttyS0中读取。但这只是一个设备节点,而不是一个设备。这是真的吗
  • 在实现平台设备结构时,我们必须分配资源。有没有办法让系统处理这些资源
  • 我还看到了另一个可以使用但找不到任何真实文档的库:serio。这可能是解决我的问题的更好途径 谢谢你的阅读。我愿意接受解决这个问题的建议:我的车手应该是什么形状的。 再次感谢你,你可能会挽救我的实习期:):)

    编辑:

    这些话不够清楚

    所以我有两个部分:一个嵌入式Linux(即UbuntuMate),可以像触摸屏一样工作。这将把触摸的坐标发送到嵌入式安卓系统。
    嵌入式linux通过串口连接到UART;这种沟通是有效的。现在,我想制作一个驱动程序,以便在Android中执行触摸操作

    以下是方框图:


    再次感谢:)

    您所说的“UART设备”(即您过度使用“设备”)是什么意思?UART本身?还是通过串行链路连接到UART的设备?一张你所拥有的方框图可能比你所写的文字解释得更好。嗨,谢谢你抽出时间。我添加了一个快速生成的框图。我所说的UART设备是指通过串行链接连接到UART的设备。再次感谢。:)你想从Ubuntu机器上输入事件,这些事件应该在嵌入式安卓板上执行,如果这是你的要求,有一个开源工具uinput,它使用以太网连接也可以这样做。通过串行链接连接的(远程)设备在主机上通常没有与之关联的内核驱动程序。它可能有一个行规程或服务,但通常只有一个用户空间应用程序通过串行端口进行通信。例如,创建一个读取串行端口的进程,并生成事件(可以使用某些IPC方法读取)…感谢你们两位。我最终决定按照@vkumar的建议使用uinput。我遇到了困难,但肯定要努力。再次感谢你,戈蒂埃。你说的“UART设备”是什么意思?UART本身?还是通过串行链路连接到UART的设备?一张你所拥有的方框图可能比你所写的文字解释得更好。嗨,谢谢你抽出时间。我添加了一个快速生成的框图。我所说的UART设备是指通过串行链接连接到UART的设备。再次感谢。:)你想从Ubuntu机器上输入事件,这些事件应该在嵌入式安卓板上执行,如果这是你的要求,有一个开源工具uinput,它使用以太网连接也可以这样做。通过串行链接连接的(远程)设备在主机上通常没有与之关联的内核驱动程序。它可能有一个行规程或服务,但通常只有一个用户空间应用程序通过串行端口进行通信。例如,创建一个读取串行端口的进程,并生成事件(可以使用某些IPC方法读取)…感谢你们两位。我最终决定按照@vkumar的建议使用uinput。我遇到了困难,但肯定要努力。再次感谢你,戈蒂埃。