DSP/BIOS?實(shí)時(shí)操作系統(tǒng)
DSP/BIOS?是一個(gè)可定標(biāo)的實(shí)時(shí)作業(yè)核心(kernel),特地為TMS320C5000? 及 TMS320C6000? DSP 的平臺(tái)所設(shè)計(jì)。 DSP/BIOS 已被數(shù)以千計(jì)的客戶研究證實(shí)過,并成為Code Composer Studio?發(fā)展工具內(nèi)建不可或缺的功能之一,DSP/BIOS 不需要注冊(cè)使用費(fèi)用,為德州儀器在全球舉辦的訓(xùn)練課程及研討會(huì)重要后盾。
DSP/BIOS不同于傳統(tǒng)的DSP軟件方法,能助您迅速發(fā)展及部署復(fù)雜的應(yīng)用,而不需另外開發(fā)及維護(hù)常用的操作系統(tǒng)或控制回路,因?yàn)槎嘟M鏈接碼(multi-threading) 使得實(shí)時(shí)應(yīng)用能清楚地劃分。 DSP/BIOS的應(yīng)用能輕易地維護(hù),且新增功能時(shí)不需中斷實(shí)時(shí)響應(yīng); 此外,它并提供標(biāo)準(zhǔn)化APIs 適用于C5000 及 C6000 DSP 平臺(tái)來(lái)支持快速應(yīng)用的轉(zhuǎn)換。
DSP/BIOS 與DSP外圍的數(shù)據(jù)庫(kù)(Chip Support Library)兼容并且內(nèi)建于Code Composer Studio 交互式開發(fā)環(huán)境,Code Composer Studios 核心監(jiān)管及實(shí)時(shí)分析也是一個(gè)十分有用的內(nèi)建工具,注重在程序除錯(cuò)及多個(gè)任務(wù)的輪調(diào)。
Real-Time OS: DSP/BIOS:DSP/BIOS? 核心(Kernel)
DSP/BIOS 提供一組豐富且確定的核心服務(wù),幫助研發(fā)人員開發(fā)精密且復(fù)雜的應(yīng)用時(shí)不致影響到實(shí)時(shí)性。 DSP/BIOS 是可定標(biāo)且多組鏈接配置要求少至1K 字符(words),而核心服務(wù)可支持C語(yǔ)言功能或組合(assembly)語(yǔ)言接口。
圖形配制(Graphical configuration)DSP/BIOS和所有慣用的實(shí)時(shí)操作系統(tǒng)一樣,可在執(zhí)行的應(yīng)用上,任何時(shí)間點(diǎn),動(dòng)態(tài)地建立操作系統(tǒng),如任務(wù)(tasks)或信號(hào)(semaphores)。 此外,DSP/BIOS提供一個(gè)主機(jī)端的圖形設(shè)定工具來(lái)簡(jiǎn)單點(diǎn)選DSP/BIOS圖形設(shè)定以符合應(yīng)用需求。 這個(gè)靜態(tài)設(shè)定程序可經(jīng)由刪除核心功能及動(dòng)態(tài)操作系統(tǒng)下的程序代碼(如threads及semaphores等),來(lái)大幅減少其在目標(biāo)內(nèi)存所占的體積。
核心服務(wù)(Kernel services)為了達(dá)到分析及外圍配置支持,DSP/BIOS還包含了下列核心模塊:
硬件中斷(Hardware Interrupt): 提供一個(gè)硬件中斷到DSP/BIOS核心的接口
軟件中斷(Software Interrupt):使用程序堆棧以達(dá)到輕載pre-emptible threads
任務(wù)(Tasks):獨(dú)立執(zhí)行的threads來(lái)產(chǎn)生程序周期功能(Periodic Functions): 時(shí)間觸發(fā)器輕載threads信箱: 在各任務(wù)間進(jìn)行同步資料交換
信號(hào)(Semaphores): 計(jì)算semaphores
排序(Queues): 自動(dòng)連結(jié)排列
時(shí)鐘(Clock): 硬件定時(shí)器接口
Streams: 任務(wù)專用的串行I/O
Pipes: 軟件中斷專用的串行I/O
內(nèi)存管理員(Memory Manager): 采低量動(dòng)態(tài)內(nèi)存配置
為了加速DSP應(yīng)用的響應(yīng),DSP/BIOS新增額外的鏈接機(jī)制(threading mechanisms)在傳統(tǒng)tasking模式中、 軟件中斷輕載pre-emptible threads 來(lái)分享一個(gè)共同的堆棧,結(jié)果,在不需儲(chǔ)存任務(wù)堆棧的狀況下,只會(huì)占用少許內(nèi)存并加快活動(dòng)次數(shù)。周期功能是指時(shí)間觸發(fā)器排序的方法,可輕易將取得的資料樣本設(shè)定在一個(gè)固定的時(shí)間間隔中,以簡(jiǎn)化系統(tǒng)(multirate systems)的設(shè)計(jì)。 為了促進(jìn)復(fù)雜應(yīng)用的設(shè)計(jì),DSP/BIOS提供多任務(wù)內(nèi)部各任務(wù)的溝通服務(wù),其中包括semaphores,mailboxes,及 queues等。
有效中斷管理(Efficient Interrupt Management)DSP/BIOS 提供兩種選擇來(lái)控制中斷 C 一個(gè)中斷調(diào)度(dispatcher)及宏(macros),這兩個(gè)裝置都密切關(guān)系到中斷最小化的取消及中斷延遲的極大化,這個(gè)調(diào)度能使ISRs接受C程序語(yǔ)言來(lái)執(zhí)行任務(wù),如儲(chǔ)存與修復(fù)程序及暫時(shí)關(guān)閉工作表,讓ISRs能正確與核心作互動(dòng); 這個(gè)方法是利用刪減每個(gè)ISR中的特殊功能程序而減少了程序的大小。 為了進(jìn)一步減少內(nèi)存的需求,所有ISRs使用一個(gè)共同堆棧器(common stack)而不用各個(gè)中斷任務(wù)的堆棧器; 而宏的進(jìn)出會(huì)使得ISR如同一個(gè)調(diào)度者在不斷地執(zhí)行相同的操作。宏的功能在每個(gè)ISR中是成對(duì)出現(xiàn)的,這使得研發(fā)人員只能在特殊ISR中進(jìn)行儲(chǔ)存及修復(fù)工作,因此而減少了中斷的響應(yīng)時(shí)間。DSP/BIOS 能在同一個(gè)應(yīng)用中進(jìn)行宏和調(diào)度來(lái)取得功效和內(nèi)存間的最佳化組合。
硬件概念(Hardware Abstraction)為了排定工作及?成內(nèi)部任務(wù)的溝通服務(wù),DSP/BIOS 亦提供了實(shí)時(shí)時(shí)鐘管理,內(nèi)存管理,及獨(dú)立作業(yè)的I/O端口。 DSP/BIOS 內(nèi)存管理員提供”再加入(re-entrant)”動(dòng)態(tài)記憶管理,可利用邏輯內(nèi)存區(qū)塊將零散的記憶配置自DSP應(yīng)用中抽離。 DSP/BIOS 提供一零件獨(dú)立性I/O端口模塊可提高實(shí)時(shí)數(shù)據(jù)的有效過程極佳化,利用抽離外圍組件及內(nèi)存配置的特殊獨(dú)立裝置,DSP/BIOS使得轉(zhuǎn)換應(yīng)用到一顆新的DSP或發(fā)展板時(shí)變得十分容易。
Real-Time OS: DSP/BIOS : 多組鏈接的優(yōu)勢(shì)(MultiThreading Benefits)
許多傳統(tǒng)DSP的開發(fā)者建構(gòu)他們的軟件應(yīng)用于順序處理循環(huán)及狀態(tài)機(jī)器上,這種方式十分適用在DSP執(zhí)行一個(gè)的主要功能,然而一旦DSP必須執(zhí)行多組功能時(shí)它便會(huì)受到很大的限制。當(dāng)這種現(xiàn)象逐漸普遍在使用DSP于支持不同取樣率下的多任務(wù)處理時(shí),開發(fā)人員便會(huì)采納這個(gè)多組鏈接的(multithreaded)設(shè)計(jì)方法,在微處理器的實(shí)時(shí)應(yīng)用下已是被大家所接受的。 在順序處理循環(huán)方面,新功能的加入或既存功能的修改,會(huì)影響到正在服務(wù)的函式,因此,越復(fù)雜的實(shí)時(shí)應(yīng)用要維護(hù)及更改就越加困難。
至于多功處理應(yīng)用或未來(lái)需要擴(kuò)充功能應(yīng)用,一個(gè)較好的方法是,利用設(shè)計(jì)范例來(lái)使各個(gè)獨(dú)立作業(yè)之功能的反應(yīng)時(shí)間不相關(guān),而多組鏈接(Multithreaded)則應(yīng)用在分配各個(gè)執(zhí)行鏈接碼于其系統(tǒng)功能內(nèi)。當(dāng)一個(gè)特殊鏈接碼提供一個(gè)CPU時(shí)序時(shí),在調(diào)度程序(scheduler)控制下,這些鏈接碼會(huì)并列執(zhí)行; 當(dāng)高順位的鏈接碼開始執(zhí)行時(shí),調(diào)度程序?qū)⒄加幂^低順位的鏈接碼,而此時(shí)每個(gè)鏈接碼都已被付予一個(gè)順序來(lái)決定,一旦準(zhǔn)備開始執(zhí)行時(shí)它會(huì)在多久時(shí)間內(nèi)被排到工作。 因此,執(zhí)行一高順位鏈接的臨界功能,其反應(yīng)時(shí)間將不會(huì)受到修正其它功能或增加新的且順位較低功能的影響。
此外,利用一個(gè)多功處理核心可降低電源消耗,因?yàn)槎喙μ幚響?yīng)用可完全是中斷驅(qū)動(dòng)的,并有可能消除應(yīng)用程序的查詢(Polling)程序。這樣降低了處理器的利用率使得處理器在空閑狀態(tài)(Idle)時(shí)可以致能省電模式。
Real-Time OS: DSP/BIOS : 標(biāo)竿(Benchmarks)
標(biāo)竿號(hào)碼將提供DSP/BIOS核心專用之定時(shí)及功能資料于C6000 及 C5000 DSP平臺(tái)上。
Real-Time OS: DSP/BIOS : DSP/BIOS 應(yīng)用資料
審核編輯:湯梓紅
-
dsp
+關(guān)注
關(guān)注
553文章
7998瀏覽量
348959 -
mcu
+關(guān)注
關(guān)注
146文章
17149瀏覽量
351224 -
ti
+關(guān)注
關(guān)注
112文章
8082瀏覽量
212438 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6827瀏覽量
123334
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論