freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式系統(tǒng)開發(fā)過程(2)(參考版)

2025-05-16 07:27本頁面
  

【正文】 。 提示:嵌入式系統(tǒng)開發(fā)包括需求分析 、 設計 、 實現(xiàn) 、測試等方面 。 片上資源的明顯優(yōu)點在于它們不會受到片上 CACHE的欺騙 , 也不會延長代碼執(zhí)行時間 。 2. 4. 5. 3 處理器硬件對性能測試的支持 許多處理器硬件配備了性能監(jiān)測計數(shù)器 。 應將死代碼清除出去 , 減少代碼映象的長度 。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 4. 5. 2 性能測試與覆蓋測試作用互補 兩者并非完全無關(guān) 。 通常測試函數(shù)執(zhí)行時間的最小值 、 最大值和平均值 。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 4. 5. 1 如何測試性能 在性能測試中 , 主要關(guān)心函數(shù)執(zhí)行時間的長短 。 —— 當系統(tǒng)性能下降時 , 可以通過分析測試代碼找到性能下降的原因 , 進行改進 ( 首先想到的是通過軟件進行改進 ) , 而不是采用會增加成本 、 減少利潤 , 并使產(chǎn)品缺少競爭力的更快處理器 、 更多更快的 RAM/ROM來對系統(tǒng)進行升級設計 。 灰盒測試對于需要將新功能集成到較穩(wěn)定的老代碼庫中時非常有用 。 將灰盒測試與錯誤猜測結(jié)合起來時 , 就會成為非常有效的測試方法 。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 4. 4. 3 灰盒測試 白盒測試需要緊密聯(lián)系到代碼的內(nèi)部細節(jié) , 維護起來較困難;黑盒測試可以完成系統(tǒng)的功能測試 , 效率高一些 , 但是無法遍歷代碼實現(xiàn)的所有細節(jié) 。 ?條件覆蓋 。 ?判定或分支覆蓋 。包括: ?語句測試。 由于白盒測試依賴于具體的代碼實現(xiàn),只有代碼編寫完成后才能開始測試設計工作。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 4. 4. 2 覆蓋測試 即白盒測試 /玻璃盒測試 /路徑測試,盡可能使每條代碼語句、判定點或判定路徑都至少執(zhí)行一次,從而避免功能測試的弱點。 黑盒測試用例可以在系統(tǒng)需求分析工作完成以后馬上開發(fā) , 并與其它系統(tǒng)設計同時進行 。 ?性能測試 。 效率最低 。 基于以前進行軟件測試及測試類似程序的工作經(jīng)驗 。 測試應當觸發(fā)失敗模式或異常模式 。 輸入表示特定輸入范圍邊界的值 (最大值 、 最小值 、 0/1/+1等 ) 以及使輸出產(chǎn)生輸出范圍邊界的值 。 包括: ?極限情況測試 。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 4. 4. 1 功能測試 即黑盒測試 。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 4. 4 測試方法 理想狀態(tài)下,需要測試程序中的每一種可能行為,這意味著至少測試一次所有輸入組合或所有可能的判定路徑,但這是不切實際的,也是不可能的。兩種測試方法都是必不可少的,功能測試是第一位的。測試用例來源包括標準用例集和用戶自行設計。 ?由于實時性與同時性很難同時滿足,大多數(shù)測試集中于實時行為; ?由于大多數(shù)實時系統(tǒng)有資源約束,應進行更多的性能與可用性測試; ?可以使用一些實時跟蹤工具測試代碼的覆蓋率; ?對可靠性的測試級別要比一般應用軟件嚴格得多。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 4. 3 測試內(nèi)容 2. 4. 3. 1 嵌入式軟件與一般應用軟件測試的區(qū)別 ?嵌入式軟件必須在很長時間內(nèi)穩(wěn)定運行; ?嵌入式軟件一般不會頻繁地由用戶進行升級; ?嵌入式軟件有時使用在關(guān)鍵性的產(chǎn)品之中; ?嵌入式軟件必須與嵌入式硬件一起對產(chǎn)品故障負責; ?真實世界事件一般是異步而且不可預測的,這就使模擬測試既困難又不可靠; ?如果軟件出錯,可能會出現(xiàn)法律問題。只測試一遍是不夠的。要做到完備測試非常困難,但應盡量使用足夠多的測試用例來全面測試。 ( 1)單元測試 。調(diào)試是測試的一種。見圖。 2. 4. 1. 4 提高性能 測試最優(yōu)系統(tǒng)性能,找到并清除死代碼及無效代碼,幫助確認軟件已經(jīng)完全挖掘出硬件潛力,避免硬件重新設計。 2. 4. 1. 3 開發(fā)關(guān)鍵性任務軟件 對于關(guān)鍵性的系統(tǒng),關(guān)鍵性的軟件模塊尤其需要重視測試工作。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 4. 1. 2 減少風險 測試是為自己、公司及客戶最小化風險,測試的目標是證明系統(tǒng)與軟件正如設計所要求的那樣正常工作。如時序問題,硬件反應問題等。如編譯器、連接器錯誤。如 OS錯誤。 測試不能證明程序的“正確”,而只能找到錯誤 ,記住這一點非常重要!要知道程序中還有多少錯誤的惟一方法就是用經(jīng)過精心設計和量化的測試計劃來進行測試。 軟件測試 是嵌入式系統(tǒng)測試的另一重要方面,其重要性體現(xiàn)在: ?通過測試找到錯誤(軟件測試是唯一的方法); ?降低系統(tǒng)風險; ?節(jié)約開發(fā)與維護成本; ?提高性能。硬件測試還包括可靠性測試和電磁兼容性測試。 硬件測試 主要完成硬件電路的功能和性能指標的測試,功能在電路設計和實現(xiàn)中考慮,測試的重點在于性能指標。另外,其測試計劃也與眾不同。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 4 測試階段 嵌入式系統(tǒng)軟件的測試與應用軟件的測試有許多 共同之處 ,也有許多重要 差別 。 ( 9)采用匯編語言代碼編寫關(guān)鍵程序 。 ( 7)將局部變量定義為寄存器變量 或自動變量。 ( 6)應用程序設計技巧來減少計算量 。如果無法避免,應轉(zhuǎn)換成定點操作或使用具有浮點處理功能的 CPU,盡量不要進行浮點仿真(代碼容量大,速度慢)。遞歸程序需要使用很大的堆棧,消耗大量內(nèi)存,可能造成堆棧溢出,導致程序崩潰。應使用專為嵌入式系統(tǒng)建立的函數(shù)庫。應使用條件編譯程序設計方法,將調(diào)試狀態(tài)和執(zhí)行狀態(tài)予以區(qū)分。 ( 2)去除調(diào)試代碼 。考慮: ( 1)去除冗余代碼 ,即不執(zhí)行或執(zhí)行時無用的代碼。有時兩者是矛盾的,需要權(quán)衡,根據(jù)具體應用,確定優(yōu)先級。 第 2講 嵌入式系統(tǒng)開發(fā)過程 2. 3. 3. 4 代碼優(yōu)化 嵌入式系統(tǒng)軟件開發(fā)的目標不僅要 實現(xiàn) 預定的功能,特別重要的是利用 最優(yōu)的代碼 完成需要的功能。 2. 3. 2. 3 在目標系統(tǒng)上驗證軟件 當軟件在主機系統(tǒng)上測試過,就可以移植到目標電路板,完成對功能和性能的完整測試。目前有些嵌入式系統(tǒng)的開發(fā)工具提供商提供了在開發(fā)主機上驗證目標系統(tǒng)的手段。 如軟件調(diào)試( 軟件仿真器 ) 和硬件調(diào)試 ( 仿真調(diào)試器 ) ; OS內(nèi)核調(diào)試和 OS應用程序調(diào)試 , 這些都需要目標運行平臺和調(diào)試器的支持 。 ( 4) 聯(lián)機調(diào)試 。 Bootloader指定 image文件下載的位置 。 可以使用bootloader提供的 , 或通用的終端工具與目標板相連接 , 一般通過串口在主機和目標板進行通信 。 ( 3) 重定位和下載 。如 ARM的 Linux操作系統(tǒng) GCC交叉開發(fā)環(huán)境中 , armlinuxgcc是編譯器 ,armlinuxld是連接器 。 第 2講 嵌入式系統(tǒng)開發(fā)過程 ( 2) 交叉編譯和連接 。 而 IDE具有友好的人機界面 , 方便管理和控制項目的開發(fā) , 如 CodeWarrior。 按照使用方式 , CDE主要分為使用 Makefile和 IDE兩種類型 。 開放式 CDE主要有 GCC, 支持多種交叉平臺的編譯器 , 由 GNU負責維護 , 遵守 GPL( Genernal Public License) 規(guī)定 。 目標機由于資源限制 , 不可能既是開發(fā)環(huán)境 , 又是運行環(huán)境 , 也不必要 。 ( 1) 建立交叉開發(fā)環(huán)境 ( Cross Development Environment, CDE) 。 BSP通常不會太復雜 , 大多數(shù) OS的供應商會提供 BSP的開發(fā)方法和開發(fā)模板 。 OS的提供商通常把 OS分成兩層 ,上層與硬件無關(guān) , 下層與硬件有關(guān) 。 如果需要 EOS, 則還需要提供 OS開發(fā)工具 。 嵌入式處理器廠商通??擅赓M提供評估板供用戶使用 。 如果開發(fā)的是應用軟件 , 可以考慮;如果開發(fā)的是網(wǎng)絡應用程序 , 則是最佳選擇 。 使用 C語言開發(fā)嵌入式系統(tǒng)軟件通常不會帶來系統(tǒng)性能上的損失 。 幾乎所有的嵌入式系統(tǒng)的開發(fā)工具都支持混合編程方式 。 公認匯編語言是最高效的語言 , 能寫出最小最快的程序 , 但開發(fā)時間長 , 可讀性和可移植性差 , 難度大 。 ( 3) 語言的性能 。 ( 2) 選擇使用最廣泛的語言 。 大部分的嵌入式系統(tǒng)開發(fā)使用 C語言 、 匯編語言和 C++語言 , 另外目前有可能選擇 JAVA語言 。 具有可伸縮性的 OS具有使用的靈活性 , 用戶可以方便地裁剪不需要的部分 , 降低對硬件的資源要求 , 不必要的系統(tǒng)功能
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1