全志android启动串口无打印,CSK.Blog-给MK802(USB大小的Android4.0小PC)引出串口信号,变成ARM开发版...

最近忙各类事情,blog写的不系统,见谅。

这几天搞到了前不久被媒体宣传过的只有U盘大小的Android 4.0小PC。他的样子如下,使用HDMI接口连接显示器再外接一个usb键盘鼠标就能作为PC用了。

e597c57133e0acfe3d29d0328f5d12cc.png

托朋友买了台,试用了下果然还不错,虽然是Mali 400MP + Cortex-A8 的配置,不过感觉播放1080p媒体很流畅,3D渲染没怎么测试,不过依照我以前接触mali 400的经验看,不会差到哪里,但也好不到哪里。

硬件上他使用了全智(Allwinner)的A10 CPU,实际为Cortex-A8 + Mali400 MP GPU。1G DDR以及集成的usb WIFI和一个usb host以及一个usb OTG。仅支持HDMI输出音视频。一些内部照片贴在这:

bbd3d31064759e0547d522837bd83ab4.png

c45410d1652d472521757cb792fa2c97.png

505f0baa47ae5b19fa6dbd000895a6ed.png

如果就想把它当作一台小pc来用,那么就应该到此收手,安心的用了。但相信也有不少朋友和我一样,不满足于这些功能,想完全发挥出这么小巧的arm主板的性能,那还需要做几件事情

1. 拿到kernel source以及相关的driver code。业内称为BSP(board support package)

2. 获得串口调试信息

第一件事情我们已经不用操心了,网上已经有针对A10的kernel code,且可以用于MK802的机器。对于第二件事情,我之前并没在网上看到有人说明如何在MK802上引出串口,但其实看了内部PCB也不难发现办法。在介绍前,我先和不明白引出串口信号的朋友介绍下这样做的目的:

一般做linux kenrel(其实是所有kernel层次)的开发,没有VC IDE debugger这种好用的工具,就连gdb server很多时候都不管用。最常见的办法就是通过printf把日志从串口打印出来调试。(当然如果正在开发串口驱动,那只好通过点亮几个LED灯来调试了,这听上去很疯狂,但这是事实)。虽然也有ICE/JTAG这类硬件调试器,但对于linux kernel这类OS的调试,硬件调试器就显得很不直观,而且很多time critical的逻辑无法通过下断点复现。因此,一般做硬件/kernel/驱动层次开发,有一个用于打印printk信息的串口是非常必要的。

估计又有人问,这和现在有什么关系?我们只是使用MK802,又不是做开发。呵呵,这里我们就是希望做一些“开发”。比如从简单的控制MK802上几个IO(就像arduino那样)到修改usb驱动、优化GPU驱动等等,都是hacker喜欢做的事情。那么,有个串口供调试就是非常必要的。

不扯开了,其实串口信号很好引出,具体见下图:

23f2ed1a1231b7ee794f57d7754ff648.png

PCB上其实有对应的测试点,但是没有丝印标出信号含义,但其实很容易猜到:右起第二个肉眼就能看出是GND。最右侧通过万用表测量横定是3V3。那自然是VCC。左边2个自然有很大嫌疑是TXD和RXD的TTL电平的串口信号。那么怎么确定那个是TX哪个是RX? 注意左起第二个有一个上拉电阻。一般输入信号才要上拉/下拉。那很可能就是RX。用示波器看了下,果然最左侧有信号发出。果断焊上线路,启动putty,看到了熟悉的uboot画面和kernel dmesg。可惜厂家把tty给禁用了,没法登陆console。但没关系,反正有kernel source,自己编一个即可。从dmesg中也可看出,厂家对系统的优化基本没做,很多内部调试log都还在:-P

5e17fdcef07757cc28e40890f2948502.png

Uboot和Kernel启动log

ac9c29bca74881d3412ee1f54219ba41.png

使用putty连接usb串口

45306fa965e983579da43bbab21eb94c.png

将引出的串口信号连接usb转串口适配器

b7a945b27e8e3e40f6183e8caf467cfe.png

用热熔胶保护,防止短路

最后提醒看的手痒的朋友一声:焊盘间距比较小,小心短路。

附上从开机到启动完毕的log:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值