• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM微處理器的uC/OS的移植設(shè)計(jì)

    基于ARM微處理器的uC/OS的移植設(shè)計(jì)

    作者: 時(shí)間:2009-09-02 來源:網(wǎng)絡(luò) 收藏

      μC/OS-II同樣實(shí)現(xiàn)了消息隊(duì)列結(jié)構(gòu)OSQ及其操作,但是μC/OS-II沒有對(duì)消息隊(duì)列中的消息進(jìn)行管理,因此不能直接使用,必須在μC/OS-II的基礎(chǔ)上重新實(shí)現(xiàn)。為了實(shí)現(xiàn)對(duì)消息的管理,我們定義了以下結(jié)構(gòu):

      typedef struct {

      OS_EVENT* pQ;

      void* pvQEntries[MAX_QUEUE_ENTRIES];

      } sys_mbox_t;

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

      2.2.5 semaphone的實(shí)現(xiàn)和mbox類似,這里就不再重復(fù)了。

      3 uc/gui的

      3.1 LCD的接口函數(shù)

      在uC/GUI中LCD_LO_x之類的函數(shù)是無控制器LCD的接口函數(shù)。44B0X本身有LCD控制器。所以我在uC/GUI for 44B0X中基本移用LCDMemC.c這個(gè)程序。在這程序中都是關(guān)于LCD接口的驅(qū)動(dòng)。其中在44B0X上主要修改以下幾個(gè)函數(shù):

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

      這個(gè)函數(shù)完成對(duì)44B0X LCD控制器的配置。顯存的映射。

      (2)畫點(diǎn)函數(shù):void LCD_L0_DrawPixel(int x, int y, int c);

      取點(diǎn)函數(shù):unsigned int LCD_L0_GetPixelIndex(int x, int y);

      uC/GUI中顯示字、圖形都這兩個(gè)函數(shù)有關(guān)。

      3.2 系統(tǒng)接口函數(shù)

      在uCOS-II中用GUI的,所以還要寫幾個(gè)操作系統(tǒng)接口函數(shù)。而GUI_X_x之類的函數(shù)是和操作系統(tǒng)相關(guān)的接口。

      (1)系統(tǒng)時(shí)間接口

      取系統(tǒng)時(shí)間: int GUI_X_GetTime (void);

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

      (2)任務(wù)調(diào)度函數(shù)

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

      任務(wù)鎖定:void GUI_X_Lock (void);

      任務(wù)解鎖:void GUI_X_Unlock (void);

      4 結(jié)束語

      上述完成后,使在上建立一個(gè)既有TCP/IP協(xié)議棧,又建立了圖形用戶接口的嵌入式實(shí)時(shí)操作系統(tǒng)。

    tcp/ip相關(guān)文章:tcp/ip是什么



    上一頁 1 2 3 下一頁

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 兴和县| 霍山县| 贺兰县| 前郭尔| 新余市| 仲巴县| 嫩江县| 建湖县| 阿拉善左旗| 鹰潭市| 浏阳市| 安化县| 西青区| 安塞县| 平塘县| 公主岭市| 元阳县| 祁东县| 云龙县| 高要市| 武冈市| 克什克腾旗| 广安市| 长治县| 精河县| 嘉定区| 西丰县| 丘北县| 万安县| 宁阳县| 吉木萨尔县| 泗阳县| 志丹县| 黔西县| 平潭县| 基隆市| 金湖县| 泾阳县| 武山县| 辽阳县| 玉屏|