999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式操作系統Visual DSP++Kernel的原理與應用

2011-01-27 01:07:50金偉正
電氣電子教學學報 2011年2期
關鍵詞:設備

金偉正,金 湯

(武漢大學電子信息學院電子工程系,湖北武漢 430079)

嵌入式操作系統Visual DSP++Kernel的原理與應用

金偉正,金 湯

(武漢大學電子信息學院電子工程系,湖北武漢 430079)

本文剖析了 ADSP中基于嵌入式操作系統Visual DSP++Kernel(VDK)開發工具的原理與應用、優點、常用庫函數、DEBUG工具以及它的具體應用。通過對VDK的學習,可以使學生進一步理解和掌握嵌入式操作系統的工作原理,提高他們的應用和開發能力。

V isualDSP++;內核;數字信號處理器;嵌入式系統

嵌入式操作系統[1]如今已經大量地被MCU、DSP及SOC等處理器采用,它的引入加快了芯片集成度的發展,也提高了開發效率,縮短了開發周期。而嵌入式操作系統的工作原理對學生來說是一個難點。本文主要討論ADSP中基于嵌入式操作系統的開發工具Visual DSP++Kernel(VDK)的特點及應用。通過對VDK[2]的學習,可以使學生進一步理解和掌握嵌入式操作系統的基本概念、基本原理和基本過程,同時提高他們的應用和開發能力。

1 Visual DSP++Kernel的特點

AD公司為其生產的DSP芯片提供了相應的開發環境Visual DSP++[3],而其中的Kernel則提供了基于嵌入式操作的系統的一個開發平臺。利用VDK來進行DSP應用程序的開發有眾多的優點:

(1)快速的應用程序開發。Visual DSP++和VDK緊密結合的開發環境使開發人員不必手工編寫控制程序,它可以利用自動代碼生成器、文件模板以及標準的設備驅動接口程序等來完成這些工作,使開發人員致力于感興趣的算法或控制流研究,而不必過多的注意其執行細節。

(2)具有易調試的控制結構。VDK提供了一系列的工具庫函數,利用這一工具提供的系統狀態即時獲取功能以及實時數據統計結果等,即使調試一個很復雜的應用程序也變得容易的多。

(3)具有代碼復用性。VDK在它標準庫中提供了可重用的函數,避免了手工編寫。而且Kernel和與之緊密結合的Visual DSP++開發環境能夠有效的將一個大的應用程序拆分成一些易保持便于理解的模塊或子系統。通過這樣屏蔽子系統的方法可以有效地防止在系統編程時頻繁出現大片代碼。

(4)VDK還提供了一個硬件抽象層。標準化的接口允許我們在一個獨立的平臺上,使用高級語言(C或C++)[4]編寫大多數的應用程序。

2 VDK庫函數及狀態圖

和大多數的嵌入式操作系統一樣,VDK有著自己的一套關于線程調度、任務管理、時間管理、信號傳遞和中斷服務等的庫函數:

(1)調度管理函數(Scheduler Management Functions);PushUnscheduledRegion()、PopUnscheduledRegion()等。

(2)線程和系統信息函數(Thread and System Information Functions);GetThreadHandle()、GetThreadID()、GetThreadStatus()、GetThread-Type()等。

(3)線程創建和銷毀函數(Thread Creation and Destruction Functions);CreateThread()、DestroyThread()、FreeDestroyedThreads()等。

(4)線程優先級管理函數(Thread Priority Management Functions);GetPriority()、ResetPriority()、SetPriority()等。

(5)信號量管理函數(Semaphore Management Functions);GetSemaphoreValue()、PendSemaphore()、PostSemaphore()、SetEventBit()等 。

(6)事件和事件位函數(Event and EventBit Functions);ClearEventBit()、GetEventBitValue()、GetEventData()、GetEventValue()、LoadEvent()、PendEvent()、SetEventBit()等。

線程執行過程,以及信號量的傳遞邏輯關系如圖1所示。

圖1 VDK進程的狀態機

3 VDK的實現與應用

3.1 線程

一個應用程序可以劃分為多個功能模塊,每個模塊可以用一個線程實現,線程間可以互相通信。線程并不是直接定義的,而是先定義線程類型,再由線程類型例化得到。一個線程類型可有多個例化,也就是說一個系統中多個線程可以屬于相同的線程類型。線程類型實質上是各空間VDK下線程類的子類,而線程是該子類例化得到的對象。線程類型創建時被分配一個默認的優先級,該優先級可以通過調用函數SetPriority()改變,同一類型的線程具有相同的優先級。每個線程包含5個成員函數:創建函數、初始化函數、運行函數、錯誤處理函數和銷毀函數。其中,創建函數類似于C++中類的構造函數,用于創建一個線程并為它分配資源。銷毀函數類似于C++中類的析構函數,用于銷毀一個線程并釋放其所占資源。運行函數包含線程所要完成算法,是線程的核心部分,類似于C中的main()函數。

3.2 調度

調度是一種管理和協調線程的機制,它保證優先級最高的就緒線程能夠最早占用處理器來運行。所謂就緒,就是線程已經具備運行所需的所有數據和參數等資源。調度在具有最高優先級的線程改變時被激發。調度的實現基于一種被稱為就緒隊列的內部數據結構。就緒隊列中的就緒線程先按優先級排隊,然后遵循“先進先服務”的原則占用處理器。線程最高優先級為0,是保留的;最低優先級為DSP數據字寬減去2,如32位的DSP為30。具有最低優先級的線程是預定義的IDLE線程,它在就緒隊列為空時自動運行,使得DSP處于低功耗狀態。

3.3 信號

信號是線程之間進行通信和同步的橋梁。它包括:信號量、事件位和事件和設備標志。

信號量是應用系統中所有線程都可訪問的全局資源的抽象,有2個值:真和假。它的值為真時,表示該資源可用,所有正在等待該信標的線程中優先級最高的那一個進入就緒隊列等候運行;它的值為假時,表示該資源已被占用。線程或者中斷服務程序利用信號量所代表的資源完成自己的任務后調用API函數釋放該資源以便其他線程或者中斷服務程序使用。

事件和事件位是標識系統狀態的信號,用于協調線程的執行。事件位用來指示系統某一要素所處狀態;事件是所有事件位按照指定規則進行布爾操作的結果。任何一個事件位改變都會導致事件的值被重新計算。信標標識系統資源是否可用,而事件位和事件標識線程中的操作主體利用系統資源完成其工作后所處的狀態。線程可以調用PendEvent()等候一個事件發生。

設備標志是設備驅動與線程之間聯系的紐帶。例如它可以將A/D采樣數據的到來這一事件通知多個等待這些數據的線程,而信號量、事件和事件位就不能描述它。

3.4 中斷服務程序

VDK的中斷服務程序必須用匯編語言編寫而且應該比較短小,完成釋放信號量、改變事件位、激活設備驅動與線程交換數據等工作,而所有的計算應該在線程域完成。中斷可以調用API函數被允許或禁止。

3.5 設備驅動

基于VDK的應用程序可以分解為兩個域:線程域和中斷域。圖2所示線程域中對線程進行管理的機制稱為軟件調度,由內核完成;中斷域中對中斷進行管理的機制稱為硬件調度,由DSP硬件(中斷控制器)完成。硬件調度和軟件調度是并行的,但中斷發生時硬件調度搶先發生,這時軟件調度和線程的優先級是無意義的。

圖2 并行調度

操作系統是將鍵盤、顯示器、打印機和通信端口作為擴充文件來處理的,而這種處理是通過設備驅動程序實現的。作為一種操作系統內核,VDK也對外部設備進行抽象,可以調用API函數對他們進行打開和關閉、同步讀和同步寫以及控制。設備驅動是線程域和中斷域之間溝通的橋梁,也是VDK應用程序與外部環境通信的接口。其代碼既不在線程中也不在中斷服務程序中,而是一個獨立的函數,它也不直接被內核和中斷控制器調度。設備標志是與設備驅動相關聯的信號。一個設備標志為真時,就表示與該標志對應的設備準備好,所有等待該設備標志的線程進入就緒隊列。

3.6 API

應用程序接口API(Application Programming Interface)是存放應用程序可以調用的函數和宏的庫。API函數庫為VDK提供基本服務:中斷處理、調度管理、線程管理、信標管理、事件和事件位以及設備標志的傳遞等。VDK應用程序以線程域和中斷域為主體,以信號為紐帶,以設備驅動作為與外部環境進行通信的接口,以調度為線程和中斷的管理和協調機制來完成復雜的控制功能。

4 結語

隨著DSP的集成度、執行速度越來越高,高性能的DSP芯片需要有高效的系統控制程序來發掘它的潛力,使之功能得以充分的顯示。VDK非常適合用于構造需要精巧控制代碼的系統,這些系統中許多事件往往是隨機發生的。針對實際的應用系統,我們首先要進行深入分析,建立系統模型,從中抽象出所要創建的線程類型、信號、設備驅動和中斷服務程序等,然后就可以著手在VDK環境下編寫應用程序了。

通過對本文中VDK程序的學習,可以使學生進一步理解和掌握嵌入式操作系統的工作原理,為將來嵌入式操作系統打下了良好的基礎,同時可以提高他們的應用嵌入式操作系統的開發能力。

[1] Jean J.Labrosse著、邵貝貝 譯.uC/OS-II—源碼公開的實時嵌入式操作系統,2001

[2] Analog Device.V isual DSP++Kernel User's Guide,April 2009

[3] ANnalog Device.V isual DSP++4.5 Getting Started Guide for ADSP-21xx DSPs,April 2010

[4] Analog Device.Visual DSP++4.5C/C++Com plier and Library Manual for ADSP-21xx DSPs,April 2010

Visual DSP++Kernel Development Tools of ADSP Based on Embedded System

JINWei-zheng,JIN Tang

(Electronica l-In formation College,WuH an University,Wuhan 430079,China)

This paper analyzes the Visual DSP++Kernel development tools of ADSP based on the embedded system about the advantage,library,function,thread,state diagram and specific application through an examp le.To the VDK simulaition for teaching and learning can make students understand and grasp the base theory of embedded operate system and imp rove their application and develop ability.

visual DSP++;Kernel;DSP;embedded system

TM 933.1

A

1008-0686(2011)02-0095-03

2010-08-26;

2010-12-03

金偉正(1966-),男,碩士,副教授,主要從事數字信號處理教學和科研工作,E-m ail:jwz@eis.w hu.edu.cn

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 国产精品一线天| 国内自拍久第一页| 日韩无码精品人妻| 日韩中文精品亚洲第三区| 久久久久夜色精品波多野结衣| 五月天综合网亚洲综合天堂网| 色综合天天综合中文网| 无码人妻免费| 久久亚洲国产最新网站| 九九九精品视频| 伊人网址在线| 伊人91在线| 青青国产在线| 40岁成熟女人牲交片免费| 国产人免费人成免费视频| 四虎影院国产| 国产欧美日韩综合一区在线播放| 国产免费黄| 国产精品尤物铁牛tv| 26uuu国产精品视频| 97青草最新免费精品视频| 四虎成人精品| 午夜无码一区二区三区| 美女毛片在线| 欧美激情视频一区| 狠狠色综合久久狠狠色综合| 国产99热| 亚洲综合色在线| 东京热高清无码精品| 一级一级一片免费| 国产成人a毛片在线| 国产又黄又硬又粗| 乱色熟女综合一区二区| 亚洲欧洲日韩综合| 日韩在线成年视频人网站观看| 国产精品福利一区二区久久| 在线不卡免费视频| 成人小视频网| 国产美女在线观看| 国产日韩欧美黄色片免费观看| 国产9191精品免费观看| 亚洲天堂2014| 亚洲综合狠狠| 亚洲欧美另类中文字幕| 国产无码制服丝袜| 久草美女视频| 亚洲AⅤ永久无码精品毛片| 免费观看成人久久网免费观看| 无码中字出轨中文人妻中文中| 亚洲成人手机在线| 午夜视频在线观看免费网站 | 国产人成乱码视频免费观看| 91国内在线观看| 国产成人久视频免费| 福利视频久久| 国产亚洲精品资源在线26u| 大学生久久香蕉国产线观看 | 无码AV日韩一二三区| 精品国产自| 国产9191精品免费观看| 一级毛片免费高清视频| 在线免费观看AV| 九色在线观看视频| 波多野结衣视频一区二区| 欧美色视频网站| 无码一区二区三区视频在线播放| 亚洲男人的天堂视频| 亚洲成人网在线观看| 国产无人区一区二区三区| 日韩免费中文字幕| av尤物免费在线观看| 免费Aⅴ片在线观看蜜芽Tⅴ| hezyo加勒比一区二区三区| 日本欧美视频在线观看| 国产在线视频自拍| 人人爽人人爽人人片| 久久精品视频一| 亚洲成人在线网| 亚洲欧州色色免费AV| 欧美国产日韩在线观看| 亚洲开心婷婷中文字幕| 国产精彩视频在线观看|