《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > TMS320VC5410的BOOT設計與實現
TMS320VC5410的BOOT設計與實現
摘要: TMS320VC54X系列DSP芯片一般都在片內設置有BOOT程序。BOOT程序的主要作用是在開機時將用戶程序從外部裝入到程序存貯器。不同型號的DSP芯片中BOOT引導程序的大小是不同的。TMS320VC5410內部就具有2K字的BOOT程序,下面就介紹TMS320VC5410的BOOT設計方法。
Abstract:
Key words :

  TMS320VC54X系列DSP芯片一般都在片內設置有BOOT程序。BOOT程序的主要作用是在開機時將用戶程序從外部裝入到程序存貯器。不同型號的DSP芯片中BOOT引導程序的大小是不同的。TMS320VC5410內部就具有2K字的BOOT程序,下面就介紹TMS320VC5410的BOOT設計方法。

  1 BOOT的模式選擇

  我們使用TMS320VC5410的BOOT程序時,需要將DSP設置為微機工作方式(硬件復位后采樣MP/MC=0),則當執行片內的引導程序,并且DSP復位后,程序就從內部ROM的FF80H處開始執行程序。在FF80H處,有一條跳轉指令,轉向ROM中已掩模的BOOT程序,這樣便開始運行內部的BOOT程序。這個引導程序首先進行初始化。初始化工作包括使中斷無效(INTM=1)、將內部的雙存取塊/單存取塊映射到程序/數據空間(OVLY=0),對程序和數據空間都設置7個等待狀態。

  TMS320VC5410程序引導共有5種模式:

  (1)HPI模式,這是一種主機接口模式。主機通過寫入主機控制寄存器(HPIC)來中斷DSP,而  DSP則通過主機中斷信號來中斷主機。主機可以響應HINT信號和清除該信號。HINT是否為低電平決定了是否選用主機接口HPI引導模式。

  (2)并行I/O口BOOT模式(支持8bits和16bits)。

  (3)串行口模式(標準/TDM/BSP)(支持8bits和16bits),串口引導共有8種方式。按字長8位與16位兩種格式和CLKX/FSX引腳的設置決定引導模式。采用8位子長時需要對下列控制位置位:

  •   接收復位信號RRST;
  •   發送模式位TXM;
  •   時鐘模式位MCM(使CLKX由片內時鐘源驅動);
  •   幀同步模式位FSM(必須由外部施加幀同步脈沖信號到FSR引腳);
  •   格式位FO(選擇8位數據傳輸方式)。

  (4)外部并行模式(支持8bits和16bits)。

  (5)WARM BOOT,即熱引導模式,可以使傳輸控制入口地址,也可以在器件熱復位或用其他方式把程序代碼已經傳輸到片內或片外存儲器(如DMA)后使用WARM引導模式。在WARM引導模式時,由BRS字中的SRC或ADDR字段指定入口地址的高6位。

  本文主要就8位/16位并行I/O口引導模式作探討。

  I/O口引導模式提供了一種異步地把程序代碼從I/O口地址空間0h處傳輸到內部或外部的程序存儲器的方法。圖1是程序流程圖。

程序流程圖

  由圖1的流程圖我們可以看到設置合理的數據區的FFFFH地址的內容,使它成為有效地并行引導,就可以實現我們的并行I/O的BOOT模式。

  2 設計FFFFH地址的內容使它成為有效的并行引導數據

  FFFFH地址所填的內容就是所設計的應用程序開始的地址,在所設計的程序中起始地址是0頁的08000h,因此,在此程序中將FFFFH的內容設置為08000h。

  3 設置08000h的內容,實現引導功能

  我們可以根據圖2來得到我們所需要填寫的數據。

流程圖

  由圖2的流程圖我們可以知道,要往08000h地址開始寫入所規定的值才符合要求。見表1。

填入符合要求的字

  依照表1,我們可以填入符合要求的字。

  4 獲取填入字的信息

  要獲取填入字的信息就要生成一張表,而生成這張表之前需要做一個批處理文件,批處理文件的做法如下:

  (1)首先編譯通過生成“.out”文件;

  (2)打開UltraEdit-32編輯批處理的軟件;

  (3)用hex命令進行編輯。

  hex命令形式如下:

  •   myfile.out/*輸入的COFF文件名.
  •   -e 0x0000/*程序的起始地址.
  •   -a/*ASCII輸出形式.
  •   -boot/*引導所有的程序單元.
  •   -bootorg PARALLEL/*創建PARALLEL的BOOT引導.
  •   -memwidth 16/*16bits的EPROM.
  •   -o myfile.hex/*輸出文件名.

  這里有一個小程序可以看出具體操作過程(程序的起始為0x2000):

  hex500 test1.out-e 0x2000-boot-bootorgPARALLEL-memwidth 16-romwidth 16-o test1.hex

  這樣可以生成一個表,如表2所示。

生成表

生成表

生成表

生成表

  表2中帶下劃線者代表每一個Section的起始地址,有框線者是這一個Section的長度(注意,當我們依據這張表填的時候,應該將Section的長度加1,這是應用后得出來的經驗),最后一個Section的最后四個0表示結束。

  由上,我們就可以使用并行的BOOT模式了。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本一道在线观看 | 又黄又免费 | 日本免费一区视频 | 久久最新免费视频 | 99九九视频高清在线 | 一本一道dvd在线播放器 | 五月天在线观看免费视频播放 | 亚洲午夜久久 | 一二三四在线视频播放社区 | 国产成人a∨麻豆精品 | 国产乡下三级全黄三级bd | 理论一级片 | 在线视频一区二区三区 | 欧美国产日韩另类 | 国产不卡一区二区三区免费视 | 最近中文2019字幕第二页 | 欧美日韩一级二级三级 | 亚洲动漫精品 | www三级免费 | 在线观看播放视频www | 日韩精品美女 | 丁香激情六月 | 伊人久久大香线蕉综合热线 | 国产大片在线播放 | 欧美性大战久久久久久久蜜桃 | 色黄在线 | 国产伦精品一区三区视频 | 日日摸夜夜摸人人嗷嗷叫 | 男女做爽爽视频免费观看 | 亚洲手机国产精品 | 不卡国产 | 在线观看免费黄色小视频 | 综合网插菊花 | 特级毛片永久久免费观看 | 亚洲日本欧美在线 | 大尺度激烈叫床视频免费 | 毛片毛片大全aaaa | 手机国产精品一区二区 | 日本xxxxx久色视频在线观看 | 亚洲国产精品久久久久久 | 欧美精品xxxxbbbb|