匯編和c同樣重要,相互配合,缺一不可!
匯編的重要性:
◆ 幫助你從根本上徹底和完全了解芯片的結(jié)構(gòu)和性能,以及工作原理,如何使用。
◆ 在小的芯片上實現(xiàn)小的系統(tǒng)。
◆ 系統(tǒng)的調(diào)試。盡管你使用了高級語言,在調(diào)試中可以幫助你了解C代碼的性能和特點,甚至找到使用開發(fā)平臺本身的BUG。
◆ 編寫時序要求嚴格的代碼,實現(xiàn)一些高級語言不易實現(xiàn)的功能。
將出版的AVR128的書里面,第五章中主使用C作為系統(tǒng)開發(fā)設(shè)計語言,這是因為M128的速度高,內(nèi)部有4K的RAM,128KFLASH,適合于實現(xiàn)比較高級的應(yīng)用,所以采用C語言作為系統(tǒng)開發(fā)的設(shè)計語言。但作為開發(fā)工程師來講,熟悉M128的結(jié)構(gòu)和應(yīng)用原理,基本掌握它的匯編語言是必要的基礎(chǔ)。
從目前的技術(shù)和應(yīng)用發(fā)展來看,對硬件工程師的要求越來越高。以我的觀點,作為單片機和嵌入式系統(tǒng)開發(fā)真正的高手,應(yīng)具備以下幾個方面的綜合能力:
◆ 硬件。模擬、數(shù)字電路的雄厚基礎(chǔ),了解跟蹤現(xiàn)在市場上的各種元器件的應(yīng)用和發(fā)展,能夠進行可靠、完善的電路設(shè)計以及PCB的設(shè)計。
◆ 軟件。不僅需要精通匯編語言,也要精通C語言,要有好的單片機系統(tǒng)程序設(shè)計理念和能力,學(xué)校中學(xué)的那些分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等基本原理遠遠不夠!要有基本的數(shù)據(jù)結(jié)構(gòu)的知識。否則你如何設(shè)計實現(xiàn)USB HOST讀U盤的接口?如何實現(xiàn)嵌入式WEB系統(tǒng)?以及如何使用真正了解和使用RTOS?
◆ 具備計算機網(wǎng)絡(luò)和數(shù)字通信的基礎(chǔ)知識,從根本上熟悉和了解各種協(xié)議的構(gòu)造和實現(xiàn),如:UART、RS232、SPI、I2C、USB、IEEE802、TCP/IP等。
◆ 計算機應(yīng)用的高手。
◆ 熟練閱讀英文資料。
◆ 熱愛和喜歡電子技術(shù),具備刻苦精神、踏踏實實,不弄虛作假,不浮躁。多動手,勤實踐。有強烈的專業(yè)和鉆研精神。最后一條最重要!
擴展閱讀:編程,樂趣何在?