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

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

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

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

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

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

圖 1 C6455 和EEPROM 的連接方式

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

main()

{

initial(); // 初始化DSP

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

}

2 I2C 引導(dǎo)裝載的流程[4]

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

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

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

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

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

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

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

2.1 引導(dǎo)配置表的設(shè)置

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

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

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

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

2.2 引導(dǎo)表的生成

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

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

不過這個(gè)引導(dǎo)表文件并不能直接寫入EEPROM 中,還需要進(jìn)一步的格式轉(zhuǎn)換。

2.3 EEPROM 映像文件的生成

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

3 測試結(jié)果及小結(jié)

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

創(chuàng)新觀點(diǎn):

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

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

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

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉