資源簡(jiǎn)介
本書(shū)主要介紹針對(duì)嵌入式系統(tǒng)基于C語(yǔ)言的軟件項(xiàng)目開(kāi)發(fā)流程、較為復(fù)雜的C語(yǔ)言編程知識(shí)與技巧、編程風(fēng)格及調(diào)試習(xí)慣,并通過(guò)對(duì)一個(gè)具體的軟件模塊(ASIX Window GUI)的分析,介紹分析代碼的方法以及設(shè)計(jì)軟件系統(tǒng)需要考慮的各要素。本書(shū)以實(shí)際項(xiàng)目中的代碼為例來(lái)進(jìn)行介紹,詳細(xì)分析在嵌入式系統(tǒng)開(kāi)發(fā)中程序員應(yīng)該注意的方法、技巧和存在的陷阱。
本書(shū)適合用作學(xué)習(xí)嵌入式系統(tǒng)的高年級(jí)本科生或碩士研究生的教學(xué)用書(shū),也可作為從事嵌入式系統(tǒng)編程的軟、硬件工程師的技術(shù)參考用書(shū)。
嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)和各行各業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物,這就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。然而,嵌入式系統(tǒng)是一個(gè)非常綜合的技術(shù),在學(xué)科上涉及電子科學(xué)與技術(shù)、計(jì)算機(jī)科學(xué)與技術(shù)、微電子學(xué)等眾多領(lǐng)域,在系統(tǒng)的架構(gòu)上涉及數(shù)字電路、模擬電路、嵌入式微處理器、嵌入式操作系統(tǒng)、底層驅(qū)動(dòng)等技術(shù)。因此,雖然為了滿足業(yè)界對(duì)人才培養(yǎng)的要求,越來(lái)越多的高校相關(guān)專業(yè)開(kāi)始在專科、本科、碩士培養(yǎng)計(jì)劃中開(kāi)設(shè)嵌入式系統(tǒng)方面的課程,但是作為一個(gè)新興的課程體系,關(guān)于嵌入式系統(tǒng)教學(xué)過(guò)程中相關(guān)先修課程與基礎(chǔ)知識(shí)的準(zhǔn)備、教學(xué)內(nèi)容(包括硬件平臺(tái)與軟件平臺(tái))的選擇、實(shí)驗(yàn)教學(xué)與實(shí)踐環(huán)節(jié)組織等問(wèn)題依然處于爭(zhēng)論和探索階段。
通過(guò)對(duì)相關(guān)院校的嵌入式系統(tǒng)教學(xué)的調(diào)研以及在東南大學(xué)電子科學(xué)與工程學(xué)院、集成電路學(xué)院嵌入式系統(tǒng)教學(xué)實(shí)踐的基礎(chǔ)上,我們發(fā)現(xiàn)現(xiàn)有電子類本科專業(yè)教學(xué)計(jì)劃中存在與嵌入式系統(tǒng)教學(xué)要求相脫節(jié)的因素,其中一個(gè)比較突出的問(wèn)題就是電子類學(xué)生軟件基礎(chǔ)比較弱。雖然電子類專業(yè)的學(xué)生都先修過(guò)“C 編程語(yǔ)言”、“計(jì)算機(jī)原理”等課程,但是缺乏大型軟件項(xiàng)目的開(kāi)發(fā)經(jīng)驗(yàn),尤其缺乏操作系統(tǒng)方面的相關(guān)知識(shí)。這些都為嵌入式系統(tǒng)課程的教學(xué)帶來(lái)了一定的困難,因此在嵌入式系統(tǒng)課程體系中增加一些用于彌補(bǔ)學(xué)生軟件知識(shí)的課程就非常有必要了。凌明副教授2005年開(kāi)始在集成電路學(xué)院開(kāi)設(shè)的“高級(jí)嵌入式系統(tǒng)C編程”碩士選修課無(wú)疑是為解決這個(gè)問(wèn)題而進(jìn)行的有益嘗試,而通過(guò)5屆學(xué)生課程的講解也取得了非常好的教學(xué)效果。雖然關(guān)于嵌入式系統(tǒng)方面的專業(yè)書(shū)籍出版了很多,但是適合教學(xué)的教材可謂鳳毛麟角,因此在我的建議下凌明老師開(kāi)始將課程講義的主要內(nèi)容進(jìn)行了系統(tǒng)地整理,編寫成為面向本科高年級(jí)和碩士階段教學(xué)的這本教材。
全書(shū)分為9章。第1章簡(jiǎn)要回顧了C語(yǔ)言的發(fā)展歷史并給出了作者對(duì)于學(xué)習(xí)C語(yǔ)言的一些建議和參考書(shū)目。第2章和第3章將C語(yǔ)言的主要語(yǔ)言要素作了提綱挈領(lǐng)式的總結(jié)和復(fù)習(xí),雖然不是一本C語(yǔ)言的入門教科書(shū),但是出于對(duì)全書(shū)的系統(tǒng)性以及教學(xué)的考慮,作者用了一定的篇幅將C語(yǔ)言中的主要內(nèi)容進(jìn)行了總結(jié),其中第2章重點(diǎn)介紹了C語(yǔ)言的關(guān)鍵字與運(yùn)算符,第3章則重點(diǎn)介紹了C語(yǔ)言的函數(shù)、標(biāo)準(zhǔn)C庫(kù)以及相關(guān)內(nèi)容。第4章詳細(xì)介紹了嵌入式系統(tǒng)軟件開(kāi)發(fā)的基本流程和原理,并針對(duì)ARM處理器作了比較詳細(xì)的介紹。第5章是全書(shū)的重點(diǎn)和難點(diǎn)之一,詳細(xì)介紹了C語(yǔ)言中指針使用的高級(jí)技巧以及程序員需要規(guī)避的內(nèi)存“陷阱”,本章的后半部分還以實(shí)際的案例講解了動(dòng)態(tài)內(nèi)存的分配與釋放,然后以ASIX Window的實(shí)際案例進(jìn)行了構(gòu)建復(fù)雜數(shù)據(jù)結(jié)構(gòu)的講解。第6章則詳細(xì)介紹了嵌入式系統(tǒng)中底層驅(qū)動(dòng)的編寫技巧以及相關(guān)中斷處理程序的編寫技巧,尤其是針對(duì)函數(shù)重入的問(wèn)題進(jìn)行了細(xì)致的分析與討論,本章的后半部分還以一個(gè)實(shí)際的鍵盤驅(qū)動(dòng)以及UBOOT為例進(jìn)行了案例講解。在第7章中,作者介紹了嵌入式C語(yǔ)言編程需要遵循的編程規(guī)范和編碼風(fēng)格,本章的內(nèi)容幾乎在其他所有教科書(shū)中都沒(méi)有涉及,但實(shí)際上對(duì)于工程項(xiàng)目的開(kāi)發(fā)而言,本章的內(nèi)容又是非常重要和實(shí)用的。只要是軟件就離不開(kāi)調(diào)試,初學(xué)者往往在調(diào)試代碼的過(guò)程中不知所措,因此在第8章中,作者介紹了嵌入式軟件調(diào)試的基本技巧和常用工具。本章的主要內(nèi)容也是本書(shū)的特色之一,作者從工程的角度比較系統(tǒng)地介紹了嵌入式軟件開(kāi)發(fā)調(diào)試過(guò)程中常用的方法,這對(duì)于初學(xué)者是非常有幫助的。第9章則以東南大學(xué)國(guó)家專用集成電路系統(tǒng)工程技術(shù)研究中心自主研發(fā)的ASIX Window嵌入式圖形用戶界面(GUI)作為一個(gè)綜合案例,詳細(xì)講解了一個(gè)復(fù)雜軟件系統(tǒng)的總體設(shè)計(jì)架構(gòu)。
本書(shū)的特色之處是強(qiáng)調(diào)實(shí)際嵌入式軟件項(xiàng)目中常用的技巧和方法,并融合了作者在所從事的科研項(xiàng)目中總結(jié)出來(lái)的經(jīng)驗(yàn)和心得。本書(shū)適合電子類專業(yè)本科高年級(jí)和相關(guān)專業(yè)碩士的教學(xué),可以作為相關(guān)選修課程的教材或主要參考用書(shū),另外由于本書(shū)內(nèi)容的實(shí)戰(zhàn)性很強(qiáng),因此也非常適合作為廣大嵌入式系統(tǒng)工程師的參考用書(shū)。
代碼片段和文件信息
評(píng)論
共有 條評(píng)論