国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

DSP 的IC 引導裝載方法的研究與實現

發布時間:2010-11-27 12:40    發布者:designer
關鍵詞: dsp , 引導裝載
DSP 芯片的片上引導裝載程序(Bootloader) 用于在系統上電時將用戶程序從外部非易失性慢速存儲器(如FLASH 等)或外部控制器(如ARM 等) 中裝載到片內或者片外的高速存儲器中高速運行。DSP 芯片一般都提供多種引導裝載模式,如Host 引導裝載、EMIF 引導裝載、I2C 引導裝載、Serial RapidIO 引導裝載等。相比其它幾種模式而言,I2C 引導裝載具有體積小、功耗低、連接簡單等優點。本文以TI 公司的DSP 芯片TMS320C6455(以下簡稱C6455)為例,詳細介紹了I2C 引導裝載模式的實現步驟,并構建了一個小系統驗證引導裝載的實現過程。

1 C6455 的引導裝載模式介紹

C6455 的引導裝載模式由引導模式管腳BOOTMODE[3:0]決定。在DSP 復位時上述四個管腳的不同狀態對應著不同的引導裝載模式,具體如表1 所示。





對于主I2C 引導裝載模式,DSP 作為I2C 總線上的主設備,在復位后引導裝載程序會按照引導表的參數從外部I2C EEPROM 或者其它I2C 總線從設備讀取數據到相應的目的地址完成引導過程。引導表指定了數據的目的地址和長度。

從I2C 引導裝載與主I2C 引導裝載類似,只是DSP 在復位后等待外部I2C 總線主設備按照引導表的參數將數據寫入指定的地址。對于多DSP 的情況,可以用一個DSP 作為主設備,其它DSP 工作于從I2C 引導裝載模式下。

本文使用主I2C 引導裝載模式,構建的驗證系統連接方式如圖1 所示,使用的EEPROM 型號是Atmel 公司的AT24C1024B。為了保證系統能夠穩定的工作,SCL 和SDA 信號都需要接上拉電阻





為了直觀地驗證引導裝載的結果,我們使用一個簡單的DSP 程序,通過C6455 的通用輸入輸出管腳GPIO2 不斷輸出高低交替的信號驅動一個發光二極管閃爍,相應的DSP 程序代碼如下:

main()
{
initial(); // 初始化DSP
for(;;) GPIO2_toggle();//GPIO2 高低變化
}

2 I2C 引導裝載的流程

如果在DSP 的復位過程中選擇了主I2C 引導裝載,也就是引導模式管腳BOOTMODE[3:0]配置為0101,那么DSP 的引導裝載程序首先從外部I2C EEPROM 中讀取128 個字節的引導參數。引導參數在EEPROM 中的起始偏移地址可由DSP 的配置管腳CFGGP[2:0]設定,即偏移地址為0x80×CFGGP[2:0],本文中CFGGP[2:0]是000 ,也就是引導參數的起始位置在EEPROM 的地址0 處。

引導裝載程序根據讀到的引導參數判斷下一步該如何進行裝載。引導參數表的主要內容如表2 所示,每一個參數占用兩個字節,表中僅列出了主要的幾個參數的定義。





Length 項指定了引導參數表的數據長度,固定為26 個字節。Checksum 項是所有26 個字節的校驗和,如果是全0 表示不需要校驗。Boot mode 項選擇引導模式,本例中是0101, 主I2C 引導模式。

如果引導參數表中的Option 選項為00, 表示在LSW 項中指定的地址是另外一個引導參數表的起始地址。如果Option 選項是01,那么LSW 項中指定的地址是引導表(也就是實際的DSP 程序)的起始地址;如果 Option 選項為10,那么LSW 項中指定的地址是引導配置表的起始地址。

引導裝載程序在讀取了引導參數后將熱啟動DSP, 然后根據讀到的參數進行相應的操作。如果Option 選項指定下一步要裝入的是引導配置表,那么引導裝載程序會根據引導配置表中的內容配置相應的寄存器等,同時引導參數中的LSW 項和Option 項也會被更新。然后引導裝載程序熱啟動DSP,根據更新后的LSW 項和Option 項進行下一步的引導配置或者引導參數設置。

如果Option 選項指定下一步要裝入的是引導表,那么引導裝載程序會根據引導表中的設置從EEPROM 中讀取一定長度的數據到指定地址,然后DSP 跳轉到程序的入口地址處(一般就是_c_int00 )開始執行。

LSW 項指定下一步需要裝載的引導配置表或者引導表的起始地址,Next LSW 項則是在Option 項為10 時指定引導配置完成后下一個引導參數表的起始地址。

2.1 引導配置表的設置

為了在程序引導裝載之前初始化一些必須的參數,需要用到引導配置表。例如在引導裝載程序要把代碼裝載到DDR 存儲器中執行的時候,就需要在引導裝載之前配置一些DDR 的控制寄存器。

配置每一個寄存器(或者寫一個存儲器地址)需要3 個字(32bit) 的配置過程。第一個字指定了需要配置的寄存器的地址,第二個字指定了該寄存器中需要設置為1 的位,第三個字節指定了該寄存器中需要設置為0 的位。如果第二個字和第三個字有某些數據位同時有效,那么對應的數據位數據翻轉。如果第二個字和第三個字同時為0,那么程序跳轉到第一個字指定的地址執行。如果三個字全部為0,那么引導配置結束,表3 舉出幾個例子詳細說明上述配置的過程。




可以看出,雖然引導配置表一般只是在引導裝載之前配置一些寄存器,但是對于一些很簡短的程序,也可以使用引導配置表將程序直接裝載到內部存儲器中去運行。
在引導配置完成后就需要將引導表(也就是真正需要在DSP 中運行的用戶程序)裝載到指定地址。
2.2 引導表的生成
引導表包括DSP 程序的代碼段、數據段、以及其它一些程序信息,如程序入口地址等。引導表可以根據COFF 文件格式由用戶從CCS 工程文件(即*.out 文件)中提取,不過使用TI 提供的轉換工具hex6x 更為方便。使用hex6x 生成引導表時需要設置一些參數,這些參數可以用配置文件的形式提供給hex6x 使用,一個典型的配置文件如下所示(本例中的配置文件名為led.cmd):
led.out ; 需要轉換的文件-boot ; 生成引導表-a; ASCII 格式文件-e _c_int00 ; 程序入口-order L ; 小端模式-memwidth 32 ; 存儲器數據寬度-romwidth 32 ; ROM 數據寬度-o led.hex ; 輸出文件在DOS 的命令行輸入hex6x led.cmd↙ ,就可以生成引導表文件led.hex, 實際的數據結構轉換如圖所示,可以看出,為了能夠正確的進行程序的引導裝載,引導表中加入了一些代碼的長度、地址等信息。



不過這個引導表文件并不能直接寫入EEPROM 中,還需要進一步的格式轉換。

2.3 EEPROM 映像文件的生成

寫入EEPROM 的映像文件由一個或者多個引導參數表、若干個引導配置表和一個引導表組成。引導表的數據按照包的形式存放,每一個數據包由數據長度、校驗和以及程序數據組成,數據包的長度不能超過128 字節。把hex6x 生成的led.hex 文件分割成128 字節的數據包的過程可以使用TI 公司提供的相關工具軟件來完成,也可以由用戶根據上述格式進行轉換。由引導參數表、引導配置表和引導表合成映像文件的過程也可以使用TI 公司提供的相關工具軟件來完成。本文中使用的映像文件由一個引導參數表、一個引導配置表和一個引導表組成,在EEPROM 的存放位置如圖3 所示。




3 測試結果及小結

使用編程器或者直接使用TI 公司的CCS 軟件可以把上面生成的映像文件寫入EEPROM。為了驗證引導裝載過程是否能夠正確完成,可以給驗證系統重新上電,看到發光二極管閃爍,說明引導裝載成功。

創新觀點:

本文提出的通過I2C 存儲器實現TMS320C6455 的引導裝載的方法能夠簡化系統的設計,縮短系統的開發時間。同時可以推廣到TI 公司其它系列的DSP 芯片,具有廣泛的應用價值。
本文地址:http://m.qingdxww.cn/thread-42249-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天干天天操天天射 | 国产精品一区二区久久精品 | 欧美片在线| 亚洲天堂日韩在线 | 成人77777 | 免费永久在线观看黄网 | 日本高清中文字幕视频在线 | 色婷婷亚洲精品综合影院 | 精品国产日韩亚洲一区二区 | 久久精品国产精品亚洲精品 | 欧洲色网 | 天堂视频 | 成年人视频在线观看免费 | 久久91精品国产91久久跳舞 | 99久久久国产精品免费牛牛四川 | 亚洲一区二区免费视频 | 成人免费视频在线看 | 欧美日韩91| 999成人国产精品 | 久久久国产精品免费视频 | 天天做天天爱天天影视综合 | 手机在线看片不卡中文字幕 | 国产成人亚洲综合在线 | 国产欧美日韩高清专区手机版 | 久久福利 | 国产日韩一区二区三区在线观看 | 一级黄色毛片 | 五月激情五月婷婷 | 亚洲日本一区二区三区在线 | 成都4片p高清完整版hd免费 | 日本视频一区二区三区 | 亚洲人体一区 | 51社区国产精品视频 | 夜夜天天操 | 国产精品成人观看视频网站 | 国产福利一区二区三区 | 国产在线午夜 | 麻豆儿| 中文字幕一区在线观看 | 欧美一级在线观看视频 | 老妇毛片久久久久久久久 |