新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > uC/OS-II在GPRS終端系統中的應用

        uC/OS-II在GPRS終端系統中的應用

        作者: 時間:2012-03-31 來源:網絡 收藏

          在上述過程中,產生軟中斷和修改任務堆棧的代碼都是與處理器相關的, 的軟中斷匯編指令是SWI ,壓棧和出棧的匯編指令分別是STM和LDM。

          (5) 堆棧的初始化

          uC/OS-II在創建任務時會調用OSTaskStkInt() 函數對任務堆棧進行初始化,這里需要將堆棧設置成和產生中斷后的形式一樣,一般包括任務起始地址、中斷返回地址、CPU 寄存器等內容。另外,還要保證任務是運行在特權模式下,而不是用戶模式下。

          (6) 時鐘節拍中斷

          uC/OS-II用時鐘節拍中斷實現時間延遲和超時功能,定時頻率一般在10Hz~100Hz。設置定時器的代碼與CPU 相關,中斷向量必須指向uC/OS-II時鐘節拍中斷服務子程序OSTickISR() 。

          系統的流程和任務的組成

          本系統中,首先調用OSInit(),初始化uC/OS-II所有的變量和數據結構,再調用ARM_init()初始化微控制器的定時器及串口等硬件,通過調用OSTaskCreate(),依次創建各個任務,最后調用OSStart()啟動系統,開始多任務調度。整個系統控制程序模塊及流程如圖2所示。

        圖2 系統控制程序模塊及流程

          整個系統中的任務包括ARM控制部分的鍵盤掃描、LCD顯示任務和通信任務以及功能的短消息任務,語音通話任務等。因此,在uC/OS-II系統中的任務主要包括:

          鍵盤掃描任務task_sys_key scan(),包括4×4鍵盤部分的掃描識別keyscan(),以及對應按鍵功能編碼的實現keyscan_code()等。

          LCD顯示任務task_sys_ lcddis(),包括背景內容顯示display_context()、輸入內容顯示display_input()、輸出內容顯示display_output()等。

          通信任務task_sys_ communication(),除了包括系統和主機進行通信的函數host_msg(),以實現通過電腦進行系統操作,還有各個任務之間相互通信的處理msg_tasl()。

          話音通話任務task_sys_ telephone(),其中包括電話呼叫gprs_phone_call()、電話接聽gprs_phone_recevie()等。 另外,還包括系統短信收發任務。

          根據系統進行GPRS短消息通信和語音通信的功能要求,設置各個任務的優先級如表1所示。

          結語

          uC/OS-II實時操作系統是開放源代碼且得到實際驗證的軟件平臺,而S3C44BOx具有強大的32位RISC性能,基于此軟件及硬件平臺對GPRS模塊進行設計,能大量減輕研發任務,提高研發速度,為在短時間內實現系統設計創造良好條件。■

          參考文獻

          1.周航慈,吳光文等,基于嵌入式實時操作系統的程序設計技術[M],北京航空航天大學出版社,2006

          2.曹莉,基于GPRS網絡的數據無線傳輸的實現接口[C],現場總線與網羅技術,2006

          3.華亮,基于uC/OS-II的嵌入式系統應用平臺的構建[C],計算機工程,2004年

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永和县| 彭州市| 读书| 改则县| 五峰| 汉源县| 麟游县| 长岛县| 安平县| 廉江市| 临猗县| 通榆县| 泽库县| 临漳县| 九寨沟县| 西林县| 娄底市| 达州市| 北海市| 青岛市| 沂源县| 赞皇县| 平谷区| 盐津县| 武陟县| 汪清县| 清徐县| 海原县| 白玉县| 寿光市| 阿勒泰市| 纳雍县| 新竹市| 资阳市| 桃园县| 嘉兴市| 新宁县| 喀喇| 涞水县| 龙泉市| 十堰市|