從程序結(jié)構(gòu)來(lái)看嵌入式系統(tǒng)的開(kāi)發(fā)
很多人認(rèn)為可以寫一些USB驅(qū)動(dòng)或者文件系統(tǒng)的移植及一些操作系統(tǒng)基于某一芯片的移植就認(rèn)為自己是高手!!!我認(rèn)為這是遠(yuǎn)遠(yuǎn)不夠的雖然我現(xiàn)在還不是高手,現(xiàn)在系統(tǒng)的功能越來(lái)越多,如果只是簡(jiǎn)單的增加幾個(gè)task就可以解決問(wèn)題那只能使系統(tǒng)不堪重負(fù),工作效率低下,這樣的產(chǎn)品穩(wěn)定性也一定是有問(wèn)題的,而且再好的高手debug也是無(wú)濟(jì)于事的,一個(gè)小小的修改可能會(huì)導(dǎo)致一大堆bug產(chǎn)生,所有的工程師都忙于debug,最后回頭一看,居然debug時(shí)間最長(zhǎng)。
所以一個(gè)寫的好東東,一定在開(kāi)發(fā)初期就要將所有需要實(shí)現(xiàn)的功能模塊化,將程序的結(jié)構(gòu)文件寫好,讓所有的相關(guān)工程師達(dá)成共識(shí)最好有一個(gè)job管理任務(wù),主要負(fù)責(zé)各個(gè)模塊之間的協(xié)調(diào),使得所的模塊之間按事件先后輕重達(dá)到最好的性價(jià)比,周立功一直致力于ARM推廣與應(yīng)用,我之前也看過(guò)一些確實(shí)在行業(yè)起了帶頭作用,只是一些開(kāi)發(fā)板的源碼都過(guò)于簡(jiǎn)單,對(duì)于人們深入了解ARM還有一定距離,ARM與以往單線程的單片機(jī)有本質(zhì)區(qū)引入多線程多處理器工作方式,例如ARM的協(xié)處理器flexRISC CPU及內(nèi)置的DSP,好像周工的開(kāi)發(fā)板上還沒(méi)看到有這個(gè),要想真正學(xué)會(huì)ARM開(kāi)發(fā)出一些有用的東東,就一定要懂得程序結(jié)構(gòu)的重要性,任務(wù)的管理才能將CPU的效率最大化,談了一些大道理,其實(shí)本人也只能算是低手,在公司做過(guò)幾個(gè)案子,談不上很懂,歡迎各位指正不足之處.