雷長(zhǎng)發(fā)
新型的SOC調(diào)試接口
雷長(zhǎng)發(fā)
針對(duì)SOC調(diào)試問(wèn)題,本文研究便捷的接口調(diào)試方式和手段,能同時(shí)滿足從系統(tǒng)底層驅(qū)動(dòng)到應(yīng)用層的各種調(diào)試場(chǎng)合。
JTAG和UART作為最常用的軟件開發(fā)調(diào)試手段,從IC研發(fā)、軟件調(diào)試到產(chǎn)品返修等環(huán)節(jié)都頻繁的使用,貫穿整個(gè)產(chǎn)品周期。
然而,作為調(diào)試接口的JTAG和UART,在產(chǎn)品中不會(huì)直接用到(UART較少用到),所以在成品機(jī)中這些調(diào)試接口都沒(méi)有直接引出來(lái)。如此一來(lái),當(dāng)出現(xiàn)問(wèn)題需要調(diào)試時(shí),調(diào)試接口引出就相當(dāng)麻煩。開發(fā)過(guò)程中,經(jīng)常插拔調(diào)試口,可靠性和可維護(hù)性不高。量產(chǎn)過(guò)程查問(wèn)題,批量樣機(jī)問(wèn)題排查起來(lái)耗時(shí)巨大,浪費(fèi)人力物力。返修機(jī)免不了拆殼飛線等,拆殼極易損壞外殼,飛線難度較大并且耗時(shí)。
所以現(xiàn)有的JTAG和UART調(diào)試方式繁瑣且耗時(shí)等諸多不夠方便的地方,不能很好的滿足開發(fā)調(diào)試需要。
類似技術(shù)中,USB打印是一項(xiàng)改良技術(shù)。通過(guò)協(xié)議的轉(zhuǎn)換,在PC端注冊(cè)一個(gè)COM口,能把UART打印信息通過(guò)USB物理接口傳輸過(guò)來(lái),一定程度上改善了UART傳輸問(wèn)題。
USB UART能解決拆機(jī)和焊接UART線纜的工作量,但也存在諸多問(wèn)題:1)USB只完成了UART的傳輸,不能替代JTAG的部分;2)USB UART采用緩存技術(shù)存在延時(shí)問(wèn)題,不能實(shí)時(shí)反應(yīng)UART輸出;3)USB UART采用緩存技術(shù),存在緩存溢出而丟失信息的風(fēng)險(xiǎn)。
所以,USB UART只能部分滿足UART調(diào)試的需求,大部分需求不能滿足。
ADB(Android Debug Bridge)是Android提供的一個(gè)通用調(diào)試工具,物理接口是USB,PC端工具通過(guò)監(jiān)聽(tīng)Socket TCP端口的方式實(shí)現(xiàn)與下位機(jī)的通訊,實(shí)現(xiàn)對(duì)下位機(jī)的控制與調(diào)試信息的傳輸?shù)龋梢栽赑C端對(duì)下位機(jī)進(jìn)行全面的操作。
ADB工具很強(qiáng)大,但都是建立在android平臺(tái)的基礎(chǔ)上,適合調(diào)試android的應(yīng)用程序,對(duì)跨平臺(tái)的應(yīng)用程序也是鞭長(zhǎng)莫及,對(duì)底層和驅(qū)動(dòng)的調(diào)試更是無(wú)能為力。所以ADB工具的適用范圍不足以滿足系統(tǒng)級(jí)以及驅(qū)動(dòng)開發(fā)人員的調(diào)試需求。
綜上所述,需要一種便捷的接口調(diào)試方式和手段,能同時(shí)滿足從系統(tǒng)底層驅(qū)動(dòng)到應(yīng)用層的各種調(diào)試、debug場(chǎng)合。
通過(guò)pin復(fù)用關(guān)系,把JTAG和UART信號(hào)復(fù)用到SDIO接口上,如圖1所示。
復(fù)用關(guān)系包含但不限于表1。
SD卡外形的PCB接口板如圖2所示。
調(diào)試時(shí),把定制的SD卡外形的接口板插入到SD卡槽內(nèi),引出對(duì)應(yīng)的JTAG和UART信號(hào),即可方便的進(jìn)行各種調(diào)試,滿足各種調(diào)試的場(chǎng)合。
本文方法具備以下幾個(gè)特點(diǎn)。
表1 PIN復(fù)用關(guān)系表
圖1 JTAG/UART復(fù)用到SDIO示意圖
熱插拔設(shè)計(jì),即插即用。
轉(zhuǎn)接板滿足JTAG調(diào)試需求,也滿足UART調(diào)試需求,一舉多得。
轉(zhuǎn)接板與SD(TF)卡座兼容,做到非侵入式(破壞式)調(diào)試,節(jié)省調(diào)試樣機(jī)的焊接人力物力。
只需改變pin腳復(fù)用關(guān)系,無(wú)需增加SOC成本。
可以預(yù)見(jiàn)這種處理給調(diào)試帶來(lái)的極大的便利。不管是底層調(diào)試需用用到的JTAG,還是系統(tǒng)、驅(qū)動(dòng)和應(yīng)用調(diào)試需要用的UART,即插即用的方式貫穿整個(gè)項(xiàng)目開發(fā)過(guò)程,適用各種調(diào)試場(chǎng)合。節(jié)省大量焊接連接線纜的人力物力以及時(shí)間消耗。由于使用即插即用的轉(zhuǎn)接板,無(wú)需在PCB再焊接各種JTAG、UART。轉(zhuǎn)接板做成SD(TF)卡形式,調(diào)試時(shí)直接插入到SD(TF)卡座內(nèi),不再是侵入式(破壞式)調(diào)試,降低成品機(jī)特別是返修機(jī)的調(diào)試、維護(hù)成本。
圖2 SD卡接口板示意圖
本文針對(duì)現(xiàn)有JTAG和UART接口在SOC調(diào)試出現(xiàn)的問(wèn)題,研究了一種便捷的接口調(diào)試方式和手段,能同時(shí)滿足從系統(tǒng)底層驅(qū)動(dòng)到應(yīng)用層的各種調(diào)試、debug場(chǎng)合。
10.3969/j.issn.1001-8972.2015.15.021