九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

大連理工大學軟件學院

上傳人:san****019 文檔編號:23752050 上傳時間:2021-06-10 格式:PPT 頁數:54 大?。?59KB
收藏 版權申訴 舉報 下載
大連理工大學軟件學院_第1頁
第1頁 / 共54頁
大連理工大學軟件學院_第2頁
第2頁 / 共54頁
大連理工大學軟件學院_第3頁
第3頁 / 共54頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《大連理工大學軟件學院》由會員分享,可在線閱讀,更多相關《大連理工大學軟件學院(54頁珍藏版)》請在裝配圖網上搜索。

1、1TM 1 n大連理工大學軟件學院 邱鐵辦公樓409Tel:87571521E_mail: 參考教材:ARM嵌入式系統(tǒng)結構與編程 清華大學出版社2009年3月出版ARM嵌 入 式 系 統(tǒng) 結 構 與 編 程 2TM 第8章 ARM匯編語言與嵌入式C混合編程本章首先簡要的介紹了嵌入式C語言的編程規(guī)范,嵌入式開發(fā)中常用的位運算與控制位域及在嵌入式C程序設計中要注意的問題,為讀者進行嵌入式C程序設計打基礎。然后介紹在ARM匯編語言與嵌入式C語言進行相互調用的標準(AAPCS),并以大量的實例說明了相互調用應注意的問題。 3TM 3 內容提要81 嵌入式C編程規(guī)范82 嵌入式C程序設計中的位運算83

2、嵌入式C程序設計中的幾點說明84 嵌入式C程序設計格式85 過程調用標準ATPCS與AAPCS86 ARM匯編語言與嵌入式C混合編程 4TM 4 8.1 嵌入式C編程規(guī)范n在當前的嵌入式開發(fā)中,嵌入式C語言是最為常見的程序設計語言,對于程序員來說,能夠完成相應功能的代碼并不一定是優(yōu)秀的代碼。n優(yōu)秀的代碼還要具備易讀性、易維護性、具有可移植和高可靠性。 5TM 5 8.1.1 嵌入式C程序書寫規(guī)范n排版規(guī)則如下: n(1)程序塊要采用縮進風格編寫 n(2)較長的語句(例如超過80個字符)要分成多行書寫 n(3)循環(huán)、判斷等語句中若有較長的表達式或語句,則要進行適應的劃分 n(4)若函數或過程中參

3、數較長,也要進行適當的劃分。n(5)一般不要把多個短語句寫在一行中 n(6)程序塊的分界符語句的大括號“”與“”一般獨占一行并且在同一列 6TM 6 書寫規(guī)范示例: 7TM 7 8.1.2 命名規(guī)則n (1)標識符的名稱要簡明,能夠表達出確切的含義,可以使用完整的單詞或通??梢岳斫獾目s寫。n(2)如果在命名中使用特殊約定或縮寫,則要進行注釋說明。 n(3)對于變量命名,一般不取單個字符 ,例如i、j、k. n(4)函數名一般以大寫字母開頭;所有常量名字母統(tǒng)一用大寫。 8TM 8 8.1.3 注釋說明n注釋有助于程序員理解程序的整體結構,也便于以后程序代碼的維護與升級。常用的規(guī)則如下: n(1)

4、注釋語言必須準確、簡潔且容易理解;n(2)程序代碼源文件頭部應進行注釋說明 ;n(3)函數頭部應進行注釋;n(4)程序中所用到的特定含義的常量、變量,在聲明時都要加以注釋 ; 9TM 9 n(5)對于宏定義、數據結構聲明,如果其命名不是充分自注釋的,也要加以注釋。n(6)如果注釋單獨占用一行,與其被注釋的內容進行相同的縮進方式,一般將注釋與其上面的代碼用空行隔開 n(7)程序代碼修改時,其注釋也要及時修改,一定要保證代碼與注釋保持一致。 10TM 10 命名規(guī)則示例: 11TM 11 8.2 嵌入式C程序設計中的位運算n在嵌入式程序設計中,位操作是最常用的運算之一,因為在很多情況下要對寄存器中

5、的某位或某個管腳進行操作,這些都需要用位操作來完成。 12TM 12 8.2.1 按位與操作n按位與運算符“n printf(numbert exp2t exp3t exp4n);n printf(-t-t-t-n); n for(n=1;n=MAX_POWER;n+)n printf(%2dt %3dt %4dt %5dn,n,SQR(n),CUBE(n),QUAD(n);n 39TM 39 n程序運行結果 40TM 40 n條件編譯n (1). 形式1:#ifdef 標識符程序段1#else程序段2#endif 41TM 41 n(2). 形式2n#ifndef 標識符n程序段1n#els

6、en程序段2n#endif 42TM 42 n (3). 形式3n #ifdef 表達式1程序段1n #elif 表達式2程序段2n #elsen 程序段3n #endif 43TM 43 8.4嵌入式C程序設計格式n8.4.1 可重入函數n8.4.2 中斷處理程序n8.4.3 模塊化程序設計 44TM 44 8.4.1 可重入函數 n如果某個函數可以被多個任務并發(fā)使用,而不會造成數據錯誤,我們就說這個函數具有可重入性(reentrant) 。 45TM 45 n可重入函數可以使用局部變量,也可以使用全局變量。n如果使用全局變量,則應通過關中斷、信號量(即P、V操作)等手段對其加以保護 46T

7、M 46 示例解析: n分析下面的函數是否具有可重入性 n static int tmp;n void swap(int* a, int* b) n n tmp=*a; n *a=*b; n *b=tmp;n 47TM 47 n void swap(int* a, int* b) n n int tmp;n tmp=*a; n *a=*b; n *b=tmp;n 48TM 48 在操作系統(tǒng)中,通過信號量機制使得函數具有可重入性:n static int tmp;n void swap(int* a, int* b) n n 申請信號量操作n tmp=*a; n *a=*b; n *b=tmp;

8、 n 釋放信號量操作 n 49TM 49 8.4.2 中斷處理程序n在編寫中斷服務程序時需要滿足如下要求:n(1)不能向中斷服務程序傳遞參數;n(2)中斷服務程序沒有返回值;n(3)中斷服務程序應要盡可能短,來減少中斷服務程序的處理時間,保證實時系統(tǒng)的性能。 50TM 50 8.4.3 模塊化程序設計n嵌入式C程序設計主要采用模塊化設計方法,將系統(tǒng)內的任務進行合理的劃分,將具有同一屬性或相同類別的代碼歸為一類組成模塊,每個模塊的功能相對獨立。n將整個軟件系統(tǒng)分為多個模塊,編程思路就會很清晰。 51TM 51 嵌入式系統(tǒng)軟件模塊劃分 52TM 52 示例解析 n應用舉例見教材ARM嵌入式系統(tǒng)結構與編程第202頁例8-14 53TM 第8章 ARM匯編語言與嵌入式C混合編程上半部完 54TM 54 下半部內容提示85 過程調用標準ATPCS與AAPCS86 ARM匯編語言與嵌入式C混合編程

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!