版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
語言編程及Bios操作系統(tǒng)
語言編程C理解C編碼風格C性能優(yōu)化C軟件模塊和模塊化分C防御性編程C測試和評審
語法及語義constINT16Swtest=-123;wtest++;編譯器處理語法錯誤constINT16Swtest=-123;a=sqrt(wtest);語義錯誤亂序編譯亂序Inta;Intb;{a=b+1;b=0;}{b=0;a=b+1;}關鍵字volatile防止編譯優(yōu)化,不允許讀寫合并。1.中斷服務程序中修改的供其它程序檢測的變量需要加volatile;
2、多任務環(huán)境下各任務間共享的標志應該加volatile;
3、存儲器映射的硬件寄存器通常也要加volatile說明,因為每次對它的讀寫都可能由不同意義;內存越界與棧溢出Main(){intx[16],y[16],z[16];y[16]=0xff;}數組名與數組指針I(yè)ntintArray[10];sizeof(intArray)=20;//數組Int*p=intArray;sizeof(p)=2;//存放地址sizeof計算字節(jié)?計算字?
static/extern關鍵字Static作用范圍:本函數體,模塊內,內存僅被分配一次,下次調用仍維持上次的值原則:盡可能多,但不能更多。extern作用范圍:全局跨模塊。僅聲明,未分配內存空間原則:盡可能少,但不能更少。(API)C編碼風格therealaudience:otherprogrammers.writefortheirbenefit.------codecraft命名:變量、函數、文件(風格一致)代碼排版和布局(建議):函數不超過50行一行不超過80列縮進不大于4級代碼群落加空行相似的函數排版靠近編寫自注釋代碼sFanCtrl(f32EnvironmentFitTemp,f32PowerFitTemp,f32TotalGridLongApparentPower);{return(uwfanstatusTemp);}代碼可自注釋時,不再添加注釋。添加注釋的原則:
解釋why,而不是howC性能優(yōu)化二八原則:過早或不必要的優(yōu)化,是萬惡之源如下幾個方面(時間、空間):宏#define/內聯(lián)inline內嵌匯編(關鍵部分)利用硬件特性(DMA、RS232利用超時中斷)以空間換時間編譯優(yōu)化C軟件模塊和模塊劃分模塊:一個.c和一個.h的結合,頭文件(.h)是模塊接口的聲明。原則:高內聚,低耦合軟件目錄組織:1.drivers2.include3.boards4…..5.common
芯片和板間share代碼:1.驅動和板極邏輯分離2.業(yè)務和平臺邏輯分離任務劃分原則:1.I/O原則2.優(yōu)先級原則3.功能耦合4.大量運算5.頻率組合
C防御性編程
Murphy’sLaw:ifanythingcangowrong,itwill.防御性編碼風格:FollowinglanguageidiomsCheckingnumericlimits……(timefst+timesnd)/2;timefst/2+timesnd/2;斷言判斷一個表達式,如果結果為假,輸出診斷消息并中止程序1.在函數開始處檢驗傳入參數的合法性2.用來檢查程序的邏輯正確性3.消除所做的隱式假定#include<assert.h>C測試和評審C測試:白盒測試TDDCuTestCunitC評審:網頁、郵件等CodereviewBios安裝插件1.bios_setupwin322.tirtos_c2000_setupwin32Bios操作系統(tǒng)Main函數初始化結束最后需調用操作系統(tǒng)的庫函數BIOS_start();。需注意,main函數中一定不能存在無限循環(huán),否則整個BIOS程序存在癱瘓的風險在DSP/BIOS中,硬件中斷有最高的優(yōu)先級,然后是軟件中斷,軟件中斷可以被高優(yōu)先權軟件中斷
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版杉木林木材市場調研與買賣預測合同3篇
- 二零二五年幼兒園幼兒安全防護責任合同2篇
- 2025年度智能家居門窗系統(tǒng)安裝及售后服務合同范本3篇
- 二零二五版農用車租賃管理及技術支持合同3篇
- 2025年度木工材料采購與供應合同范本4篇
- 二零二五年礦山轉讓協(xié)議及礦產資源開發(fā)運營合同3篇
- 二零二五年度投資擔保公司產業(yè)投資基金合同
- 課題申報參考:明清江南文人居室陳設藝術研究
- 2025年度城市地下綜合管廊配電箱柜安全防護采購合同4篇
- 二零二五年度文化創(chuàng)意產業(yè)合作聘請兼職勞務合同
- 人工智能算法與實踐-第16章 LSTM神經網絡
- 17個崗位安全操作規(guī)程手冊
- 數學史簡介課件可編輯全文
- 2025年山東省濟南市第一中學高三下學期期末統(tǒng)一考試物理試題含解析
- 中學安全辦2024-2025學年工作計劃
- 網絡安全保障服務方案(網絡安全運維、重保服務)
- 2024年鄉(xiāng)村振興(產業(yè)、文化、生態(tài))等實施戰(zhàn)略知識考試題庫與答案
- 現代科學技術概論智慧樹知到期末考試答案章節(jié)答案2024年成都師范學院
- 軟件模塊化設計與開發(fā)標準與規(guī)范
- 2024年遼寧鐵道職業(yè)技術學院高職單招(英語/數學/語文)筆試歷年參考題庫含答案解析
- 有機農業(yè)種植模式
評論
0/150
提交評論