全志android启动串口无打印,CSK.Blog-给MK802(USB大小的Android4.0小PC)引出串口信号,变成ARM开发版...
最近忙各類事情,blog寫的不系統(tǒng),見諒。
這幾天搞到了前不久被媒體宣傳過的只有U盤大小的Android 4.0小PC。他的樣子如下,使用HDMI接口連接顯示器再外接一個(gè)usb鍵盤鼠標(biāo)就能作為PC用了。
托朋友買了臺(tái),試用了下果然還不錯(cuò),雖然是Mali 400MP + Cortex-A8 的配置,不過感覺播放1080p媒體很流暢,3D渲染沒怎么測(cè)試,不過依照我以前接觸mali 400的經(jīng)驗(yàn)看,不會(huì)差到哪里,但也好不到哪里。
硬件上他使用了全智(Allwinner)的A10 CPU,實(shí)際為Cortex-A8 + Mali400 MP GPU。1G DDR以及集成的usb WIFI和一個(gè)usb host以及一個(gè)usb OTG。僅支持HDMI輸出音視頻。一些內(nèi)部照片貼在這:
如果就想把它當(dāng)作一臺(tái)小pc來用,那么就應(yīng)該到此收手,安心的用了。但相信也有不少朋友和我一樣,不滿足于這些功能,想完全發(fā)揮出這么小巧的arm主板的性能,那還需要做幾件事情
1. 拿到kernel source以及相關(guān)的driver code。業(yè)內(nèi)稱為BSP(board support package)
2. 獲得串口調(diào)試信息
第一件事情我們已經(jīng)不用操心了,網(wǎng)上已經(jīng)有針對(duì)A10的kernel code,且可以用于MK802的機(jī)器。對(duì)于第二件事情,我之前并沒在網(wǎng)上看到有人說明如何在MK802上引出串口,但其實(shí)看了內(nèi)部PCB也不難發(fā)現(xiàn)辦法。在介紹前,我先和不明白引出串口信號(hào)的朋友介紹下這樣做的目的:
一般做linux kenrel(其實(shí)是所有kernel層次)的開發(fā),沒有VC IDE debugger這種好用的工具,就連gdb server很多時(shí)候都不管用。最常見的辦法就是通過printf把日志從串口打印出來調(diào)試。(當(dāng)然如果正在開發(fā)串口驅(qū)動(dòng),那只好通過點(diǎn)亮幾個(gè)LED燈來調(diào)試了,這聽上去很瘋狂,但這是事實(shí))。雖然也有ICE/JTAG這類硬件調(diào)試器,但對(duì)于linux kernel這類OS的調(diào)試,硬件調(diào)試器就顯得很不直觀,而且很多time critical的邏輯無法通過下斷點(diǎn)復(fù)現(xiàn)。因此,一般做硬件/kernel/驅(qū)動(dòng)層次開發(fā),有一個(gè)用于打印printk信息的串口是非常必要的。
估計(jì)又有人問,這和現(xiàn)在有什么關(guān)系?我們只是使用MK802,又不是做開發(fā)。呵呵,這里我們就是希望做一些“開發(fā)”。比如從簡(jiǎn)單的控制MK802上幾個(gè)IO(就像arduino那樣)到修改usb驅(qū)動(dòng)、優(yōu)化GPU驅(qū)動(dòng)等等,都是hacker喜歡做的事情。那么,有個(gè)串口供調(diào)試就是非常必要的。
不扯開了,其實(shí)串口信號(hào)很好引出,具體見下圖:
PCB上其實(shí)有對(duì)應(yīng)的測(cè)試點(diǎn),但是沒有絲印標(biāo)出信號(hào)含義,但其實(shí)很容易猜到:右起第二個(gè)肉眼就能看出是GND。最右側(cè)通過萬用表測(cè)量橫定是3V3。那自然是VCC。左邊2個(gè)自然有很大嫌疑是TXD和RXD的TTL電平的串口信號(hào)。那么怎么確定那個(gè)是TX哪個(gè)是RX? 注意左起第二個(gè)有一個(gè)上拉電阻。一般輸入信號(hào)才要上拉/下拉。那很可能就是RX。用示波器看了下,果然最左側(cè)有信號(hào)發(fā)出。果斷焊上線路,啟動(dòng)putty,看到了熟悉的uboot畫面和kernel dmesg??上S家把tty給禁用了,沒法登陸console。但沒關(guān)系,反正有kernel source,自己編一個(gè)即可。從dmesg中也可看出,廠家對(duì)系統(tǒng)的優(yōu)化基本沒做,很多內(nèi)部調(diào)試log都還在:-P
Uboot和Kernel啟動(dòng)log
使用putty連接usb串口
將引出的串口信號(hào)連接usb轉(zhuǎn)串口適配器
用熱熔膠保護(hù),防止短路
最后提醒看的手癢的朋友一聲:焊盤間距比較小,小心短路。
附上從開機(jī)到啟動(dòng)完畢的log:
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的全志android启动串口无打印,CSK.Blog-给MK802(USB大小的Android4.0小PC)引出串口信号,变成ARM开发版...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 中石油《计算机应用基础》,2017中国石
- 下一篇: java性能优化方案_Java性能优化要
