<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 介紹一種實(shí)時(shí)操作系統(tǒng)DSP/BIOS

          介紹一種實(shí)時(shí)操作系統(tǒng)DSP/BIOS

          作者: 時(shí)間:2009-04-09 來(lái)源:網(wǎng)絡(luò) 收藏

          新推出的C6400系列最高運(yùn)行時(shí)鐘可以達(dá)到1.1GHz,運(yùn)算能力可以達(dá)到8800MIPS。如何充分發(fā)揮的這種性能優(yōu)勢(shì),對(duì)軟件提出了很高的要求。首先為了降低系統(tǒng)成本,就要求將許多以前用硬件實(shí)現(xiàn)的功能軟件化,原來(lái)由多個(gè)完成的工作由一塊DSP完成,DSP要能夠同時(shí)完成多個(gè)相同或不同的任務(wù)而相互之間沒(méi)有影響。其次為了產(chǎn)品的維護(hù)和升級(jí),要求軟件盡可能地模塊化,使用高級(jí)語(yǔ)言如C來(lái)編程,有統(tǒng)一的接口API。所有這些新的要求,都需要使用。以往直接將應(yīng)用程序運(yùn)行于裸機(jī)之上的作法顯然已經(jīng)不再適用了。推出的技術(shù)正是基于其多年從事DSP研制生產(chǎn)的經(jīng)驗(yàn),為開(kāi)發(fā)者量身定做的一個(gè)優(yōu)秀軟件平臺(tái)?! 「少F的是該是免費(fèi)的,這為眾多的中小用戶使用DSP打開(kāi)了方便之門(mén)。
          1 
            簡(jiǎn)單地說(shuō),操作系統(tǒng)與一般意義上的操作系統(tǒng)(如Windows、  Unix等)的主要差別就在于實(shí)時(shí)操作系統(tǒng)提供了一種機(jī)制,使得運(yùn)行于其上的應(yīng)用程序都能夠滿足實(shí)時(shí)性的要求。  在Windows中常見(jiàn)的沙漏現(xiàn)象(即用戶等待現(xiàn)象)在實(shí)時(shí)系統(tǒng)中是絕對(duì)不允許的。因?yàn)檫@可能造成通訊中斷,馬達(dá)損毀等災(zāi)難性的結(jié)果。  是特別針對(duì)實(shí)時(shí)系統(tǒng),運(yùn)行于C5000,C6000系列的DSP之上的一個(gè)實(shí)時(shí)操作系統(tǒng)?! ?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/DSP/BIOS">DSP/實(shí)際上是一個(gè)可調(diào)用的系統(tǒng)模塊API的集合。以下就各個(gè)模塊分別加以。
          2 LOG
            在開(kāi)發(fā)的時(shí)候通常需要使用printf()來(lái)顯示當(dāng)前狀態(tài)。但是printf()是非?;ㄙM(fèi)時(shí)間的函數(shù)、而且不具有實(shí)時(shí)性。因?yàn)镈SP需要對(duì)顯示的數(shù)據(jù)進(jìn)行分析,整理成合適的顯示格式,并調(diào)用輸出顯示模塊。所以在一個(gè)實(shí)時(shí)性要求很高的應(yīng)用中,對(duì)printf()的調(diào)用可能會(huì)使系統(tǒng)根本無(wú)法滿足實(shí)時(shí)要求。在DSP/BIOS中引入了一個(gè)相應(yīng)的函數(shù)LOG_printf()。該函數(shù)是LOG對(duì)象的一個(gè)方法(或調(diào)用函數(shù)〕。LOG對(duì)象本質(zhì)上是一個(gè)32bit的整形數(shù),其高低16bit分別代表要顯示的兩個(gè)數(shù)據(jù)。例1是分別使用printf()和LOG_printf()作比較的示范程序:
            #include ?。約tdio.h>  
            /*  Header  files  needed  for  DSP  BIOS  */
            #include  <std.h>
            #include ?。糽og.h>

          本文引用地址:http://www.ex-cimer.com/article/152540.htm

            /*  functions  */
            void  func_printf();
            void  func_LOG_printf();
            
            /*  Objects  created  by  the  Configuration  Tool  */
            extern  LOG_Obj  logTrace;
            /*
            *========  main  ========
            */
            void  main  ()
            {
            return;
            }

            void  func_printf(int  time)
            {
            printf(″Strart  printf  demon″); 
            printf(″Current  time=%d  n″  、  time);
            printf(″End  printf  demon″);
            return;
            }

            void  func_LOG_printf(int  time)
            {
            LOG_printf(logTrace、″Strart  LOG_printf  demon″);
            LOG_printf(logTrace、    ″Current  time=%d  n″  、  time);
            LOG_printf(logTrace、  ″End  LOG_printf  demon″);
            return;
            }
            func_printf()和func_LOG_printf()由DSP內(nèi)時(shí)鐘控制每100ms周期性地分別調(diào)用一次。通過(guò)對(duì)printf()和LOG_printf()運(yùn)行時(shí)間作比較發(fā)現(xiàn),在C6211運(yùn)行在150MHz的情況下,printf()需花費(fèi)4000個(gè)周期約26.7μs,LOG_printf()只花費(fèi)36個(gè)周期約0.24μs。printf()比LOG_printf()多開(kāi)銷(xiāo)100倍以上的時(shí)間,因此LOG_printf()對(duì)于實(shí)時(shí)地顯示一些運(yùn)行狀態(tài)是非常有幫助的。而且對(duì)于熟悉C語(yǔ)言的開(kāi)發(fā)者來(lái)說(shuō),LOG_printf()的調(diào)用格式幾乎與printf()完全一樣。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 3 4 5 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();