當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]DSP 芯片的片上引導裝載程序(Bootloader) 用于在系統(tǒng)上電時將用戶程序從外部非易失性慢速存儲器(如FLASH 等)或外部控制器(如ARM 等) 中裝載到片內或者片外的高速存儲器中高速運行[1]。DSP 芯片一般都提供多種引

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

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

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

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

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

圖 1 C6455 和EEPROM 的連接方式

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

main()

{

initial(); // 初始化DSP

for(;;) GPIO2_toggle();//GPIO2 高低變化

}

2 I2C 引導裝載的流程[4]

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

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

Length 項指定了引導參數(shù)表的數(shù)據長度,固定為26 個字節(jié)。Checksum 項是所有26 個字節(jié)的校驗和,如果是全0 表示不需要校驗。Boot mode 項選擇引導模式,本例中是0101, 主I2C 引導模式。[!--empirenews.page--]

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

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

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

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

2.1 引導配置表的設置

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

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

可以看出,雖然引導配置表一般只是在引導裝載之前配置一些寄存器,但是對于一些很簡短的程序,也可以使用引導配置表將程序直接裝載到內部存儲器中去運行。

在引導配置完成后就需要將引導表(也就是真正需要在DSP 中運行的用戶程序)裝載到指定地址。

2.2 引導表的生成

引導表包括DSP 程序的代碼段、數(shù)據段、以及其它一些程序信息,如程序入口地址等。引導表可以根據COFF 文件格式由用戶從CCS 工程文件(即*.out 文件)中提取,不過使用TI 提供的轉換工具hex6x 更為方便。使用hex6x 生成引導表時需要設置一些參數(shù),這些參數(shù)可以用配置文件的形式提供給hex6x 使用[5],一個典型的配置文件如下所示(本例中的配置文件名為led.cmd):

led.out ; 需要轉換的文件-boot ; 生成引導表-a; ASCII 格式文件-e _c_int00 ; 程序入口-order L ; 小端模式-memwidth 32 ; 存儲器數(shù)據寬度-romwidth 32 ; ROM 數(shù)據寬度-o led.hex ; 輸出文件在DOS 的命令行輸入hex6x led.cmd↙ ,就可以生成引導表文件led.hex, 實際的數(shù)據結構轉換如圖所示,可以看出,為了能夠正確的進行程序的引導裝載,引導表中加入了一些代碼的長度、地址等信息。

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

2.3 EEPROM 映像文件的生成

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

3 測試結果及小結

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

創(chuàng)新觀點:

本文提出的通過I2C 存儲器實現(xiàn)TMS320C6455 的引導裝載的方法能夠簡化系統(tǒng)的設計,縮短系統(tǒng)的開發(fā)時間。同時可以推廣到TI 公司其它系列的DSP 芯片,具有廣泛的應用價值。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉