FreeRTOS嵌入式實時操作系統(tǒng)開發(fā)介紹
本文引用地址:http://m.butianyuan.cn/article/148818.htm
方法2的優(yōu)點是,能根據(jù)任務(wù)需要高效率地使用內(nèi)存,尤其是當不同的任務(wù)需要不同大小的內(nèi)存的時候。方法二的缺點是,不能把應(yīng)用程序釋放的內(nèi)存和原有的空閑內(nèi)存混合為一體,因此,若應(yīng)用程序頻繁申請與釋放“隨機”大小的內(nèi)存,就可能造成大量的內(nèi)存碎片。這就要求應(yīng)用程序申請與釋放內(nèi)存的大小為“有限個”固定的值(如圖2中申請與釋放內(nèi)存的大小固定為l KB、2 KB或3 KB)。方法2的另一個缺點是,程序執(zhí)行時間具有一定的不確定性。
μC/OS—II提供的內(nèi)存管理機制是把連續(xù)的大塊內(nèi)存按分區(qū)來管理,每個分區(qū)中包含整數(shù)個大小相同的內(nèi)存塊。由于每個分區(qū)的大小相同,即使頻繁地申請和釋放內(nèi)存也不會產(chǎn)生內(nèi)存碎片問題,但其缺點是內(nèi)存的利用率相對不高。當申請和釋放的內(nèi)存大小均為一個固定值時(如均為2 KB),FreeRTOS的方法2內(nèi)存分配策略就可以實現(xiàn)類似μC/OS—Ⅱ的內(nèi)存管理效果。
2.5 FreeRTOS的移植
FreeRTOS操作系統(tǒng)可以被方便地移植到不同處理器上工作,現(xiàn)已提供了ARM、MSP430、AVR、PIC、C8051F等多款處理器的移植。FrceRTOS在不同處理器上的移植類似于μC/0S一II,故本文不再詳述FreeRTOS的移植。此外,TCP/IP協(xié)議棧μIP已被移植到FreeRTOS上,具體代碼可見FreeRTOS網(wǎng)站。
2.6 FreeRTOS的不足
相對于常見的μC/OS—II操作系統(tǒng),F(xiàn)reeRTOS操作系統(tǒng)既有優(yōu)點也存在不足。其不足之處,一方面體現(xiàn)在系統(tǒng)的服務(wù)功能上,如FreeRTOS只提供了消息隊列和信號量的實現(xiàn),無法以后進先出的順序向消息隊列發(fā)送消息;另一方面,F(xiàn)reeRTOS只是一個操作系統(tǒng)內(nèi)核,需外擴第三方的GUI(圖形用戶界面)、TCP/IP協(xié)議棧、FS(文件系統(tǒng))等才能實現(xiàn)一個較復(fù)雜的系統(tǒng),不像μC/OS-II可以和μC/GUI、μC/FS、μC/TCP-IP等無縫結(jié)合。
3 結(jié) 論
作為一個源碼公開的操作系統(tǒng),學(xué)習(xí)FreeRTOS可以更好地掌握嵌入式實時操作系統(tǒng)的實現(xiàn)原理;作為一個免費的操作系統(tǒng),采用FreeRTOS可在基本滿足較小系統(tǒng)需要的情況下降低系統(tǒng)成本、簡化開發(fā)難度。在實踐中,采用FreeRTOS操作系統(tǒng)和MSP430單片機構(gòu)成的溫度控制系統(tǒng)穩(wěn)定可靠,實現(xiàn)了較好的控制效果。相信隨著時間的發(fā)展,F(xiàn)reeRTOS會不斷完善其功能,以更好地滿足人們對嵌入式操作系統(tǒng)實時性、可靠性、易用性的要求。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論