<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ò ) 收藏

3  STS
  對一個(gè)軟件進(jìn)行分析優(yōu)化時(shí),通常會(huì )用到profile的功能。但是在運行的的環(huán)境中使用profile等效于加入了多個(gè)程序斷點(diǎn)?! ∮捎诂F在的通常具有很深的流水線(xiàn)結構來(lái)保證的高運算能力,如的C6000系列的流水線(xiàn)長(cháng)度為12級,程序斷點(diǎn)需要排空所有已經(jīng)進(jìn)入流水線(xiàn)的指令。這樣也就破壞了真正的運行環(huán)境。同時(shí)profile還必須調用輸出模塊向主機傳遞時(shí)間信息。因此在profile的情況下真正的運行環(huán)境是沒(méi)有辦法得到保護的。針對這種情況引入了一個(gè)統計模塊STS。STS對象只有4個(gè)數據Previous、Count、Total和Max。調用的方法(API)也只有4個(gè),即STS_add()、  STS_set()、  STS_delta()和STS_reset()。這些API對數據的操作功能如表1所示。

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

如果要對某一段程序進(jìn)行分析時(shí),只需在其前后調用STS_set和STS_delta就可以了。如例2使用STS測試程序段執行周期如下:
  /*  Header  files  needed  for  DSP    */
  #include ?。約ts.h>
  #include ?。糲lk.h>

  /*  functions  */
  void  func_load();

  /*  Objects  created  by  the  Configuration  Tool  */
  extern  STS_Obj  stsLoad;

  /*
  * ?。剑剑剑剑剑剑剑健 ain ?。剑剑剑剑剑剑剑?br />  */
  void  main()
  {

  /*  fall  into    idle  loop  */
   return;
  }

  void  func_load()
  {
  STS_set(stsPrintf、  CLK_gethtime());

  /*  測試程序段    */
  ...
  STS_delta(stsPrintf、  CLK_gethtime());
  }
  func_load()為一個(gè)中斷服務(wù)程序(ISR)。在C6211,150MHz的情況下,僅插入33個(gè)周期,約0.22μs。
4  任務(wù)調度(HWI/SWI/TSK)
  一個(gè)的核心永遠都是任務(wù)的調度。在中任務(wù)的調度是通過(guò)HWI、SWI和  TSK  三個(gè)模塊來(lái)實(shí)現的。這三個(gè)模塊分別對應于不同的調度方法。HWI即硬件中斷。在  DSP/BIOS中硬件中斷主要負責從外部設備中讀寫(xiě)數據。由于硬件中斷直接與硬件打交道,所以對應的中斷服務(wù)程序ISR應該盡可能地短小精悍。需要注意的是HWI并不引起任務(wù)調度,因此在ISR的入口和出口成對地調用_HWI_enter()和_HWI_exit()這兩個(gè)宏是必須的。HWI在處理完數據的輸入輸出后調用SWI_post()來(lái)調度相應的軟件中斷,SWI來(lái)完成數據處理工作。SWI是  DSP/BIOS任務(wù)調度的核心,共有14個(gè)優(yōu)先級,每個(gè)優(yōu)先級可以有多個(gè)任務(wù)。SWI任務(wù)是搶斷式的,即高優(yōu)先級的任務(wù)可以搶斷低優(yōu)先級的任務(wù)。但是SWI任務(wù)是不可阻塞的。它的運行狀態(tài)如圖1所示。

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


評論


相關(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>