新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM微處理器的uC/OS的移植設計

        ARM微處理器的uC/OS的移植設計

        作者: 時間:2016-09-12 來源:網絡 收藏

        μC/OS-II同樣實現了消息隊列結構OSQ及其操作,但是μC/OS-II沒有對消息隊列中的消息進行管理,因此不能直接使用,必須在μC/OS-II的基礎上重新實現。為了實現對消息的管理,我們定義了以下結構:

        typedef struct {

        OS_EVENT* pQ;

        void* pvQEntries[MAX_QUEUE_ENTRIES];

        } sys_mbox_t;

        在以上結構中,包括OS_EVENT類型的隊列指針(pQ)和隊列內的消息(pvQEntries)兩部分,對隊列本身的管理利用μC/OS- II自己的OSQ操作完成,然后使用μC/OS-II中的內存管理模塊實現對消息的創建、使用、刪除回收,兩部分綜合起來形成了LwIP的消息隊列功能。

        2.2.5 semaphone的實現和mbox類似,這里就不再重復了。

        3 uc/gui的

        3.1 LCD的接口函數

        在uC/GUI中LCD_LO_x之類的函數是無控制器LCD的接口函數。44B0X本身有LCD控制器。所以我在uC/GUI for 44B0X中基本移用LCDMemC.c這個程序。在這程序中都是關于LCD接口的驅動。其中在44B0X上主要修改以下幾個函數:

        (1)LCD初始化: int LCD_L0_Init (void);

        這個函數完成對44B0X LCD控制器的配置。顯存的映射。

        (2)畫點函數:void LCD_L0_DrawPixel(int x, int y, int c);

        取點函數:unsigned int LCD_L0_GetPixelIndex(int x, int y);

        uC/GUI中顯示字、圖形都這兩個函數有關。

        3.2 系統接口函數

        在uCOS-II中用GUI的,所以還要寫幾個操作系統接口函數。而GUI_X_x之類的函數是和操作系統相關的接口。

        (1)系統時間接口

        取系統時間: int GUI_X_GetTime (void);

        延時函數: void GUI_X_Delay (int ms);

        (2)任務調度函數

        任務初始化:void GUI_X_InitOS (void);

        任務鎖定:void GUI_X_Lock (void);

        任務解鎖:void GUI_X_Unlock (void);

        4 結束語

        上述完成后,使在arm微處理器上建立一個既有TCP/IP協議棧,又建立了圖形用戶接口的嵌入式實時操作系統。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 池州市| 台州市| 荆州市| 海淀区| 崇礼县| 毕节市| 松滋市| 新邵县| 姚安县| 彭水| 桃园市| 北宁市| 濮阳市| 常德市| 惠安县| 凤山县| 松原市| 射阳县| 容城县| 田东县| 通河县| 涿鹿县| 筠连县| 唐海县| 花垣县| 扎赉特旗| 昌都县| 遂溪县| 马公市| 南通市| 桐梓县| 香港 | 玛纳斯县| 明光市| 平山县| 常州市| 南昌县| 昂仁县| 蒲城县| 前郭尔| 彰化市|