亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        UC/OS_II在浮點DSP上的移植和測試

        2009-08-25 09:37:50李文新曹覲姝
        新媒體研究 2009年15期
        關(guān)鍵詞:移植測試

        葛 瑩 李文新 許 珩 曹覲姝

        [摘要]市面上的嵌入式操作系統(tǒng)種類繁多,UC/OS_II由于其簡單易學(xué),注釋清晰,范例豐富,受到了廣泛的喜愛。詳細介紹UC/OS_II在浮點DSP TMS320VC33

        上的移植過程,即數(shù)據(jù)類型轉(zhuǎn)化成編譯器能編譯的數(shù)據(jù)類型,設(shè)計UC/OS_II與DSP硬件接口,設(shè)計硬件抽象層函數(shù),深入到底層細節(jié)。移植工作結(jié)束后還進行測試,測試結(jié)果證明UC/OS_II是一種穩(wěn)定可靠的實時操作系統(tǒng)。

        [關(guān)鍵詞]嵌入式實時操作系統(tǒng) DSP 移植 測試

        中圖分類號:TP3文獻標(biāo)識碼:A文章編號:1671-7597(2009)0810014-02

        一、引言

        UC/OS_II是一種源碼公開的占先式實時多任務(wù)操作系統(tǒng),其大部分編碼都是由ANSI C編寫的,小部分與硬件相關(guān)的內(nèi)容是由匯編寫成的,具有操作系統(tǒng)的基本功能,并有可剪裁,可移植性很高的特點。TMS320VC33是TI公司生產(chǎn)的高性能浮點DSP芯片,功能強大。本文針對UC/OS_II在TMS320vc33上的移植,著重討論了堆棧保存與恢復(fù)及任務(wù)切換等核心問題的分析與實現(xiàn)。UC/OS_II的基本結(jié)構(gòu)比較明了,改寫的移植代碼都是和硬件處理器和編譯器相關(guān)的。

        二、移植過程的設(shè)計和實現(xiàn)

        移植分為DSP硬件驅(qū)動模塊和操作系統(tǒng)與DSP接口模塊兩部分。在DSP硬件驅(qū)動模塊中主要包括中斷向量,硬件初始化和時鐘初始化。操作系統(tǒng)與DSP接口模塊包括UC/OS_II數(shù)據(jù)類型移植,任務(wù)堆棧的設(shè)計和操作系統(tǒng)與DSP硬件的接口函數(shù)。

        (一)數(shù)據(jù)類型重定義

        在此文件中應(yīng)該先完成數(shù)據(jù)類型的重新定義,堆棧數(shù)據(jù)類型的定義,堆棧增長方向的定義,臨界區(qū)開關(guān)中斷的方法,任務(wù)切換函數(shù)OS_TASK_SW的宏定義,數(shù)據(jù)類型聲明。

        UC/OS_II訪問代碼臨界區(qū)時首先要禁止中斷,并且在訪問完畢后重新允許中斷。有三種方式可以實現(xiàn),這里只能用通過狀態(tài)寄存器中的中斷使能位開關(guān)中斷的方式。

        Cregisterunsigned int ST;

        #defineOS_ENTER_CRITICAL();asm(“ANDN 2OOOH,ST”);

        #defineOS_ENTER_CRITICAL();asm(“OR 2OOOH,ST”);

        (二)改寫OSTaskStkInit()函數(shù)

        OS_CPU_C.C中主要完成的是OSTaskStkInit()函數(shù)。此函數(shù)完成任務(wù)棧的初始化,使得任務(wù)棧的結(jié)構(gòu)看起來如同在任務(wù)執(zhí)行過程中發(fā)生過一次中斷,并將所有寄存器保存到堆棧一樣。CCS函數(shù)調(diào)用時的堆棧規(guī)則為:先將參數(shù)從左往右入棧,然后是函數(shù)返回地址入棧。按照此規(guī)則設(shè)計任務(wù)棧結(jié)構(gòu)。VC33有28個寄存器,程序中應(yīng)將寄存器全部入棧。

        (三)OS_CPU_A.ASM

        在此文件中要求用戶編寫四個匯編函數(shù)OSStartHighRdy(),OSCtxSw(),

        OSIntCtxSw(),OSTickISR(),這四個函數(shù)具有公共部分:寄存器入棧和寄存器出棧。主要按照上面設(shè)計好的棧結(jié)構(gòu)進行就好了。

        函數(shù)OSIntCtxSw()具有特殊部分,該函數(shù)用于從中斷返回時進行任務(wù)切換,此處不再進行寄存器保存。同時還要進行指針的調(diào)整,去掉堆棧中一些不需要的內(nèi)容,然后將寄存器全部出棧。

        (四)時鐘中斷函數(shù)OSTickISR()偽碼如下

        Void OSTickISR(void)

        {

        保存現(xiàn)場;

        OSIntEnter();//DSP要求速度,用OSIntNesting++;代替

        如果中斷嵌套層數(shù)是1則OSTCBCurOSTCB_StkPtr=當(dāng)前SP;

        OSTimeTick();

        OSIntExit();

        回復(fù)最高優(yōu)先級任務(wù)的現(xiàn)場;

        }

        三、測試

        軟件測試在軟件開發(fā)過程中是必不可少的,其重要程度不容忽視。歷史上曾出現(xiàn)過由于軟件錯誤而導(dǎo)致整個系統(tǒng)失敗的教訓(xùn)。軟件測試的工作量往往占軟件開發(fā)總工作量的以上。測試步驟一般分為單元測試、集成測試、系統(tǒng)測試的步驟。

        (一)單元測試

        必須先通過編譯程序檢查,并且改正所有語法錯誤,采用白盒測試法,分析系統(tǒng)服務(wù)的邏輯結(jié)構(gòu)、選用測試用例,盡可能實現(xiàn)條件覆蓋,分支覆蓋。

        (二)集成測試

        在單元測試之后,完成一定的功能時,可能會出現(xiàn)一些新的問題如跨越系統(tǒng)服務(wù)接口的數(shù)據(jù)是否會丟失全程數(shù)據(jù)結(jié)構(gòu)是否會有問題產(chǎn)生的數(shù)據(jù)是否會被沖掉等等。這里采用了以下兩種方法:

        等價類劃分法:等價類劃分是集成測試中的主要方法。窮盡的黑盒測試需要使用所有有效的和無效的輸入數(shù)據(jù)來測試程序,通常這是不現(xiàn)實的。因此選用最有代表性的輸入數(shù)據(jù),以期用較小的代價暴露出較多的錯誤。

        邊界值分析法:邊界值分析同樣是集成測試中很重要的方法。這是一種根據(jù)等價類邊界上或緊靠邊界的條件,選擇測試用例的更有效的方法。

        測試過程中,在修改軟件錯誤后都進行了回歸測試,以發(fā)現(xiàn)是否會因系統(tǒng)的修改而帶來新的錯誤。

        對嵌入式實時操作系統(tǒng)UC/OS_II的測試結(jié)果統(tǒng)計見圖1。

        四、測試結(jié)論

        1.EKnots節(jié)點過多將增加程序復(fù)雜性,UC/OS_II的程序基本節(jié)點度量為0,證明此操作系統(tǒng)內(nèi)核為完全結(jié)構(gòu)化程序。

        2.EV(G)指通過結(jié)構(gòu)化流程簡化后,圈復(fù)雜度用于表示程序復(fù)雜性,這里的圈復(fù)雜度測量值為4,正常范圍為0到500之間,復(fù)雜性不高。

        3.結(jié)點度量用于表明程序?qū)嵤r附加復(fù)雜性,由于操作系統(tǒng)結(jié)構(gòu)特性導(dǎo)致系統(tǒng)節(jié)點數(shù)較大。但不影響系統(tǒng)正常功能與使用。

        4.測試結(jié)果綜述,此操作系統(tǒng)可測試性好,易于維護,結(jié)構(gòu)比較清晰。

        UC/OS_II操作系統(tǒng)本身是非常穩(wěn)定的,具有高可靠性。因其可裁剪性,內(nèi)核占用空間小,是理想的嵌入式實時操作系統(tǒng)之一。有廣泛的利用價值和前景。

        嵌入式系統(tǒng)是一個不斷發(fā)展的過程,相信隨著科技的進步,存在的部分問題也一定能夠得到妥善地解決。UC/OS_II實時操作系統(tǒng)將會用在越來越多的方面,它的性能也會越來越完善。

        參考文獻:

        [1]鐘堅文、蔡旭,基于UC/OS--II的CAN總線驅(qū)動程序設(shè)計,計算機信息,2005(7-2):35-37.

        [2]Jean J.Labrosse著,邵貝貝等譯,嵌入式實時操作系統(tǒng)UC/OS-Ⅱ[M].第2版,北京:北京航空航天大學(xué)出版社,2003.5.

        [3]劉和平、王維俊等,TMS320LF240X DSP C語言開發(fā)應(yīng)用,北京:北京航空航天大學(xué)出版社.

        [4]沈緒榜,嵌入式計算機系統(tǒng)的展望,《單片機與嵌入式系統(tǒng)應(yīng)用》,2001.1.

        [5]竇振中,嵌入式系統(tǒng)設(shè)計方法的演化從單片機到單片系統(tǒng),《單片機與嵌入式系統(tǒng)應(yīng)用》,2001.2.

        [6]蔡建平,關(guān)于嵌入式應(yīng)用開發(fā)技術(shù),《單片機與嵌入式系統(tǒng)應(yīng)用》,2001.3.

        [7]何小慶,嵌入式實時操作系統(tǒng)的現(xiàn)狀和未來,《單片機與嵌入式系統(tǒng)應(yīng)用》,2001.3.

        [8]馬忠梅,《嵌入式應(yīng)用設(shè)計模式》,《單片機與嵌入式系統(tǒng)應(yīng)用》,2001.1.

        作者簡介:

        葛瑩(1983-),女,空間技術(shù)研究院510研究所,碩士研究生,研究方向:嵌入式操作系統(tǒng);李文新(1969-),男,西北工業(yè)大學(xué),研究方向:嵌入式軟件開發(fā)。

        猜你喜歡
        移植測試
        幽默大測試
        幽默大師(2020年12期)2021-01-04 00:35:42
        幽默大測試
        幽默大師(2020年11期)2020-11-26 06:12:12
        幽默大測試
        幽默大師(2020年10期)2020-11-10 09:07:12
        “攝問”測試
        “攝問”測試
        “攝問”測試
        基于FreeRTOS系統(tǒng)和LwIP協(xié)議棧的網(wǎng)絡(luò)通訊
        西方音樂元素在二胡演奏中的移植
        心臟自體干細胞移植治療心肌梗死新進展
        科技視界(2016年24期)2016-10-11 19:55:02
        “移植”瘦人糞便能減肥?
        蜜桃视频在线免费观看一区二区| 日日碰狠狠添天天爽| 国产成人精品日本亚洲11| 国产精品自产拍在线观看免费| 狼人av在线免费观看| 亚洲av成人av三上悠亚| 在线天堂www中文| 久久精品国产99国产精品亚洲| 全部孕妇毛片丰满孕妇孕交| 久久91综合国产91久久精品| 国产黄三级三级三级三级一区二区| 丰满少妇在线播放bd| 亚洲精品一区国产欧美| 最新精品亚洲成a人在线观看| 中文字幕日本韩国精品免费观看 | 亚洲国产精品成人精品无码区在线| 国外精品视频在线观看免费| 日韩偷拍一区二区三区视频| 日本高清不卡二区三区| 永久天堂网av手机版| 无码人妻精品一区二区三区在线 | 亚洲午夜精品久久久久久抢| 亚洲精品综合久久国产二区 | 色婷婷五月综合亚洲小说| 无码啪啪熟妇人妻区| 久久久亚洲免费视频网| 三级全黄的视频在线观看| 国产精品久久久久久久久鸭| 黄色av三级在线免费观看| 男女主共患难日久生情的古言 | 国产香蕉一区二区三区| 99久久99久久久精品蜜桃| 久久综合给合综合久久| 女人体免费一区二区| 国产不卡av一区二区三区| 亚洲一区二区三区四区五区黄| 精品久久久无码中文字幕| 放荡人妻一区二区三区| 亚洲国产精品国自产拍久久蜜av | 18禁美女裸体网站无遮挡| 蜜桃视频在线免费观看一区二区|