嵌入式開發(fā)專題_第1頁
已閱讀1頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、嵌入式開發(fā)專題嵌入式開發(fā)專題:C語言嵌入式系統(tǒng)編程修煉語言嵌入式系統(tǒng)編程修煉嵌入式開發(fā)專題嵌入式開發(fā)專題:C語言嵌入式系統(tǒng)編程修煉語言嵌入式系統(tǒng)編程修煉不同于一般形式的軟件編程,嵌入式系統(tǒng)編程建立在特定的硬件平臺上,勢必要求其編程語言具備較強的硬件直接操作能力。無疑,匯編語言具備這樣的特質(zhì)。但是,由于匯編語言開發(fā)的復雜性,它并不是嵌入式系統(tǒng)開發(fā)的一般選擇。而與之相比,C語言一種“高級的低級“語言,則成為嵌入式系統(tǒng)開發(fā)的最佳選擇。背景篇本

2、文的討論主要圍繞以通用處理器為中心的協(xié)議處理模塊進行,因為它更多地牽涉到具體的C語言編程技巧。本文講述的28個主題可分為兩類,一類是編程技巧,有很強的適用性;一類則介紹嵌入式系統(tǒng)編程的一般常識,具有一定的理論意義。不同于一般形式的軟件編程,嵌入式系統(tǒng)編程建立在特定的硬件平臺上,勢必要求其編程語言具備較強的硬件直接操作能力。無疑,匯編語言具備這樣的特質(zhì)。但是,歸因于匯編語言開發(fā)過程的復雜性,它并不是嵌入式系統(tǒng)開發(fā)的一般選擇。而與之相比,C

3、語言一種“高級的低級“語言,則成為嵌入式系統(tǒng)開發(fā)的最佳選擇。筆者在嵌入式系統(tǒng)項目的開發(fā)過程中,一次又一次感受到C語言的精妙,沉醉于C語言給嵌入式開發(fā)帶來的便利。圖1給出了本文的討論所基于的硬件平臺,實際上,這也是大多數(shù)嵌入式系統(tǒng)的硬件平臺。它包括兩部分:(1)以通用處理器為中心的協(xié)議處理模塊,用于網(wǎng)絡控制協(xié)議的處理;(2)以數(shù)字信號處理器(DSP)為中心的信號處理模塊,用于調(diào)制、解調(diào)和數(shù)模信號轉(zhuǎn)換。本文的討論主要圍繞以通用處理器為中心的

4、協(xié)議處理模塊進行,因為它更多地牽涉到具體的C語言編程技巧。而DSP編程則重點關(guān)注具體的數(shù)字信號處理算法,主要涉及通信領(lǐng)域的知識,不是本文的討論重點。著眼于討論普遍的嵌入式系統(tǒng)C編程技巧,系統(tǒng)的協(xié)議處理模塊沒有選擇特別的CPU,而是選擇了眾所周知的CPU芯片80186,每一位學習過《微機原理》的讀者都應該對此芯片有一個基本的認識,且對其指令集比較熟悉。80186的字長是16位,可以尋址到的內(nèi)存空間為1MB,只有實地址模式。C語言編譯生成的

5、指針為32位(雙字),高16位為段地址,低16位為段內(nèi)編譯,一段最多64KB。類則是常識型,在理論上有些意義。軟件架構(gòu)篇軟件結(jié)構(gòu)是軟件的靈魂!結(jié)構(gòu)混亂的程序面目可憎,調(diào)試、測試、維護、升級都極度困難。一個高尚的程序員應該是寫出如藝術(shù)作品般程序的程序員。內(nèi)容要點:模塊劃分多任務還是單任務單任務程序典型架構(gòu)中斷服務程序硬件驅(qū)動模塊C的面向?qū)ο蠡K劃分模塊劃分的“劃“是規(guī)劃的意思,意指怎樣合理的將一個很大的軟件劃分為一系列功能獨立的部分合作

6、完成系統(tǒng)的需求。C語言作為一種結(jié)構(gòu)化的程序設計語言,在模塊的劃分上主要依據(jù)功能(依功能進行劃分在面向?qū)ο笤O計中成為一個錯誤,牛頓定律遇到了相對論),C語言模塊化程序設計需理解如下概念:(1)模塊即是一個.c文件和一個.h文件的結(jié)合,頭文件(.h)中是對于該模塊接口的聲明;(2)某模塊提供給其它模塊調(diào)用的外部函數(shù)及數(shù)據(jù)需在.h中文件中冠以extern關(guān)鍵字聲明;(3)模塊內(nèi)的函數(shù)和全局變量需在.c文件開頭冠以static關(guān)鍵字聲明;(4)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論