新聞中心

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

        介紹一種實時操作系統DSP/BIOS

        作者: 時間:2009-04-09 來源:網絡 收藏

        例5  PIP對應的讀任務:
          extern  far  PIP_Obj  pip;
          reader()
          {
          Uns  size;
          Ptr  addr;
          if(PIP_getReaderNumFrames(pip)>0)
          {
          PIP_get(pip);
          addr=PIP_getReaderAddr(pip);
          size=PIP_getReaderSize(pip);

          /*Code  to  empty  the  frame*/
          PIP_free(pip);
          }
          else{
          LOG_error(″no  frames  available″);
          /*  or  you  could  just  return;*/
          }
          }
          例6  PIP對應的寫任務:
          extern  far  PIP_Obj  pip;
          writer()
          {
          Uns  size;
          Ptr  addr;
          if(PIP_getWriterNumFrames(pip)>0){
           PIP_alloc(pip);
           addr=PIP_getWriterAddr(pip);
           size=PIP_getWriterSize(pip);
           /*  fill  the  frame  up  to  size  */
           PIP_put(pip);
          }
          else{
           LOG_error(″no  frames  available″);
           /*  or  you  could  just  return;*/
          }
          }
          由邏輯關系可以看到,通過使用PIP應用程序可以保持一個簡單統一接口而不必關心具體的硬件操作,因此當該軟件移植到不同環境中時,至多只需要改寫設備驅動程序。使用PIP的一個具體實例就是HST模塊。HST模塊在主機和之間建立起一條數據鏈路,該鏈路就是一個PIP對象。對HST的操作方式與PIP一致。其差別僅僅在于HST在初始化時指向了預定義的上的HPI接口而已。
          SIO:從PIP的邏輯關系可以看出,讀寫PIP就是一個數據拷貝的過程。這在某些應用中,如實現網絡協議TCP/IP時,不是非常有效。因為數據每向上傳遞一層就需要進行一次數據拷貝,其效率非常差。如果采用SIO來實現就會有很大的改善。SIO的操作只有get()和  put()兩種。與PIP不同的是SIO沒有自己的緩沖隊列。每次get()  或  put()  操作時都會在應用程序和設備驅動程序之間交換緩沖的指針。所以SIO操作的實質是數據地址的交換。由于沒有數據拷貝,其運行效率就很高。SIO的運行邏輯如圖4所示。

        7 RTDX
          數據交換Real-Time-Data-eXhange是/提供的一個全新的功能。在很多應用中要求DSP不能夠停下來,而需要從主機中地讀取數據或者向主機地輸出數據。的C5000,C6000系列的DSP都可以通過JTAG接口來實現這個功能。其邏輯結構如圖5所示。

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 海门市| 忻州市| 高阳县| 民乐县| 曲阜市| 黑河市| 内乡县| 磐安县| 苏州市| 文水县| 清徐县| 剑阁县| 九江市| 梨树县| 日喀则市| 凤翔县| 平南县| 乌兰察布市| 民丰县| 肇东市| 罗田县| 永靖县| 兰溪市| 云浮市| 盐源县| 子洲县| 长子县| 龙岩市| 犍为县| 大埔区| 中卫市| 乌鲁木齐县| 襄樊市| 洞口县| 武冈市| 阜阳市| 库伦旗| 弥勒县| 襄城县| 公主岭市| 乌海市|