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