《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 大容量無線傳輸技術(shù)中DSP的啟動
大容量無線傳輸技術(shù)中DSP的啟動
摘要: 大容量無線傳輸技術(shù)中DSP的啟動,1引言在極低譜密度,高頻譜利用率的大容量無線傳輸技術(shù)中,高速實(shí)時(shí)信號處理成為技術(shù)的關(guān)鍵。目前市場上,能滿足對高速實(shí)時(shí)信號處理的需要有具有良好的可編程性的器件主要有DSP和FPGA。TMS320C6000系
關(guān)鍵詞: DSP
Abstract:
Key words :

1 引言

在極低譜密度,高頻譜利用率的大容量

C6416 啟動模式管腳配置 www.elecfans.com


如果DSP 的程序小于1K 字節(jié),那么上述ROM 啟動機(jī)制已經(jīng)可以完成程序的加載。然而事實(shí)上大部分DSP 的程序會大于1K 字節(jié),這時(shí)就需要?jiǎng)?chuàng)建一個(gè)特定啟動程序來完成更多代 碼的加載。該特定啟動程序又被稱作二級bootloader。

在需要二級bootloader 的程序中,這段特定啟動代碼通常駐留在ROM 存儲器的起始位 置以便在DSP 復(fù)位后能自動被加載到內(nèi)存地址0 處。當(dāng)1K 字節(jié)代碼被加載完畢后,CPU 開始從地址0 處執(zhí)行,也就是執(zhí)行二級bootloader 的內(nèi)容。二級bootloader 的功能就是將程序的剩余部分拷貝到內(nèi)存中。

2 啟動方法的設(shè)計(jì)與實(shí)現(xiàn)

采用二級bootloader 的DSP 啟動方法的實(shí)現(xiàn)大體分為四步:配置存儲器;編寫 secondary bootloader 代碼;編譯程序,轉(zhuǎn)換目標(biāo)文件的格式;將程序燒寫進(jìn)Flash。圖1 為實(shí)施該啟動方法的硬件平臺示意圖,其中DSP 的型號選擇C6416,F(xiàn)lash 的型號選擇 AM29LV800B。

 

為實(shí)施該啟動方法的硬件平臺示意圖 www.elecfans.com




2.1 配置存儲器

2.1.1 定義存儲器分區(qū)

為了實(shí)現(xiàn)使用二級bootloader 的ROM 啟動,需要將Flash 劃分為FLASH_BOOT, FLASH_REST 兩個(gè)區(qū)。這兩個(gè)區(qū)分別存儲由on-chip bootloader 拷貝的程序段和由secondary bootloader 拷貝的程序段。對于BIOS 程序,Memory 段的定義在MEM(Memory Section Manager)對象里。對于非BIOS 程序,Memory 段定義在linker command file 中。一個(gè)C6416 的Memory 段定義的例子如下所示:




2.1.2 COFF 段的定位

DSP 程序是以COFF 段的形式在內(nèi)存中存放的。一個(gè)COFF 段就是一個(gè)代碼或數(shù)據(jù)塊, 它在內(nèi)存中占據(jù)連續(xù)空間。COFF 段分為自定義段,初始化段和未初始化段三種。COFF 段可 以有各種屬性,其中l(wèi)oad 屬性和run 屬性跟DSP 啟動有密切關(guān)系。Load 屬性指明段的存儲 地址,run 屬性指明段的執(zhí)行地址。二級bootloader 負(fù)責(zé)將所有的段從load 地址拷貝到run 地址。例如:

.text: LOAD= FLASH, RUN= IRAM

表示代碼段.text 被存儲在flash 中,DSP 啟動時(shí)二級bootloader 將該段拷貝到IRAM 中。

2.2 編寫Secondary bootloader 代碼

對于C6416,外部存儲器接口(EMIF)需要正確配置以后才可以訪問外部存儲器件。在這 項(xiàng)工作完成后,二級bootloader 應(yīng)該將所 有的初始化段從它們的load 地址拷貝到run 地址, 之后再跳轉(zhuǎn)到_c_int00,也即是程序入口點(diǎn)。Secondary Bootloader 用匯編語言編寫,因 為此時(shí)C 環(huán)境尚未建立。  

二級bootloader 必須知道所有初始化段的大小,在Flash 中存儲的位置以及應(yīng)該被加 載到何處才能進(jìn)行正確的拷貝。事實(shí)上,二級bootloader 通過讀取段拷貝表獲得上述信息。 本文第三部分詳細(xì)說明了有關(guān)段拷貝表的內(nèi)容。完成二級bootloader 代碼的編寫后,應(yīng)將它添加入工程,與工程的其他代碼一同編譯鏈接生成.out 文件。

2.3 轉(zhuǎn)換目標(biāo)文件的格式

編譯鏈接生成的是.out 格式文件,然而Flash 一般接收的是ASCII 格式的文件。CCS 附帶的工具h(yuǎn)ex conversion utility 可將.out 文件轉(zhuǎn)換為ASCII 格式的.hex 文件,Hex6x 以命令行文件的形式執(zhí)行。Hex 命令行文件中,首先指明輸入文件(.out),輸出文件的格式和ROM 的大小及類型,以及哪些段需要被放在ROM 中。一個(gè)Hex 命令行文件的例子如下所示(注釋內(nèi)容用“/*”和“*/”括起):







2.4 將程序燒寫進(jìn)Flash

將2.3 節(jié)生成的ASCII 文件燒寫進(jìn)Flash 可以使用CCS 自帶的FlashBurn 工具。 FlashBurn 是一個(gè)帶圖形界面的軟件,它首先將一個(gè)稱作FlashBurn Target Component (FBTC) 的程序下載到DSP 內(nèi)存中,通過與FBTC 的實(shí)時(shí)數(shù)據(jù)交換完成對Flash 的擦除編程等操作。 針對不同的硬件(DSP,F(xiàn)lash 型號)修改FBTC 是該方法的關(guān)鍵。所需修改處包括Flash 的基地址,大小,及讀寫命令字等。

3 段拷貝表

二級bootloader 使用一個(gè)段拷貝表(section copy table)進(jìn)行段的拷貝。段拷貝表包 含每個(gè)需要拷貝的段的必要信息,如段的load 地址,段的run 地址,段的大小。段拷貝表被插入在secondary bootloader 的末尾。

生成段拷貝表的方法有兩種:  

1) 使用 hex conversion utility 的-boot 選項(xiàng) 在2.3 節(jié)中我們討論了程序文件格式的轉(zhuǎn)換和hex 命令行文件,事實(shí)上Code Composer Studio 自帶的工具h(yuǎn)ex conversion utility 提供了一種更為方便的生成段拷貝表的方法, 只要在hex 命令行文件中使用一些特殊的選項(xiàng)即可。特殊的選項(xiàng)有–boot, ?bootorg 和 –bootsection,這三個(gè)選項(xiàng)的含義分別如下:

-boot 使用該選項(xiàng)時(shí)hex conversion utility 將自動轉(zhuǎn)換所有初始化段的格式

-bootorg 指明段拷貝表的地址

-bootsection 指明二級bootloader 所在的段的名稱

2) 使用 linker 選項(xiàng)(LOAD_START,RUN_START,SIZE)

涉及段拷貝表的生成的有三個(gè)選項(xiàng):LOAD_START,RUN_START 和SIZE,可分別獲得一個(gè)段的駐留地址,運(yùn)行地址和大小。例如下列代碼可獲得text 段的駐留地址(存于_text_ld_start 中),運(yùn)行地址(_text_rn_start)和段的大小(存于_text_size)

.text : load = FLASH_REST, run = IRAM

LOAD_START(_text_ld_start),

RUN_START(_text_rn_start),

SIZE(_text_size)

4 結(jié)束語

本文針對在極低譜密度,高頻譜利用率的大容量無線傳輸技術(shù)研究中C6000 系列DSP 的應(yīng)用程序大于1K 字節(jié)的情況,提出了一種使用二級bootloader 從Flash 啟動DSP 的方法。 該方法可應(yīng)用于采用了C6000 系列DSP 的嵌入式系統(tǒng)中,不需要額外的Flash 編程器,具有 廣泛的適用性。

本文作者創(chuàng)新點(diǎn):在二級bootloader 中引入段拷貝表用以控制程序加載過程,并利用 CCS 自身的編譯功能獲取段拷貝表的內(nèi)容,該方法可提高效率且準(zhǔn)確性高。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: aaa一级片 | 日韩欧美福利 | 免费黄色短视频 | 欧美日韩一区二区三区在线视频 | 成 人网站免费 | 久久精品天天中文字幕人 | 欧美日韩亚洲综合在线一区二区 | 日本精品视频一区二区 | 日韩精品免费在线视频 | 国产一区二区三区在线视频 | 日本天堂网在线 | 两性午夜又粗又大又爽视频 | 噜噜噜噜天天狠狠 | 黄色激情网址 | 中文字幕二区 | 成功精品影院 | 中文字幕福利视频 | 欧美成人观看免费版 | 91po国产在线精品免费观看 | 午夜黄色网| avtt亚洲一区中文字幕 | 国产一二三区视频 | 羞羞的网址| 天天干天天干天天干天天 | 91精品国产免费网站 | 国产成人精品久久一区二区三区 | www.黄色大片| 性福利影院 | 曰批全过程免费观看视频 | 免费91视频| 九九视频精品全部免费播放 | 福利理论片午夜片 | 成人福利短视频 | 插综合网 | 窝窝午夜看片免费视频 | 插鸡视频在线观看 | 五月天精品视频播放在线观看 | 国内偷自视频区视频综合 | 久久综合色网 | 欧美大交乱xxxxxbbb | 99在线免费视频 |