嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II在GPRS終端系統(tǒng)中的應(yīng)用
本系統(tǒng)中,首先調(diào)用OSInit(),初始化μC/OS-II所有的變量和數(shù)據(jù)結(jié)構(gòu),再調(diào)用arm_init()初始化微控制器的定時(shí)器及串口等硬件,通過(guò)調(diào)用OSTaskCreate(),依次創(chuàng)建各個(gè)任務(wù),最后調(diào)用OSStart()啟動(dòng)系統(tǒng),開(kāi)始多任務(wù)調(diào)度。整個(gè)系統(tǒng)控制程序模塊及流程如圖2 所示。
圖2 系統(tǒng)控制程序模塊及流程
整個(gè)系統(tǒng)中的任務(wù)包括arm控制部分的鍵盤(pán)掃描、LCD顯示任務(wù)和通信任務(wù)以及GPRS終端功能的短消息任務(wù),語(yǔ)音通話任務(wù)等。因此,在μC/OS-II系統(tǒng)中的任務(wù)主要包括:
鍵盤(pán)掃描任務(wù)task_sys_key scan(),包括4×4鍵盤(pán)部分的掃描識(shí)別keyscan(),以及對(duì)應(yīng)按鍵功能編碼的實(shí)現(xiàn)keyscan_code()等。
LCD顯示任務(wù)task_sys_ lcddis(),包括背景內(nèi)容顯示display_context()、輸入內(nèi)容顯示display_input()、輸出內(nèi)容顯示display_output()等。
通信任務(wù)task_sys_ communication(),除了包括系統(tǒng)和主機(jī)進(jìn)行通信的函數(shù)host_msg(),以實(shí)現(xiàn)通過(guò)電腦進(jìn)行系統(tǒng)操作,還有各個(gè)任務(wù)之間相互通信的處理msg_tasl()。
話音通話任務(wù)task_sys_ telephone(),其中包括電話呼叫GPRS_phone_call()、電話接聽(tīng)gprs_phone_recevie()等。 另外,還包括系統(tǒng)短信收發(fā)任務(wù)。
根據(jù)系統(tǒng)進(jìn)行GPRS短消息通信和語(yǔ)音通信的功能要求,設(shè)置各個(gè)任務(wù)的優(yōu)先級(jí)如表1所示。
結(jié)語(yǔ)
μC/OS-II實(shí)時(shí)操作系統(tǒng)是開(kāi)放源代碼且得到實(shí)際驗(yàn)證的軟件平臺(tái),而S3C44BOx具有強(qiáng)大的32位RISC性能,基于此軟件及硬件平臺(tái)對(duì)GPRS模塊進(jìn)行設(shè)計(jì),能大量減輕研發(fā)任務(wù),提高研發(fā)速度,為在短時(shí)間內(nèi)實(shí)現(xiàn)GPRS終端系統(tǒng)設(shè)計(jì)創(chuàng)造良好條件。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論