新聞中心

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

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

        作者: 時間:2009-09-02 來源:網絡 收藏

         概述

        本文引用地址:http://www.104case.com/article/152361.htm

          嵌入式操作系統μC/OS-II是一個公開源代碼的占先式多任務的微內核RTOS,其特點可以概括為以下幾個方面:公開源代碼,代碼結構清晰、明了,注釋詳盡,組織有條理,可性好,可裁剪,可固化。內核屬于搶占式,最多可以管理60個任務。目前國內對μC/OS-II的研究和應用都很多。只要買一本書就可獲得源代碼,對學校和教育的使用完全免費,商業應用的費用相對也很低。所以對μC/OS-II實時操作系統的學習研究、開發、應用具有重要意義。

          大部分的μC/OS-II代碼是使用ANSI C語言書寫的,因此μC/OS-II的可性好,然而仍需要使用C和匯編語言寫一些處理器相關代碼。μC/OS-II的需要滿足以下要求:

          (1)處理器的C編譯器可以產生可重入代碼;

          (2)可以使用C調用進入和退出臨界區代碼;

          (3)處理器必須支持硬件中斷,并且需要一個定時中斷源;

          (4)處理器需要能夠容納一定數據的硬件堆棧;

          (5)處理器需要有能夠在CPU寄存器與內核和堆棧交換數據的指令。

          7的S3C44B0X處理器完全滿足上述要求。它使用公司的16位/32位RISC結構,內核是7TDMI,工作在66MHz,片上集成了以下部件:8K Cache、外部存儲器控制器、LCD控制器、4個DMA通道、2個UART、1個多主I2C總線控制器、1個I2C總線控制器,以及5通道PWM定時器和1個內部定時器、8通道12位ADC等,能夠與常用的外圍設備實現無縫連接,功能強大。目前,國內應用較為廣泛。

          1內核的移植

          μC/OS-II的移植只需要修改與處理器相關的代碼就可以了。具體有如下內容:

          (1)os_cpu.h中需要設置一個常量來標識堆棧增長方向;

          (2)os_cpu.h中需要聲明幾個用于開關中斷和任務切換的宏;

          (3)os_cpu.h中需要針對具體處理器的字長重新定義一系列數據類型;

          (4)os_cpu_a.asm需要改寫4個匯編語言的函數;

          (5)os_cpu_c.c需要用c語言編寫6個簡單函數;

          (6)修改主頭文件include.h,將上面的三個文件和其他自己的頭文件加入。

          完成上述工作后,μC/OS-II就可以運行在ARM處理器上了。

          2 LwIP的移植

          μC/OS-II本身沒有TCP/IP協議棧,目前的一些第三方TCP/IP支持都是完全商業化的,很少給出源代碼,影響了μC/OS-II的研究和推廣。通過把開放源代碼的TCP/IP協議棧LwIP移植到μC/OS-II上來,就獲得了一套可免費研究、學習的嵌入式網絡軟件平臺。

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



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 华阴市| 白朗县| 合阳县| 三门县| 巴林左旗| 罗源县| 镇雄县| 逊克县| 郓城县| 延庆县| 玉田县| 肇源县| 阳东县| 大荔县| 金沙县| 峨山| 亚东县| 精河县| 阳城县| 微博| 涿鹿县| 岫岩| 阿克苏市| 兴文县| 漳平市| 阿图什市| 布拖县| 宁德市| 广灵县| 泾源县| 张家口市| 永胜县| 孝义市| 鄂州市| 周至县| 嘉义县| 明光市| 黎川县| 龙山县| 丰顺县| 永福县|