freertos ram使用情況及優(yōu)化方法_第1頁
freertos ram使用情況及優(yōu)化方法_第2頁
freertos ram使用情況及優(yōu)化方法_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

FreeRTOSRAM使用情況及優(yōu)化方一.FreeRTOSRAM使用情況及優(yōu)化方一.寫在前面的話嵌入式設(shè)計中使RTOS必然會帶來額外RAM消耗,然而許多初次接RTOS的工程師并不清楚在FreeRTOS下優(yōu)RAM使用的方法,也由衷的期望讀者在使用其RTOS時,可以通過相似的思路來解決問題二.FREERTOSRAM使用情FreeRTOS的組件包括調(diào)度器,內(nèi)存管理單元及任務(wù)間通訊方法,當然還提供可選的軟件定時器(一個任務(wù)還需要一定的堆??臻g。在具體的應(yīng)用中,使用的任務(wù)數(shù)量可能不同,每個任務(wù)的堆棧空也可能不一樣,任務(wù)間通訊的方式也可能不同,當然我們還要考慮到MCU得內(nèi)核和編譯器優(yōu)化選項問題。但是,通過簡單的估算,還是可以輕松的得到RAM使用情況的大體信息文中提供的信息是以STM32F407(Cortex-M4內(nèi)核)為硬件,IAR編譯選項開到最高,F(xiàn)reeRTOS用最新的v8.0.0來進行測試的?;厩闆r呢我們慢慢來分析一下1.采用嵌入式系統(tǒng)中比較常見的搶占式內(nèi)核256bytes左右。真的很小,當然與IAR的編譯優(yōu)化有關(guān)系2.任一個任務(wù)的內(nèi)存使用包括兩個部分,任務(wù)控制塊(TaskControlBlock,嗯,大名鼎鼎的TCB)和任堆??臻g。在任務(wù)控制塊的結(jié)構(gòu)體信息中包含很多預(yù)編譯選項(預(yù)編譯選項包括什么,我建議你閱下源碼),總體而言,毫無疑問的是你想要的越多,付出的也得越多。按最小配置情況來講,任務(wù)制塊需要64bytes(任務(wù)名這里設(shè)置為4bytes)任務(wù)堆棧就是一個比較棘手的問題了,許多工程師一上來就分配512bytes(⊙﹏⊙b汗)。其實許好了,就是上面提到的信息全部得以保存即可。并不是每個任務(wù)都需要好了,就是上面提到的信息全部得以保存即可。并不是每個任務(wù)都需要512bytes的。最后,分配的對齊,也就是128,256,512等等3.任務(wù)間通任務(wù)間通訊RTOS提供的另一項重要機制,方法很多,信號量,隊列,郵箱等(如果你不知道我說的是什么,搜下邵貝貝吧:-D)。在FreeRTOS中,所有的通訊機制都是基于隊列,因此,在源碼)。另外,至關(guān)重要的是,隊列可以存放簡單的數(shù)據(jù),比如一個變量(這就可以誕生信號量當然也可以存放數(shù)組,指針什么的。數(shù)組需要的空間,指針指向內(nèi)容所需要的空間是需要額外計算的4.定時RTOS往往都提供了軟件定時器,用起來還是不錯的,個人感覺在消費類電子產(chǎn)品中使用軟件定時更合適些。一個定時器56bytes。就這些總結(jié)一下。見下表在產(chǎn)品評估階段,參考這些信息進行一般的估計是可行的,當然還是要給自己留三.優(yōu)化方法1.FreeRTOS提供了非常多的的方法來獲得哪些RAM被分配了但是沒有被使用。簡單的閱讀下代碼注馬上就可以使用相關(guān)的函數(shù)了,都在task.c中。這個辦法可以很好的降低任務(wù)堆棧所浪費的空2.FreeRTOS所有的任務(wù)都不會被阻塞你就可以刪掉守護任務(wù)調(diào)試選項當然也應(yīng)該關(guān)掉根據(jù)應(yīng)用的情況,將最大優(yōu)先級和最小

溫馨提示

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

評論

0/150

提交評論