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

        ?

        DSP多任務實時操作系統(tǒng)內(nèi)核設計

        2016-03-22 14:20:11張健李躍鵬劉威鵬曾麗麗
        電腦知識與技術 2016年2期

        張健 李躍鵬 劉威鵬 曾麗麗

        摘要:針對廣泛使用的DSP處理器,分析TI公司實時操作系統(tǒng)DSP/BIOS的特點,論述DSP多任務實時操作系統(tǒng)架構(gòu)?;贒SP/BIOS完成任務創(chuàng)建與堆棧檢測、中斷管理、時鐘管理、多任務調(diào)度策略及任務間通訊等內(nèi)核關鍵部分的設計,實現(xiàn)一個具有基本功能的DSP多任務實時操作系統(tǒng)內(nèi)核。并給出所設計的內(nèi)核軟件在TI的 DSP TMS320C6655上的應用實例,通過實驗驗證內(nèi)核的一些關鍵功能(定時器、任務調(diào)度策略)。所設計的多任務操作系統(tǒng)內(nèi)核,架構(gòu)簡潔,實時性強,便于進行二次開發(fā)。

        關鍵詞:實時操作系統(tǒng);DSP/BIOS;多任務;操作系統(tǒng)內(nèi)核

        中圖分類號:TP316 文獻標識碼:A 文章編號:1009-3044(2016)02-0077-03

        Abstract: In view of the widespread use of DSP processor, Analysis of the characteristics of TI company real-time operating system DSP/BIOS,DSP real-time multitasking operating system architecture is also discussed. The key part of the kernel design is based on DSP/BIOS to complete the task to create and stack detection, interrupt management, clock management, task scheduling strategy and intertask communication.All of the implement a basic function of DSP real-time multitasking operating system kernel. the design of kernel software is used on DSP TMS320C6655 application and through the experiment verify the kernel' s some key function (timer, task scheduling strategy). The designed multitasking operating system kernel architecture is simple, it has strong real-time performance,and is convenient for secondary develop-ment.

        Key words: real-time operating system; DSP/BIOS; multitasking; OS kernel

        如今,DSP芯片的片上資源的不斷增加,DSP芯片的軟件設計也開始更多的關注如何更好地進行控制資源和任務管理[1]。同時,DSP 處理器以運算速度高效著稱,在 “實時性”和“并行性”具有優(yōu)勢。DSP 芯片在系統(tǒng)結(jié)構(gòu)和指令算法方面進行了特殊設計(如采用哈弗結(jié)構(gòu)體系[2],集成的硬件加速器,功能單元并行操作,匯編指令軟件流水等),具有很高的編譯效率和指令執(zhí)行速度。這些特點為其在嵌入式操作系統(tǒng)領域的應用提供了基礎。

        1 DSP實時操作系統(tǒng)內(nèi)核

        DSP/BIOS是德州儀器基于TMS320系列DSP平臺提供的一個實時操作系統(tǒng)內(nèi)核[3]。DSP/BIOS是一個可升級的實時內(nèi)核,它提供的底層應用函數(shù)接口,可用于支持系統(tǒng)實時分析、線程管理、調(diào)度軟件中斷、周期函數(shù)、外部硬件中斷及各種外設管理。DSP/BIOS 支持4種不同優(yōu)先級的線程:硬件中斷(HWI)、軟件中斷(SWI)、任務(TSK )、后臺線程(IDL )[4]。

        如圖1 所示,DSP操作系統(tǒng)內(nèi)核界于BOOT區(qū)和應用程序接口層之間, 它主要實現(xiàn)任務管理;系統(tǒng)時鐘管理;任務間通信與同步和中斷管理。并利用信號、定時器、優(yōu)先級、中斷、任務調(diào)度等機制為應用層提供支撐[5]。向下主要與BIOS初始化接續(xù)。

        接口1中,當BIOS初始化完成后,調(diào)用系統(tǒng)main()函數(shù)后,操作系統(tǒng)先執(zhí)行初始化操作,信號量和任務創(chuàng)建,應用程序上電自啟動等。接口2中,內(nèi)核通過DSP系統(tǒng)提供的API函數(shù)與應用層間實現(xiàn)交互,實現(xiàn)定時器、任務、優(yōu)先級等功能的使用。

        2 DSP實時操作系統(tǒng)內(nèi)核設計

        本方案設計的DSP實時操作系統(tǒng)內(nèi)核將應用程序分為若干任務進行管理,并且負責任務間的通信,可以極大地簡化應用系統(tǒng)的設計。任務調(diào)度采用基于優(yōu)先級的搶占式調(diào)度策略,該策略中賦予每個任務一個優(yōu)先級,任務越重要,賦予的優(yōu)先級就越高[6],內(nèi)核總是將CPU分配給處于就緒態(tài)的優(yōu)先級最高的任務運行,保證重要的突發(fā)事件及時得到處理[7]。

        2.1 任務堆棧檢測與狀態(tài)轉(zhuǎn)換

        采用動態(tài)方法向內(nèi)核創(chuàng)建任務,首先由Task_Params_init(&taskParamsTemp)函數(shù)初始化任務控制塊結(jié)構(gòu)體Task_Params,配置任務優(yōu)先級、堆棧大小、任務狀態(tài)字等參數(shù),然后,調(diào)用函數(shù)Task_create創(chuàng)建任務。

        2.2 中斷管理

        系統(tǒng)內(nèi)核采用中斷服務和任務切換結(jié)合的機制:每當中斷發(fā)生后,系統(tǒng)及時進行中斷響應, 將全部CPU 寄存器推入當前任務棧,執(zhí)行中斷服務程序,再恢復現(xiàn)場, 調(diào)用脫離中斷函數(shù),執(zhí)行中斷返回。如果中斷服務子程序使一個高優(yōu)先級的任務進入了就緒態(tài),則在中斷恢復過程中完成新任務的寄存器內(nèi)容恢復,中斷返回后,通過任務切換函數(shù)完成任務切換。為減少任務響應時間,中斷服務程序中要做的事應盡可能少。其大部分工作由中斷服務程序中就緒的高優(yōu)先級任務完成。中斷任務調(diào)度流程圖如圖3所示:

        由于任務切換需要把目標寄存器文件以及控制寄存器文件(CSR、IER、IRP 和 AMR)這些斷點數(shù)據(jù)入棧保護,因此,任務切換所需要的時間取決于CPU 中入棧寄存器的數(shù)量。CPU的寄存器越多,任務切換時間越久。由于C編譯器不能從C語言中直接處理CPU寄存器,任務切換需要由匯編語言編寫,現(xiàn)給出任務切換示意性代碼:

        為確保T0任務的調(diào)度函數(shù)執(zhí)行的完整性,當T0任務通過信號量調(diào)度獲取CPU使用權后,由函數(shù)Task_disable()禁止任務切換,等調(diào)度函數(shù)執(zhí)行結(jié)束后,再由Task_restore(key)重新使能任務切換,繼續(xù)等待下一個定時器信號量的到來。

        2.4 任務間通訊

        對于簡單的共享變量,系統(tǒng)通過關中斷、開中斷來處理,以提高效率。當數(shù)據(jù)量比較耗費時間時,引入信號量進行任務間通訊,并設計緩沖區(qū)機制,保證任務間傳輸數(shù)據(jù)的一致性。緩沖區(qū)的基本設計思路是:為每一個任務設置多個輸出緩沖區(qū),用以支持與其他任務的數(shù)據(jù)交互。本輸出任務總能確保找到一個空閑的緩沖區(qū)寫入數(shù)據(jù),同時其他任務可以從其他的緩沖區(qū)中讀取數(shù)據(jù)。每個任務的輸出緩沖區(qū)的個數(shù)為:N = T + 1,T指比當前輸出任務優(yōu)先級低的任務數(shù)量。由于最低優(yōu)先級任務最后執(zhí)行,數(shù)據(jù)不會被其他任務讀取,故其輸出緩沖區(qū)個數(shù)只需要1個。

        3 應用實例驗證

        本設計的內(nèi)核是一個通用的DSP多任務實時操作系統(tǒng)內(nèi)核,在 TI 的 DSP TMS320C6655上由CCS5.1調(diào)試。并通過實驗測試該內(nèi)核的一些關鍵功能。

        在系統(tǒng)main函數(shù)中除T0定時器任務之外,再創(chuàng)建4個時鐘周期任務taskT1、taskT2、taskT3和taskT4,各任務的優(yōu)先級為:

        T0>taskT1>taskT2>taskT3>taskT4。

        首先,驗證定時器中斷間隔:設定產(chǎn)生1ms的時鐘中斷任務。通過許繼自主研發(fā)的VIGET圖形化工程軟件編寫測試例程,同時,創(chuàng)建以太網(wǎng)任務,建立系統(tǒng)以太網(wǎng)通信,實現(xiàn)與圖形化工程軟件的通信。如圖5所示,TSTART 和 TSTOP模塊根據(jù)式(1)算出中斷間隔,并由TSTOP模塊輸出實時中斷間隔:

        中斷間隔 = 中斷任務內(nèi)時鐘滴答數(shù)(N)* 時間因子(u) (1)

        XSUM模塊的輸出管腳AVG即為中斷間隔的平均值(999.7894us),證明定時器中斷正常。

        4個周期任務的滴答間隔為1,2,4,8。在某些周期(如時鐘周期4,8,12...4n)超過2個任務會同時就緒。不滿足多任務調(diào)度算法原則。因此,需要設計調(diào)度算法,使各周期的任務數(shù)均衡分布。任務調(diào)度策略基本設計思路是:延遲一個周期釋放task3任務信號量,提前一個周期釋放task4任務信號量。

        任務的調(diào)度信息通過串口實時輸出,圖6為依據(jù)串口輸出信息繪出的任務分布對比圖形??梢宰C實:執(zhí)行任務調(diào)度函數(shù)后,任務的執(zhí)行周期進行延遲和提前,但是各任務執(zhí)行間隔不變,在同一時鐘周期最多有2個任務進入就緒態(tài),各個任務分布均勻,系統(tǒng)負荷均衡。

        4 結(jié)束語

        本文所介紹的僅是DSP實時多任務操作系統(tǒng)內(nèi)核中一部分的實現(xiàn)方法,所設計的可縮減內(nèi)核簡化了程序設計,程序模塊清晰,易于移植,適用于DSP系統(tǒng)??梢愿鶕?jù)實際需要添加串口通信、TCP /IP協(xié)議棧、動態(tài)內(nèi)存管理、故障診斷等功能,使得完整的嵌入式操作系統(tǒng)在該內(nèi)核的基礎上實現(xiàn)。許繼自主研發(fā)的電力系統(tǒng)控制保護平臺的主處理器中,使用了該內(nèi)核,實際運行狀況良好,滿足了強實時性要求。最小任務周期為0.1ms,滿足復雜多任務的需求。

        參考文獻:

        [1] 易克非, 胡慶鋒. 基于 DSP 的實時多任務調(diào)度內(nèi)核設計[J]. 通信技術, 2011, 44(6): 135.

        [2] 鄔可軍, 朱銘鋯, 曹建樹. DSP實時多任務操作系統(tǒng)設計與實現(xiàn)[M]. 北京: 電子工業(yè)出版社, 2005: 11-12.

        [3] Instruments T. TI SYS/BIOS Real-time Operating System Users Guide[R]. USA: Texas, 2012.

        [4] 王軍寧, 何迪. TIDSP/BIOS用戶手冊與驅(qū)動開發(fā)[M]. 北京: 清華大學出版社, 2007.

        [5] Texas Instruments Incorporated TMS320C6000系列DSP的CPU與外設[M]. 北京: 清華大學出版社, 2007: 15-17.

        [6] 徐亮, 徐中偉. μC/OS-II 實時系統(tǒng)任務調(diào)度優(yōu)化[J]. 計算機工程, 2007, 33(19): 57-59.

        [7] 李巖, 王顯山. 實時操作系統(tǒng)任務調(diào)度算法的硬件實現(xiàn)[J]. 計算機工程與應用, 2010, 46(35): 53.

        色yeye免费视频免费看| 五月av综合av国产av| 国产女主播精品大秀系列| 国产精品久免费的黄网站| 2022AV一区在线| 国内精品国产三级国产| 亚洲av日韩综合一区久热| 免费无码午夜福利片69| 51精品视频一区二区三区| 国产三级在线观看不卡| 精品欧美一区二区三区久久久| 天堂国精产品2023年| 亚州精品无码久久aV字幕| 91麻豆精品激情在线观最新| 精品亚洲一区二区区别在线观看| 熟女无套内射线观56| 四虎永久免费影院在线| 亚洲av第一区综合激情久久久| 日韩在线精品视频一区| 国产精品99久久久久久猫咪| 国产精品久久久久久久成人午夜| 日本一区二区国产高清在线播放| 国产精品日韩av一区二区三区| 国产精品人妻一区二区三区四| 久久国产精品波多野结衣av| 国产在线一区二区视频免费观看| 日韩有码在线观看视频| 亚洲成在人线在线播放无码| 欧美亚洲国产另类在线观看| 亚洲国产精品成人一区| 日韩 亚洲 制服 欧美 综合| 男女啪啪永久免费观看网站| 亚洲一区二区三区在线观看播放| av人妻在线一区二区三区| 三个男吃我奶头一边一个视频| 久久久久久久综合狠狠综合| 精品久久久久久99人妻| 国产高潮流白浆视频在线观看| 亚洲妇女无套内射精| 国产黑色丝袜一区在线| 亚洲精品熟女av影院|