年前调试了一下用mtk的uart1口来外接外部模块,拓展为2个com口。写此文的目前主要是整理一下思路。
拓展ic的型号是WK2114:
WK2114 原理框图
由上图可以看到首先得把主接口测试ok。
mtk6572的uart1默认是用来打log用的,所以要修改权限
chmod 0660 /dev/ttyMT0
chown system system /dev/ttyMT0
修改过后可以用在手机上装一个com口apk连接电脑测试,看看是否正常。一般这步是没问题的。
另外有可能会碰到不稳定的情况,这是要把默认的uart1的log功能关掉。
这两步完成保证主接口的功能正常,然后添加wk2114的驱动代码进行调试,原厂给过来的是在三星上面适配的驱动,在mtk上还要做简单的修改。
修改前首先看一下WK2114 引脚描述:
看到上面的图给人的感觉就是太简单了,只需要修改reset和eint就行了,其他的几个量一下就ok,确实是这样。但目前被几个问题挡住了:
1、电压方面由于mtk6572满足不了要求的vcc,所以有外接升IC,飞线那叫一个乱。量出来也能满足要求,但是有没有隐患我不好说。
2、工具方面,没示波器。
3、测试方法 。
现在需要重点解决的问题就是这个问题:
我在wk2114.c的源码中看到以下内容:
static struct uart_driver wk2xxx_uart_driver = {
owner: THIS_MODULE,
major: SERIAL_WK2XXX_MAJOR,
#ifdef CONFIG_DEVFS_FS
driver_name: "ttySWK",
dev_name: "ttysWK",
#else
driver_name: "ttySWK",
dev_name: "ttysWK",
#endif
minor: MINOR_START,
nr: NR_PORTS,
cons: NULL//WK2Xxx_CONSOLE,
};
后来查找资料,cons:NULL代表不能像前面那样用控制台来测试了。不知这里是否理解有误?肯请大师们指点。
另外还有一个问题:如果拓展模块上没有接终端设备,是否看不到完整的log。
总之,目前找不到好的调试方法。