新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一些嵌入式調(diào)試的工作經(jīng)驗(yàn)

一些嵌入式調(diào)試的工作經(jīng)驗(yàn)

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏
轉(zhuǎn)眼間畢業(yè)兩年多了,做的工作雜而無(wú)章,真是無(wú)奈??!總結(jié)一下,一是理理思路,再個(gè)如果真?zhèn)€世界末日,也給后人留點(diǎn)什么吧!想一想,做的東西這是雜呀,安順需來(lái)吧!1開(kāi)地牛2組裝控制柜3應(yīng)用組太王4電力電子培訓(xùn)5公司遷址搬家6編寫(xiě)modbus程序規(guī)約7搭建勵(lì)磁調(diào)節(jié)實(shí)驗(yàn)平臺(tái)8可控電抗器的調(diào)研9電力大系統(tǒng)的理論研究與仿真10lwip協(xié)議站的移植11公司網(wǎng)頁(yè)的維護(hù)與開(kāi)發(fā)12變電站后臺(tái)程序的開(kāi)發(fā)13報(bào)表程序的升級(jí)與開(kāi)發(fā)14從事公司采購(gòu)業(yè)務(wù),兼做采購(gòu)員15erp生產(chǎn)管理系統(tǒng)的維護(hù)和開(kāi)發(fā)。從搬運(yùn)工搞到調(diào)試工,從理論研究搞到工程應(yīng)用,從硬件設(shè)計(jì)搞到驅(qū)動(dòng),又從驅(qū)動(dòng)搞到應(yīng)用軟件的開(kāi)發(fā),從研發(fā)搞到采購(gòu),從抽象思維搞到平面網(wǎng)頁(yè)設(shè)計(jì),從單兵作戰(zhàn)搞到整個(gè)生產(chǎn)體系流程的合作話管理!太tmd的雜而無(wú)章了,除了cad制圖還有銷(xiāo)售,該干的也差不多都干了!作這么多,就知道每樣都不精。要是能夠在一個(gè)方面精通該有多好呀,起碼有個(gè)立足之本了。真的很想安安心心的做嵌入式,做硬件設(shè)計(jì),可卻有那么多無(wú)奈,道可道非常道??!這樣下去,非廢了不可。還好我還可以思考,如果哪天連思考的能力都沒(méi)了,那可就真的廢了哈!恩,總結(jié)下經(jīng)驗(yàn)吧,

關(guān)于嵌入式調(diào)試的一些經(jīng)驗(yàn) :
(1)熟悉芯片:接觸的嵌入式硬件平臺(tái)有兩個(gè),一個(gè)dsp2812,一個(gè)是arm7架構(gòu)的2292,這種嵌入式芯片datasheet都是鳥(niǎo)語(yǔ)寫(xiě)的,要看能把人累死。我是把那些文檔當(dāng)工具書(shū)來(lái)查了。開(kāi)始根本不看datsheet,把它給的例程跑通!要是想做開(kāi)發(fā)板熟悉芯片幾個(gè)功能就好,一個(gè)是電源管理,一個(gè)是時(shí)鐘管理,內(nèi)存管理,還有是中斷管理。先跑最小系統(tǒng),然后拓展功能。
(2)開(kāi)發(fā) 如果有了一塊開(kāi)發(fā)板,就要對(duì)其進(jìn)行開(kāi)發(fā)了。開(kāi)發(fā)時(shí)要調(diào)研,在這上吃了大虧, 原因是調(diào)研不夠祥盡。lwip協(xié)議站移植,主處理芯片為arm2292,網(wǎng)卡芯片為8019as,著重調(diào)研以下幾項(xiàng): 1為何要用這個(gè)協(xié)議棧,好處哪些,壞處哪些(因此選用了lwip而不是uip)。2在我們的平臺(tái)上是否有搭建的可行性(決定了裸跑協(xié)議站而沒(méi)有上mcos操作系統(tǒng)),3現(xiàn)行主流協(xié)議棧移植代碼(可參照進(jìn)行開(kāi)發(fā),要查到和自己開(kāi)發(fā)最相近的文檔哈),相關(guān)資料的查找(主要是8019芯片資料,這款芯的datasheet相當(dāng)垃圾,介紹的一點(diǎn)不全,當(dāng)時(shí)沒(méi)有想到對(duì)這款芯片家族資料進(jìn)行查找,其實(shí)結(jié)構(gòu)功能都一樣,害得耽誤功夫),咨詢(xún)外協(xié)團(tuán)隊(duì)的查找(arm2292是周立功代理的芯片,他們有強(qiáng)大的技術(shù)支持,老衲五木寫(xiě)過(guò)移植的教程留下了qq,老古論壇為8019as的專(zhuān)業(yè)論壇,有幸得到了聯(lián)系方式)。
在下面 讀硬件原理圖,弄清原理,是個(gè)苦功夫,對(duì)于單片機(jī)不用了解很多,知道和應(yīng)用相關(guān)模塊就ok。
再下面是對(duì)開(kāi)發(fā)軟件平臺(tái)的了解,每種開(kāi)發(fā)平臺(tái)都有自己的特點(diǎn),對(duì)他們的操作試著了解。
讀取寄存器,寫(xiě)幾行代碼,不斷讀取每個(gè)要用的寄存器,看下能否成功!
再往下就是加程序調(diào)試了,兩種方法,一是自己寫(xiě),按照datasheet的說(shuō)明文檔,另一種是借它山之石。調(diào)試是和datasheet跟進(jìn)的,是個(gè)經(jīng)驗(yàn)過(guò)程,總結(jié)以下技巧:
(1)程序單步跟蹤,看變量
(2)程序模塊化,一個(gè)模塊一個(gè)模塊封掉排查
(3)弄清數(shù)據(jù)流圖,數(shù)據(jù)流動(dòng)的每個(gè)過(guò)程都了解清楚,主要了解單片機(jī)的架構(gòu)功能,比如雙口ram的優(yōu)點(diǎn),設(shè)計(jì)的思想,isa總線結(jié)構(gòu)設(shè)計(jì)的思想,數(shù)據(jù)怎樣從起使端流到目的端等等!
(4)在程序中加標(biāo)簽變量,有時(shí)每個(gè)函數(shù)都加個(gè),看看在哪個(gè)函數(shù)中出錯(cuò)
(5)接口程序的排查,每個(gè)功能模塊的出錯(cuò)率不大,可能出錯(cuò)的是接口程序
遇到難題就百度下,有的問(wèn)題很多人都會(huì)
遇到,還有不斷的給技術(shù)支持打電話都是免費(fèi)的,外協(xié)團(tuán)隊(duì)很重要啊,完后表示感謝下呀!這個(gè)項(xiàng)目給我最大啟示是看成熟的技術(shù)是怎么做的。懷疑硬件問(wèn)題那就拿成熟的評(píng)估板跑好了。從硬件,驅(qū)動(dòng),到軟件一點(diǎn)點(diǎn)排查!嵌入式是個(gè)好東西,真想有時(shí)間從板子到驅(qū)動(dòng),再到上層應(yīng)用一點(diǎn)點(diǎn)跟下來(lái),嵌入式移植最關(guān)鍵的是數(shù)據(jù)結(jié)構(gòu),內(nèi)存管理,與接口的函數(shù),做完移植就又換毫不相干的任務(wù)了,無(wú)奈無(wú)奈。待續(xù)。

本文引用地址:http://m.butianyuan.cn/article/201611/323563.htm


評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉