uC/OS-II在GPRS終端系統中的應用
實(shí)時(shí)嵌入式操作系統uC/OS-II面向中小型嵌入式應用,包含全部功能模塊的內核大約為10KB,RAM的應用量主要與系統中的任務(wù)數有關(guān)。
GPRS是在目前運行的GSM網(wǎng)絡(luò )基礎上發(fā)展起來(lái)的數據業(yè)務(wù),可以采用與GSM同樣的調制技術(shù)、頻率,以及同樣的TDMA幀結構。利用現有的基站子系統(BSS),GPRS從一開(kāi)始就可以提供全面的覆蓋。
GPRS終端系統的硬件組成
GPRS終端系統主要由控制部分和GPRS無(wú)線(xiàn)模塊組成,如圖1所示。
圖1 GPRS終端的硬件組成原理
為了適應嵌入式技術(shù)在GPRS通信中的應用,系統的控制部分采用了S3C44B0x芯片。
S3C44B0x是16/32位RISC微處理器, 為手持設備和通常應用提供了一種高性?xún)r(jià)比的解決方案。
S3C44B0x具有豐富的片內資源,可以通過(guò)串行接口操作GPRS模塊,操作指令為AT命令集。
GPRS無(wú)線(xiàn)模塊采用了SIM300,該模塊支持GPRS的語(yǔ)音、數據和短信息功能,內嵌TCP/IP協(xié)議。該模塊主要由射頻天線(xiàn)、內部 Flash、SRAM、GSM基帶處理器、匹配電源和一個(gè)60腳的ZIF插座組成。其中,GSM基帶處理器是核心部件,其作用相當于一個(gè)協(xié)議處理器,用來(lái)處理外部系統通過(guò)串口發(fā)送過(guò)來(lái)的AT指令。GPRS模塊接收速率可達86.2kbps,發(fā)送速率達21.5kbps,易于集成。
uC/OS-II的移植
uC/OS-II是一個(gè)移植性很強的操作系統,其源代碼分為硬件無(wú)關(guān)和硬件有關(guān)兩個(gè)部分,移植時(shí)只需修改與硬件有關(guān)的部分。移植uC/OS-II到S3C44B0X 上,需做以下工作:
(1) 修改數據類(lèi)型
為保持與平臺的無(wú)關(guān)性,uC/OS-II使用經(jīng)過(guò)宏定義的通用類(lèi)型,如INT16U,表示16 位無(wú)符號數。在移植時(shí),要把它們映射成正確的類(lèi)型。
(2) 進(jìn)入和退出臨界段
用關(guān)閉和打開(kāi)中斷的方式,實(shí)現進(jìn)入臨界段函數OS_ENTER_CRITICAL()和退出臨界段函數OS_EX2IT_CRITICAL()。
(3) 設置堆棧生長(cháng)方向
不同的處理器堆棧的生長(cháng)方向不同,對S3C44B0X來(lái)說(shuō),其生長(cháng)方向可以向上也可以向下。但是,由于編譯器ADS僅支持堆棧從上往下長(cháng),并且必須是滿(mǎn)遞減堆棧,所以這里要設置的實(shí)際使用方向為向下增長(cháng),即
#define OS_STR_GROWTH 1;
(4) 任務(wù)的切換和調度
進(jìn)行任務(wù)的切換和調度有兩種方法,一是當前運行的任務(wù)主動(dòng)調用OS_Sched() ,判斷是否有更高優(yōu)先級的任務(wù)要運行,如果有就將其切換到就緒態(tài),然后調用OS_TASK_SW() ,產(chǎn)生一個(gè)軟中斷,中斷向量指向函數OSIntCtxSw() ,在其中修改任務(wù)堆棧,運行新的任務(wù)。二是產(chǎn)生硬件中斷后,在中斷處理函數中調用OSIntEx()。
tcp/ip相關(guān)文章:tcp/ip是什么
評論