新聞中心

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

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

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

         概述

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

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

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

         ?。?)處理器的C編譯器可以產(chǎn)生可重入代碼;

         ?。?)可以使用C調(diào)用進入和退出臨界區(qū)代碼;

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

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

         ?。?)處理器需要有能夠在CPU寄存器與內(nèi)核和堆棧交換數(shù)據(jù)的指令。

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

          1內(nèi)核的移植

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

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

         ?。?)os_cpu.h中需要聲明幾個用于開關(guān)中斷和任務(wù)切換的宏;

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

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

         ?。?)os_cpu_c.c需要用c語言編寫6個簡單函數(shù);

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

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

          2 LwIP的移植

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

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



        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 什邡市| 麻江县| 蒙山县| 简阳市| 新建县| 琼中| 察哈| 乌拉特中旗| 康保县| 泰和县| 双柏县| 武定县| 甘肃省| 白沙| 巩留县| 宝鸡市| 巫溪县| 惠来县| 上饶县| 河西区| 昌都县| 沁阳市| 大港区| 龙川县| 涞源县| 台东县| 安溪县| 曲麻莱县| 卢氏县| 赞皇县| 神农架林区| 九台市| 合江县| 武功县| 镇沅| 瓦房店市| 金溪县| 嘉祥县| 淅川县| 兖州市| 峡江县|