本文讲 iTOP-4412 的串口设置。 首先 iTOP-4412可以支持四路串口,分别编号为 0, 1, 2, 3, 他们在内核里面的设备节点分别是: /dev/ttySAC0,/dev/ttySAC1,/dev/ttySAC2,/dev/ttySAC3。 iTOP-4412 使用串口 2 作为调试串口,也就是/dev/ttySAC2,如果我们想把串口 2 也作为普通串口来使用,需要修改下内核的配置,重新编译下内核,具体修改方法如下: 首先在内核源码目录下执行命令”make menuconfig“打开内核配置界面,如下图所示: 然后选择“Boot options”,如下图所示: 然后进入到 Boot options 界面,如下图所示: 然后选择“(console=ttySAC2,115200) Default kernel command string”,如下图所示: 然后进入到”Default kernel command string”配置界面,如下图所示: 然后把里面的“console=ttySAC2,115200”改成“console=NULL,115200”,如下图所示: 然后保存并退出 menuconfig 界面,回到内核源码目录下,如下图所示: 然后输入“make”命令,开始编译内核,如下图所示: 编译完成后会在“arch/arm/boot”下会生成“zImage”文件,如下图所示: 最好把生成的”zImage“烧写到开发板上就可以使用串口 2(/dev/ttySAC2)了。 我们在 android 下操作串口有时会遇到没有权限的问题,这就需要修改下 android 的启动脚本,在里面修 改下串口的权限。 具体修改方法是: 在 android 源码目录下输入“vi device/samsung/smdk4x12/conf/init.smdk4x12.rc”, 如下图所示: 在里面找到修改权限的地方,如下图所示: 上面的“chmod 777 xxxx”就是修改设备节点的权限,比如我们现在想修改串口 0(/dev/ttySAC0)的权限, 那我们在这下面输入“chmod 777 /dev/ttySAC0”就可以了,如下图所示: 其他几个串口的修改方法也是这样的,修改完以后,保存并退出,回到 android 源码的目录下面,如下图 所示: 然后输入“./build_android.sh ”开始编译 android,如下图所示: 编译完成后,把生成的“ramdisk-uboot.img”和“system.img”烧到开发板里面,重新启动 android,就可以看到串口 0(/dev/ttySAC0)的权限修改了。
|