<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

本文引用地址:http://dyxdggzs.com/article/152540.htm

  /*  functions  */
  void  func_printf();
  void  func_LOG_printf();
  
  /*  Objects  created  by  the  Configuration  Tool  */
  extern  LOG_Obj  logTrace;
  /*
  *========  main ?。剑剑剑剑剑剑剑?br />  */
  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內時(shí)鐘控制每100ms周期性地分別調用一次。通過(guò)對printf()和LOG_printf()運行時(shí)間作比較發(fā)現,在C6211運行在150MHz的情況下,printf()需花費4000個(gè)周期約26.7μs,LOG_printf()只花費36個(gè)周期約0.24μs。printf()比LOG_printf()多開(kāi)銷(xiāo)100倍以上的時(shí)間,因此LOG_printf()對于實(shí)時(shí)地顯示一些運行狀態(tài)是非常有幫助的。而且對于熟悉C語(yǔ)言的開(kāi)發(fā)者來(lái)說(shuō),LOG_printf()的調用格式幾乎與printf()完全一樣。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>