版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、TI DSP/BIOS,Yys,實時操作系統(tǒng)的概述 DSP/BOIS簡介 DSP/BIOS的功能及分析,前言,1.1 什么是RTOS?,RTOS稱為實時多任務(wù)操作系統(tǒng)(Real-Time Operating System),是嵌入式應用軟件的基礎(chǔ)和開發(fā)平臺,它是一段嵌入在目標代碼中的軟件,用戶的其它應用程序都建立在RTOS之上。 RTOS還是一個可靠性和可信性很高的實時內(nèi)核,將CPU時間、中斷、I/O和定時器等資源都包裝起來,留給用戶一個標準的API接口,并能根據(jù)各個任務(wù)的優(yōu)先級,合理地在不同任務(wù)之間分配CPU時間。,1.2用RTOS有什么好處?,RTOS是針對不同處理器優(yōu)化設(shè)計的高效率實時多
2、任務(wù)內(nèi)核。據(jù)專家預測,在優(yōu)秀RTOS上跨處理器平臺的程序移植只需要修改1 5的內(nèi)容。它的引入解決了嵌入式軟件開發(fā)標準化的難題?;赗TOS開發(fā)出來的程序具有較高的可移植性,引入RTOS相當于引入了一個新的管理模式,可減少重復勞動,提高知識創(chuàng)新效率。,隨著DSP性能的不斷改進,目前多種型號的DSP繼承了大量外設(shè)器件,DSP逐漸從高速數(shù)字處理引擎轉(zhuǎn)變成具備多種微控制功能的芯片。因此在實際應用中DSP在繼續(xù)用來完成算法的同時,還要完成包括信號采樣,驅(qū)動控制,通訊等任務(wù)在內(nèi)的整個系統(tǒng)的功能。 DSP中混合各種各樣的算法,同時要完成高性能控制,通訊,在這種情況下就更需要兼顧系統(tǒng)的實時性。傳統(tǒng)的前后臺模式
3、已經(jīng)難以滿足實際要求。(ucos/uclinux/bios),所有的DSP/BIOS對象都可以在配置工具中靜態(tài)建立; 實時監(jiān)測數(shù)據(jù)在主機端做格式化處理; API函數(shù)是模塊化的,只有應用程序用到的API模塊才會和應用程序鏈接在一起; 為達到最快的運行速度,大部分函數(shù)用匯編語言編寫; 目標處理器和主機分析工具之間的通信在后臺空閑循環(huán)中完成,這樣不會影響應用程序的運行。如果CPU太忙,不能執(zhí)行后臺任務(wù),DSP/BIOS分析工具會停止從目標處理器接收信息。(隱式/顯式),2.1 DSP/BIOS 概述,DSP/BIOS的定義DSP/BIOS是一個可升級的實時內(nèi)核。它主要是為需要實時調(diào)度和同步以及主機-
4、目標系統(tǒng)通訊和實時監(jiān)測(Instrumentation)的應用而設(shè)計的。 DSP/BIOS是集成到CCS中的, 不需要額外的費用。但不提供源碼。 DSP/BIOS 是 TIs eXpressDSP 技術(shù)的重要組成部分。,DSP/BIOS本身占用極少的CPU資源,提供豐富的面向用戶的應用程序編程接口(API)和程序開發(fā)工具。主要包括以下核心模塊: 1.任務(wù)調(diào)度模塊(HWI/SWI/TSK) 2.進程同步模塊(SEM/QUE/MBX) 3.數(shù)據(jù)輸入輸出模塊(PIP/SIO) 4.調(diào)試模塊(LOG/STS) 利用這些功能用戶可以比較方便的編寫各種結(jié)構(gòu)復雜,實時性強,運行效率高的應用軟件,降低了軟件開
5、發(fā)的難度,提高了調(diào)試效率。,3.1dsp/bios中的時鐘,用戶可以往DSP/BIOS配置中定義DSP/BIOS系統(tǒng)時鐘參數(shù)。除了系統(tǒng)時鐘之外,用戶可以建立其它時鐘對象(CLK,PRD),實現(xiàn)在每次定時器中斷發(fā)生時觸發(fā)某函數(shù)的執(zhí)行。 很多DSP/BIOS的API函數(shù)都有一個超時的函數(shù)。DSP/BIOS會使用系統(tǒng)時鐘來判斷是否超時。,3.1 DSP/BIOS中的時鐘模塊,3.1.1 系統(tǒng)中的高/低分辨率時鐘,DSP/BIOS提供了兩種獨立的時鐘管理方法:高分辨率和低分辨率的時鐘管理。在默認設(shè)置中,系統(tǒng)時鐘使用低分辨率的時鐘管理。每當進入一次定時器中斷服務(wù)程序時,低分辨率的計數(shù)器加1,因此,低分辨
6、率的計數(shù)器記錄了定時器中斷發(fā)生的次數(shù),也就是說低分辨率的時鐘與定時器中斷時鐘一一致。而高分辨率時鐘是定時器的計數(shù)寄存器被減的次數(shù)。(對于28X系列就是低分辨率乘以TIMERPRD的值),CLK模塊為用戶周期性調(diào)用提供方法,同時對一些代碼評估工具提供了時間參考。實際上CLK模塊完全依賴于DSP的定時器中斷。CLK管理器還允許隨意建立各種時鐘函數(shù),當定時器中斷發(fā)生時,CLK管理器就執(zhí)行這些時鐘函數(shù)。 當定時器減至0時,便產(chǎn)生定時器中斷。內(nèi)核進入中斷服務(wù)子程序CLK_F_isr函數(shù)。,3.1.2 時鐘管理模塊CLK,3.1.3 周期函數(shù)管理模塊PRD,許多應用程序都需要根據(jù)I/O口可用性或其它可編程
7、的事件來調(diào)度函數(shù)。其余的應用程序則基于實時時鐘來調(diào)度函數(shù)。 用戶可以創(chuàng)建多個PRD對象,但它們都由同一個系統(tǒng)時鐘驅(qū)動。它的周期是以系統(tǒng)時鐘為單位。,3.2dsp/bios中的線程,許多實時DSP應用都需要同時執(zhí)行許多不相關(guān)的功能(functions,函數(shù)),這些功能一般是對外部事件的響應. 這些功能就叫線程. DSP/BIOS定義線程為任何獨立的指令流. 可以是一個函數(shù), 或一個中斷服務(wù)程序. DSP/BIOS使應用程序按線程結(jié)構(gòu)化設(shè)計,每個線程完成一個模塊化的功能. 多線程程序中允許高優(yōu)先級線程搶占低優(yōu)先級線程,以及線程間的同步和通訊 .,3.2dsp/bios中的線程,DSP/BIOS支持
8、多種不同優(yōu)先級的線程,每種線程的類型都有不同的執(zhí)行和搶占特性。這些線程按照優(yōu)先級從高到低的順序排列如下: 1.硬件中斷(HWI),包括CLK函數(shù) 2.軟件中斷(SWI),包括PRD函數(shù) 3.任務(wù)(TSK) 4.空閑循環(huán)(IDL),3.2.1 硬件中斷,硬件中斷是用來處理應用程序響應外部異步事件必須執(zhí)行的關(guān)鍵任務(wù)。 在典型的DSP應用中,硬件中斷是由片上外設(shè)或外部設(shè)備觸發(fā)的,然后跳轉(zhuǎn)地址。硬件中斷ISR可以使用匯編,C語言或兩種混合編寫。 所有硬件中斷會一直運行到結(jié)束(可以被搶占)。即使被觸發(fā)多次,該ISR也只運行一次。因此用戶必須盡量減小HWI函數(shù)執(zhí)行的代碼量。 當硬件中斷產(chǎn)生之后,DSP/B
9、IOS就會調(diào)用相應的HWI函數(shù)。如果把HWI設(shè)置為Dispatch的話,則會在調(diào)用HWI函數(shù)的前后自動調(diào)用HWI_enter和HWI_exit。,3.2.2 軟件中斷,DSP/BIOS的SWI模塊提供了軟件中斷的能力。通過在程序中調(diào)用一個API函數(shù),即可觸發(fā)中斷。優(yōu)先級介于硬件中斷與任務(wù)之間。適用于處理頻率較低或者實時性沒有硬件中斷嚴格的程序作業(yè)。 當軟件中斷被觸發(fā)時,它會在等待中的硬件中斷都執(zhí)行完后才開始執(zhí)行。正在運行的SWI線程在任何時刻都可以被高優(yōu)先級搶斷。另一方面,SWI線程總能搶占任務(wù)的執(zhí)行。 15個優(yōu)先級,為了滿足同一時刻出現(xiàn)的最大數(shù)量的線程搶占,每增加一個優(yōu)先級別,所需的堆棧大小
10、就會增加。,3.2.3 任務(wù),TSK模塊優(yōu)先級高于空閑但低于HWI和SWI模塊。任務(wù)自身共有15個優(yōu)先級。每個任務(wù)總是處于四種執(zhí)行狀態(tài)之一。 1.運行態(tài)(Runing):代表該任務(wù)正在執(zhí)行 2.就緒態(tài)(Ready):已經(jīng)被調(diào)度等待可用 3.阻塞態(tài)(Blocked):等待某個事件或者資源 4.終止態(tài)(Terminated):代表任務(wù)已經(jīng)被終止,3.2.4 空閑循環(huán),空閑循環(huán)是DSP/BIOS的后臺線程,可以被其它任何一個線程搶占。 目標DSP和主機分析工具間的通信通常在空閑狀態(tài)循環(huán)中執(zhí)行。這保證了分析工具不會影響應用程序的處理。,3.2dsp/bios中的線程,3.2dsp/bios中的線程,D
11、SP/BIOS運行優(yōu)先級最高的線程 當下面情況發(fā)生時, 不一定運行優(yōu)先級最高的線程:(1) HWI_disable, SWI_disable或TSK_disable被調(diào)用(2) 高優(yōu)先級的任務(wù)處于阻塞時,即調(diào)用了TSK_sleep, LCK_pend, MBX_pend, or SEM_pend.,3.2.5 線程特點比較,3.2.5 線程特點的比較,HWI和SWI都使用系統(tǒng)堆棧,而每個TSK都有自己的堆棧??梢栽赥SK線程之間隨意地互相切換,切換時DSP/BIOS將自動地更新堆棧寄存器,因此TSK線程可以被阻塞。這樣TSK就可以寫成一個死循環(huán):While(1) Do_some_task(); Yield_to_other_task();Do_some_task做這個TSK所要做的事情,Yield_to_other_task則把
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 邊境邊防安全培訓課件
- 車駕管窗口業(yè)務(wù)課件培訓
- 車隊道路交通安全培訓
- 安全三級教育試題
- 2026年人防護安全知識試題
- 《電動機》物理授課課件
- 2026年小學心理健康教育領(lǐng)導小組及分工職責(3篇)
- 2026年密碼機要崗位考試題庫及答案
- 車間班組長培訓內(nèi)容課件
- 車間安全管理教育培訓課件
- 智能安全帽解決方案-智能安全帽
- 中醫(yī)臨床路徑18脾胃科
- 2024年版煙霧病和煙霧綜合征診斷與治療專家共識(完整版)
- 零星維修合同模板
- 九三學社申請入社人員簡歷表
- 聚氨酯門窗研究匯報
- 醫(yī)院電子病歷四級建設(shè)需求
- 上海2023屆高三二模數(shù)學卷匯總(全)
- 《銳角三角函數(shù)》復習(公開課)課件
- 計算機視覺PPT完整全套教學課件
- YC/T 564-2018基于消費體驗的中式卷煙感官評價方法
評論
0/150
提交評論