在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 基于ARM7支持觸摸屏和實(shí)時(shí)操作系統(tǒng)的開(kāi)發(fā)與應(yīng)用

            基于ARM7支持觸摸屏和實(shí)時(shí)操作系統(tǒng)的開(kāi)發(fā)與應(yīng)用

            —— Development and Application of Touching Screen and RTOS Based on ARM7
            作者:李廣榮 宗文波 韓建超 楊丹 于海濱 劉锏澤 北京衛(wèi)星制造廠 時(shí)間:2011-02-22 來(lái)源:電子產(chǎn)品世界 收藏

              C/OS-II嵌入式操作系統(tǒng)的移植

            本文引用地址:http://www.biyoush.com/article/117094.htm

              C/OS-II作為操作系統(tǒng)的內(nèi)核,主要的任務(wù)就是完成多任務(wù)之間的調(diào)度和同步,協(xié)調(diào)各個(gè)硬件源不會(huì)沖突。與其它嵌入式操作系統(tǒng)相比,它具有系統(tǒng)透明、可拆減、接口簡(jiǎn)單的特點(diǎn)。下面就如何在進(jìn)行操作系統(tǒng)移植和修改作簡(jiǎn)要的描述:

              (1)重新修改OS_CPU.H文件

              a)定義數(shù)據(jù)類型:C/OS-Ⅱ不使用C語(yǔ)言中的short、int、long等與處理器類型有關(guān)的數(shù)據(jù)類型,而代之以移植性強(qiáng)的數(shù)據(jù)類型,這樣既直觀又便于移植;

              b)定義堆棧增長(zhǎng)類型和ARM運(yùn)行的模式:雖然ARM處理器對(duì)堆棧向上與向下的兩種增長(zhǎng)方式都予以支持,但由于編譯器ADS僅支持堆棧從上往下,并且必須是滿遞減堆棧,所以在文件中用來(lái)定義堆棧增長(zhǎng)方式的常量OS_STK_GROWTH 的值為1;

              c)需對(duì)外部函數(shù)聲明:如在C/OS-II.h頭文件中,有些要移植的函數(shù)已經(jīng)聲明,包括:OSTaskStkInit()、OSIntCtxSw(void)、OSStartHighRdy(void) 。

              (2)修改OS_CPU_C.C文件

              a)任務(wù)堆棧初始化函數(shù)OSTaskStkInit():在編寫(xiě)任務(wù)堆棧初始化函數(shù)OSTaskStkInit()之前,必須先根據(jù)處理器的結(jié)構(gòu)和特點(diǎn)確定任務(wù)的堆棧結(jié)構(gòu);

              b)鉤子函數(shù):C/OS-II為了用戶在系統(tǒng)函數(shù)中書(shū)寫(xiě)自己的代碼而預(yù)置了一些鉤子函數(shù)(如OSTimeTickHook),這些函數(shù)在移植時(shí)可全為空函數(shù),可根據(jù)用戶的需要添加。

              (3)重點(diǎn)編寫(xiě)OS_CPU_A.S文件

              a)開(kāi)/關(guān)中斷函數(shù):在處理器核中可利用改變程序狀態(tài)寄存器CPSR中的相應(yīng)控制位實(shí)現(xiàn);

              b)OSStartHighRdy(void):OSStart()函數(shù)調(diào)用OSStartHighRdy()來(lái)使就緒態(tài)任務(wù)中優(yōu)先級(jí)最高的任務(wù)開(kāi)始執(zhí)行;

              c)OS_TASK_SW(void):μC/OS-II通過(guò)調(diào)用OSSched()函數(shù)來(lái)完成任務(wù)調(diào)度的,OSSched()先將最高優(yōu)先級(jí)任務(wù)的地址裝載到OSTCBHighRdy,再通過(guò)調(diào)用OS_TASK_SW()執(zhí)行任務(wù)級(jí)的任務(wù)切換,OS_TASK_SW主要完成保護(hù)現(xiàn)場(chǎng),完成用于的任務(wù),恢復(fù)現(xiàn)場(chǎng);

              d)OSIntCtxSw(void):OSIntExit()通過(guò)調(diào)用OSIntCtxSw(),在中斷服務(wù)程序中執(zhí)行任務(wù)切換功能。

              e)時(shí)鐘節(jié)拍函數(shù):在本移植中,只使用了ARM的IRQ中斷。由于不同的ARM芯片的中斷系統(tǒng)并不完全一樣,因此不可能編寫(xiě)出對(duì)所有使用ARM核的處理器通用的中斷及節(jié)拍移植代碼,但是這是后續(xù)任務(wù)管理中重點(diǎn)需要操作系統(tǒng)進(jìn)行處理的,OSTickISR的實(shí)現(xiàn)代碼見(jiàn)程序清單。

              程序清單 OSTickISR()

              OSTickISR

              STMFD SP!, {R0-R3,R12,LR}

              BL      OSIntEnter

              BL      user_function    ;調(diào)用用戶

                         處理的中斷處理程序

              BL      OSIntExit

              LDMFD SP!,{R0-R3,R12,LR}

              SUBS PC,LR,#4


            上一頁(yè) 1 2 3 4 下一頁(yè)

            關(guān)鍵詞: 觸摸屏 ARM7 S3C44B0

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉