修改预编译的内核包含多产VCP驱动内核模块
本节将介绍如何插入多产VCP驱动内核模块中工作的Android设备的图像。 这里提供的说明是基于其最初通过提供设置在http://android.serverbox.ch/?p=285方向 曼努埃尔·迪Cerbo。
先决条件为了打造多产VCP驱动内核模块,并在Android图像插入,则需要具备以下条件:
1. Android设备被Android / Linux内核支持的USB主机设备。 ?注意的root访问权限必须在设备上可用来完成内核模块的插入。获取在生产Android设备可以是不平凡的,并超出本文档的范围root访问权限。
2.测试一个多产PL2303基于设备。
3.开发PC系统,安装并正确配置了Android构建工具。Linux的PC机上运行的Ubuntu 10.04的默认内核(2.6.32)。 在Android SDK和必须安装NDK的包。
获得正确的内核源代码首先,确定在Android设备上运行的内核版本。这是为不同的内核版本如预期将很有可能无法正常工作建立了一个内核模块重要。这可以通过两种方式来完成。内核版本显示在Android设备设置屏幕上根据关于平板电脑或关于手机。
此外,内核版本可以从命令提示符(通过终端仿真程序或通过ADB shell session)的命令决定:执行cat / proc /版本
然后将所得到的内核版本号可用于获得从http://android.git.kernel.org/正确内核源代码。
需要注意的是处理器类型也必须知道,找到网站所需的内核源代码的正确区域。例如:如果处理器是NVIDIA的Tegra 2,为2.6.36内核源代码对应的URL是http://android.git.kernel.org/?p=kernel/tegra.git;a=tree;h=refs/head/ Android系统的Tegra-2.6.36; HB =refs/head/ Android系统的Tegra-2.6.36
从这里,内核的快照可以下载。下载完成后,将文件解压到?/ Android的内核源的新目录。
配置内核现有的内核配置可以从Android设备通过ADB中提取的命令:ADB/proc/config.gz config.gz
然后将现有的Android内核配置可应用到上面获得的快照。
为了做到这一点,执行开发机器上运行以下命令(假设内核快照提取到?/ Android的内核源/目录):cat config.gz>?/ Android的内核源/ tegra- Android系统的Tegra-2.6.36-9001adc /的.config
一旦现有的配置被应用,它可以被修改,以包括多产PL-2303 VCP内核模块的支持。要做到这一点,使用menuconfig的从Android NDK。更改到Android内核源代码目录。例如:cd?/ Android的内核源/的Tegra-Android系统的
Tegra-2.6.36-9001adc
假设在Android NDK安装在/ opt /目录下,添加NDK目录的路径,如下所示(仅举例):出口
PATH = /选择/ Android的NDK-R5 /工具链/ ARM-EABI-4.4.0 /预建/ Linux的的x86 /bin/:$ PATH
这使我们能够使用Android NDK构建工具来构建从源目录了Android内核的全部或部分。执行以下命令来显示内核配置菜单:make menuconfig进行ARCH =arm CROSS_COMPILE =arm- eabi-
这将显示从其中适当的模块可以选择的菜单。需要注意的是,为了能够建立多产PL-2303 VCP驱动程序作为一个模块,可加载模块的支持必须启用。
选择设备驱动程序 - > USB支持。选择“USB串口转换器支持”。按“M”包括这个支持,内核模块并启用子菜单,然后选中“USB多产的2303单端口串口驱动程序”。按“M”选择多产VCP驱动程序作为内核模块。 选择退出,然后选择退出时保存配置。
要完成内核配置,Makefile文件应该编辑地配合http://android.git.kernel.org下载源提取内核的数量外倾;这是列在Makefile顶部。
建立和插入内核模块确保了Android NDK是上的路径。假设在Android NDK安装在/ opt /目录下,添加NDK目录到PATH如果尚未完成如下:出口
PATH = /选择/ Android的NDK-R5 /工具链/ ARM-EABI-4.4.0 /预建/ Linux的的x86 /bin/:$ PATH
要构建内核模块,在Android内核源代码目录执行以下命令:使模块ARCH =手臂CROSS_COMPILE =arm-eabi-
一旦完成,pl2303.ko内核模块将出现在车手/ USB /串口目录。
接下来,从开发计算机上复制内核模块到Android设备。这可以通ADB进行使用下面的命令:adb push driver/ USB /串口/ pl2303.ko / SD卡
然后必须将模块插入到内核中。这必须通过ADB shell session完成,并需要root权限。如果root权限不可用,操作将失败。
在ADB计算机上运行此命令启动一个会话ADB:
一旦ADB shell session正在运行,执行以下命令来插入内核模块: su
cd sdcard
insmod的pl2303.ko
在这一点上的进程已经完成,多产PL2303 VCP驱动程序可在Android设备上 Google
相关推荐: