<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>電子通信論文>雙片ADSP-21160系統的程序加載設計

      雙片ADSP-21160系統的程序加載設計

      時間:2023-02-21 00:11:54 電子通信論文 我要投稿
      • 相關推薦

      雙片ADSP-21160系統的程序加載設計

      本文檔詳細說明了雙片ADSP-21160系統的加載,以及如何在VISUAL DSP++集成開發環境中通過DSP將引導程序上載到FLASH中。SHARC系列是美國模擬器件公司(Analog Devices)的重要芯片系列之一。該系列產品具有很強的數字信號處理能力,多片SHARC芯片可以構成更為處理能力強大的系統,廣泛應用于通信,雷達等領域。SHARC系列芯片族包含了ADSP-21060/21061/21601/21065L,以及最新的21160/21161系列。它們共同的特點是不但有強大的處理能力,而且有豐富的接口資源,十分適合多片級聯構成功能更復雜的系統。

          在多片系統中,如何對多片SHARC DSP進行程序加載是一個比較實際的問題,本文就是從硬件構架和軟件流程上對雙片ADSP-21160的SHARC系統的加載問題進行分析的。

      1. 雙片ADSP-21160系統的硬件構架

      1.1 雙片ADSP-21160的連接    以AD21160N為例。

          兩片SHARC分別為DSP1和DSP2,相應的ID2~0管腳置為001和010。其中ID為001的是主片,ID為010的為從片。

          如果系統采用非主機引導模式,每片的/HBG,/HBR分別置為無效狀態(拉高)。

          如果加載采用EPROM引導,每片SHARC的/BMS做線或后和EPROM的/CE相連。并且每片的BR1,BR2對應相連,其余BRx置為無效(拉高)。

          ACK信號決定了總線權的轉移,應該把ACK強制拉高。當ID = 000(單片系統),或者ID = 001(多片系統的主片)的時候,ACK會自動內部拉高。為了保險起見,可以把主片和從片的ACK都在外部強制拉高。否則,會出現總線權不能交給從片的現象。

          地址總線和數據總線對應相連,并和EPROM的地址線,數據線相連。

          當雙片系統加電后,主片ADSP-21160和從片ADSP-21160都是從EPROM中讀出256個字節的初始程序段。這256個字節的程序段包含了加載初始化信息,在此段的最后有一張跳轉表,顯示了不同ID的程序對應的不同的存儲地址。SHARC通過讀自己的系統寄存器得到自己的ID,然后取出自己所要加載的程序代碼的偏移地址。

          根據SHARC的總線制裁機制,ID號低的SHARC有較高的優先權,所以ID=001的主片先加載。當第一片加載完畢后,通過BR1通知第二片可以開始加載,總線權轉移到ID=010的SHARC。當第二片加載完畢后,通過BR2通知系統,然后此雙片系統開始運行程序。
        
      1.2 ADSP-21160與FLASH的連接

          FLASH的CE,OE,WE分別與AD21160的BMS,RD,WR相連,其中BMS表示片選信號,WR為寫信號,RD為讀信號。另外FLASH的地址線和數據線也分別與DSP連接好。

          如果把AD21160的MS0~2與FLASH的片選線相連,就是把FLASH成了AD21160的外部擴展存儲區。這樣會帶來方便,首先,可以在VisualDSP++ for SHARC中直接讀FLASH里的數據,無需編程讀出;其次,可以用直接讀寫的辦法燒寫FLASH,還可以用軟件控制插入的等待時間。

          如果僅用BMS與FLASH相連,那么就只能用DMA的方式進行FLASH的讀寫操作。

      1.3 燒寫FLASH的方式

          當使用BMS片選FLASH的時候,FLASH作為AD21160的字節存儲空間,AD21160只能通過DMA方式訪問FLASH。

          完成一次DMA傳送需對4個存儲器映像寄存器進行設置。注意,寫FLASH只能使用DMA10。
      具體如下:


          1.設置BSO,使BMS強制有效,并打開DMA10的中斷使能;

            USTAT1 = DM(SYSCON);
          BIT SET USTAT1 BSO;
          DM(SYSCON) = USTAT1;

            BIT SET MODE1 IRPTEN;
            BIT SET IMASK EP1I;
            BIT SET IMASK EP0I;

          2.注意對FLASH的寫是字節編程,所以要把數據文件轉化為8bit的字節形式。每次DMA只能送出一個字節。

          3.因為BMS片選FLASH,所以不能對FLASH的讀寫進行插入等待狀態的指令。變通的辦法是,DMA次數寄存器設為3或3以上的整數,即對同一個地址連續多次寫入同一個字節,等效于插入等待狀態,拉寬寫使能信號的寬度。

          4.有關FLASH讀寫時序,請參看所使用的FLASH的datasheet,并按照其時序和控制字要求,使用SHARC的匯編指令編寫FLASH的燒寫程序。該程序可以通過仿真器在SHARC芯片上運行,實現把.dat文件燒寫到FLASH中。

      2. 雙片系統的LDF文件

          LDF文件是對系統的存儲資源進行說明和定義的文件,雙片系統的LDF與單片的LDF有所不同。為了更好的進行雙片之間的通信,其LDF文件一般定義如下:

      ARCHITECTURE(ADSP-21160)   &nbs

      p;      21160系統
      SEARCH_DIR( $ADI_DSP\211xx\lib )  文件路徑
      $LIBRARIES = lib160.dlb;
      COMMAND_LINE_OBJECTS.
      $OBJECTS = $COMMAND_LINE_OBJECTS;
      MEMORY                             //片內存儲區定義
      { mem_rth  { TYPE(PM RAM) START(0x00040000) END(0x000400ff) WIDTH(48) }                                //程序內存,中斷向量表段
       mem_pmco { TYPE(PM RAM) START(0x00040100) END(0x000491ff) WIDTH(48) }                               //程序內存,代碼段
       mem_pmda { TYPE(PM RAM) START(0x0004db00) END(0x0004efff) WIDTH(32) }                                //程序內存,數據段
       mem_dmda { TYPE(DM RAM) START(0x00050000) END(0x00057fff) WIDTH(32) }                                //數據內存,數據段
       mem_dmex { TYPE(DM RAM) START(0x00800000) END(0x00800fff) WIDTH(32) }                                //數據存儲區,片外數據段
      }
        //以下是對多片(ID1 和ID2)映射空間說明

      MPMEMORY

      { ID1 { START(0x00100000) }              //第一片映射到0x00100000
       ID2 { START(0x00200000) }              //第一片映射到0x00200000
      }

      下是對共享的外部存儲區的聲明,比如外掛的SRAM等器件的存儲空間
      { OUTPUT(shared.sm)
       SECTIONS
       { dxe_dmex
        { INPUT_SECTIONS( shared.doj(sram_da) )
        } >mem_dmex
       }
      }
      PROCESSOR ID1  //處理器 ID1 的段定義.
      {   LINK_AGAINST(ID2.dxe)
          OUTPUT(ID1.dxe)
          SECTIONS
          {  dxe_rth
        { INPUT_SECTIONS( ID1.doj(seg_rth) $LIBRARIES(seg_rth))
        } >mem_rth
        dxe_pmco
        { INPUT_SECTIONS( ID1.doj(s

      eg_pmco) $LIBRARIES(seg_pmco))
        } >mem_pmco
        dxe_pmda
        { INPUT_SECTIONS( ID1.doj(seg_pmda) $LIBRARIES(seg_pmda))
        } >mem_pmda
        dxe_dmda
        { INPUT_SECTIONS( ID1.doj(seg_dmda) $LIBRARIES(seg_dmda))
        } >mem_dmda
       }
      }

      PROCESSOR ID2  //處理器 ID2 的段定義
      {
       LINK_AGAINST(ID1.dxe)
          OUTPUT(ID2.dxe)
           SECTIONS
          { dxe_rth
        {INPUT_SECTIONS( ID2.doj(seg_rth) $LIBRARIES(seg_rth))
        } >mem_rth
        dxe_pmco
        { INPUT_SECTIONS( ID2.doj(seg_pmco) $LIBRARIES(seg_pmco))
        } >mem_pmco
        dxe_pmda
        {INPUT_SECTIONS( ID2.doj(seg_pmda) $LIBRARIES(seg_pmda))
        } >mem_pmda
        dxe_dmda
        {INPUT_SECTIONS( ID2.doj(seg_dmda) $LIBRARIES(seg_dmda))
        } >mem_dmda
       }
      }

          通過以上的定義,就實現了在一個LDF文件中聲明了兩片AD21160的存儲空間,以及多片存儲區映射(MMS),和共享片外存儲區。

      3. 燒寫雙片SHARC的流程實例

          新建一個工程,采用以上的LDF文件聲明。
          然后編寫兩個.asm文件:ID1.asm,ID2.asm。
          這兩個.asm文件都有獨立的中斷向量表,可以獨立執行各自的程序。

          例如,可以在ID1.asm中讓FLAG0和FLAG1輸出反相的方波,在ID2.asm中讓FLAG2和FLAG3輸出另一個頻率的反相的方波。

          編譯通過后,可以找到新生成的可執行文件ID1.DXE,ID2.DXE。

          在VISUAL DSP++集成環境中,選擇工程屬性(Project Option),改變如下:

      1.如上圖,把Type由DSP executable file改為Loader file;

          2.如上圖,選定Multiprocessor,就可以在被激活的選擇框中選擇要使用的.DXE文件。在1處,選擇ID1.DXE;在2處,選擇ID2DXE。這意味著將對第一片加載ID1.DXE,對第二片加載ID2.DXE。Kernel file選擇默認的160_prom.dxe,該文件是由AD提供的加載核文件。在Output file中設定輸出文件名(在這里是Two_SHARC.ldr);選定ASCII格式,將產生16bit的數據文件;boot type選定eprom,這將產生適合從eprom中加載的數據文件。

          3.一切完成后,進行一次編譯。就可以在DEBUG文件夾里找到生成的Two_SHARC.ldr。

          4.接好仿真器后,打開FLASH燒寫程序,把要燒結的文件名添加到程序中。運行FLASH燒結程序,就把兩片加載程序燒到FLASH里了。

          5.關閉VisualDSP,拔掉仿真器,重新啟動目標板,按下RESET,通過示波器觀測第一片DSP的FLAG0和FLAG1,和第二片DSP的FLAG2和FLAG3,檢查是否有對應的反相方波輸出。如果有,說明雙片AD21160加載成功。

      4. 結 束 語

          美國AD公司的SHARC系列DSP的多片級連能力是其特點之一,從本文介紹的兩片系統加載方案可以推知多片SHARC系列DSP芯片系統的加載也是類似的。多片系統同樣也要注意系統的硬件架構,包含多片DSP芯片之間的連接方式,總線仲裁機制,以及與FLASH MEMORY之間的連接。軟件上對.LDF的設置是關鍵,它決定了多片DSP之間的相互訪問的存儲分區。多片SHARC系統會大大發揮該系列芯片強大的浮點處理能力,在通信,雷達等方面有重大應用。

      作者聯系:hanwei2004@sohu.com


      【雙片ADSP-21160系統的程序加載設計】相關文章:

      利用Flash實現DSP對多個程序有選擇的加載08-06

      一種基于CAN總線的DSP程序加載技術08-06

      嵌入式Linux系統CGI程序設計技術08-06

      采用PDIUSBD12的USB系統固件程序設計08-06

      基于VxWorks的多DSP系統的多任務程序設計08-06

      基于ARM體系的嵌入式系統BSP的程序設計08-06

      基于PCI總線的雙DSP系統及WDM驅動程序設計08-06

      基于Vxworks實時操作系統的串口通信程序設計與實現08-19

      程序設計心得04-26

      主站蜘蛛池模板: 日韩人妖精品一区二区av| 国产成人亚洲综合91精品| 国产熟女一区二区五月婷| 偷自拍另类亚洲清纯唯美| 国产精品久久国产精麻豆99网站| 亚洲精品日韩在线丰满| 99久久婷婷国产综合精品青草漫画| 久久久久亚洲AV无码专| 亚洲精品在线二区三区| 精品国产AV最大网站| 久久精品国产亚洲AV瑜伽| 亚洲人妻一区二区精品| 亚洲精品一区二区三区蜜臀| 久久96热在精品国产高清| 久久精品国产福利一区二区| 国产三级a三级三级| 国产精品一区二区色综合| 麻豆国产传媒精品视频| 国产福利在线观看免费第一福利 | 亚洲一区二区精品动漫| 亚洲色大成网站WWW久久| 国产成人午夜福利院| 久久这里只有精品免费首页| 无遮挡高潮国产免费观看| 色偷偷久久一区二区三区| 成人无码视频在线观看免费播放| 狠狠躁日日躁夜夜躁欧美老妇| 亚洲精品久荜中文字幕| 亚洲精品综合久久国产二区| 亚洲欧洲精品日韩av| 女人张开腿无遮无挡视频| 四虎网址| 日韩加勒比一本无码精品| 四虎永久地址WWW成人久久| 免费无码黄十八禁网站| 久久伊99综合婷婷久久伊| 亚洲乱码精品久久久久..| 又黄又爽又色的少妇毛片| 亚洲男女羞羞无遮挡久久丫| 国产精品熟女乱色一区二区| 午夜国产精品福利一二|