




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于TMS320DM642的編程作者:胡嘉凱 蔣建國 齊美彬摘 要:嵌入式DSP系統(tǒng)在獨立運行時需要把用戶代碼從外部Flash中加載到系統(tǒng)RAM運行,包括了Flash的編程及上電加載兩項技術(shù),是DSP系統(tǒng)開發(fā)中的重點和難點。本文采用一種在系統(tǒng)編程方法對Flash編程,巧妙地利用JTAG仿真器實現(xiàn)系統(tǒng)在線調(diào)試及編程,無需進行COFF到HEX的數(shù)據(jù)格式轉(zhuǎn)換。關(guān)鍵詞:在系統(tǒng)編程;DSP;加載器引言一個完整的嵌入式系統(tǒng)必須要有一個合適的存儲器存放用戶代碼。Flash是一種非易失性存儲器,而且具有電可擦寫、容量大、價格便宜等特點,通??捎糜谠贒SP系統(tǒng)中存放用戶代碼。Flash在正
2、常使用前要進行編程,即將用戶代碼寫入Flash。在系統(tǒng)編程方法不需要其它編程設(shè)備和編程電源,只借助于仿真器,可直接通過DSP燒寫程序?qū)lash進行編程。本文所使用的編程方法就屬于在系統(tǒng)編程。本文首先介紹常見的Flash編程方法,然后詳細(xì)介紹本文方法的原理,以及DSP系統(tǒng)上電加載原理,最后給出整個實現(xiàn)過程并分析了Flash編程時需要注意的一些問題。
3、0; 圖1 系統(tǒng)上電的工作步驟 圖2 程序流程Flash編程方法常見的Flash編程方式Flash在正常使用前必須寫入用戶程序,傳統(tǒng)上有3種編程方法:由供應(yīng)商出貨前把程序代碼寫入Flash、編程器編程和在系統(tǒng)編程。第1種方法不能滿足用戶更改代碼的需求,所以在開發(fā)階段不宜采用。當(dāng)使用編程器編程時,要求Flash固定在PCB板前必須把用戶程序?qū)懭肫瑑?nèi)。因此,現(xiàn)在一般都優(yōu)先考慮在系統(tǒng)編程方
4、法,首先應(yīng)確定所選的DSP是否直持在系統(tǒng)編程?,F(xiàn)行的在系統(tǒng)編程的方法一般是先把待加載程序(用戶程序)的.out文件(COFF格式)轉(zhuǎn)成HEX格式,然后去掉HEX格式文件的文件頭,再通過燒寫程序?qū)懙紽lash里去。也可以不進行COFF格式到HEX格式的轉(zhuǎn)換這一步,把COFF文件作為源文件,去除文件頭信息后將其寫入Flash。本文方法的編程原理本文的實現(xiàn)方法比較簡單,首先把用戶程序映射到系統(tǒng)RAM,再把用戶程序作為數(shù)據(jù)直接從RAM搬入Flash中。首先在CCS上完成用戶程序,生成可執(zhí)行的.out文件,將該文件設(shè)為文件1進行加載;然后加載燒寫程序的.out文件,將其設(shè)為文件2;最后運行文件2,通過它
5、把文件1燒入Flash。操作步驟非常簡單,這里要說明幾點。首先,2個.out文件各自獨立,文件2加載后,文件1成為數(shù)據(jù),CCS在運行時,運行的是最新加載的程序,也即文件2。其次,文件2與文件1映射到RAM中的物理空間各自獨立,也就是文件2不能映射到文件1已映射的地方,如果發(fā)生重疊,文件2的內(nèi)容就會覆蓋原先文件1映射到該地址空間的內(nèi)容,寫入Flash的內(nèi)容就會發(fā)生錯誤。再次,用戶程序里包括了二次加載程序,以在自舉時把用戶程序從Flash還原到RAM中。2 / 5總線周期命令123456序列 地址 數(shù)據(jù) 地址 數(shù)據(jù) 地址 數(shù)據(jù)
6、地址 數(shù)據(jù) 地址 數(shù)據(jù) 地址 數(shù)據(jù)軟件復(fù)位 XXX F0芯片擦除 XXX AA XXX 55 XXX 80 XXX AA XXX 55 XXX 10扇區(qū)擦除 XXX AA XXX 55 XXX 80 XXX AA XXX 55 SA 30字節(jié)寫 XXX AA
7、XXX 55 XXX A0 PA PD 表1 Am29LV033C內(nèi)存指令表二次加載和Bootloader要保證用戶程序
8、的正確運行,僅把程序?qū)懭隖lash是不夠的,必須保證上電后,程序能夠從Flash中正確恢復(fù)到RAM。系統(tǒng)上電工作步驟如圖1所示。 DSP首先自檢,得到程序的加載模式。在C6000中主要有2種模式,一種是主機加載模式,也即DSP從0x0000 0000開始執(zhí)行程序;另一種是ROM加載模式,該模式又有8位、16位、32位幾種,不同的DSP略有不同,這里選用8位ROM模式。工作時,DSP先從地址0x9000 0000開始,把0x9000 00000x9000 0400這1K(在C62xx中是64K)的數(shù)據(jù)搬到0x0000 00000x0000 0400,然后再從0x0000 0000開始執(zhí)行程序。這
9、一次加載由DSP自行完成,但是1K的程序作為用戶程序顯然不夠,因此,這1K的程序要做成加載器,也就是手工寫的Bootloader,利用它把用戶程序從Flash搬入RAM。加載器搬運用戶程序又是一次加載,因此把這個過程統(tǒng)稱為二次加載。Bootloader要完成兩項功能,第一,把其它程序搬到指定的地址;第二,跳轉(zhuǎn)到用戶程序入口,這里要先修改ISP,再跳轉(zhuǎn)到復(fù)位中斷,因此在Bootloader的最后總是一條跳轉(zhuǎn)指令。由于Bootloader在Flash中的位置是0x9000 00000x9000 0400,而Bootloader又是放在用戶程序里的,因此,為了方便燒寫程序把Bootloader寫到該
10、位置,這里在用戶程序的.cmd文件中把bootloader定位在程序段的起始位置。編程方法實現(xiàn)系統(tǒng)配置和參數(shù)設(shè)置TMS320DM642是TI公司的一款視頻圖像DSP,工作時鐘最高可達到600MHz。程序存儲器最大可調(diào)至272M×8位,其EMIF接口分4個空間,即CE0CE3。Flash映射到CE1空間,其地址為0x900000000x90400000,上電時采用8位ROM加載方式。Am29LV033C是AMD公司生產(chǎn)的Flash存儲器,其主要特點有:3.3 V單電源供電,可使內(nèi)部產(chǎn)生高電壓進行編程和擦除操作;只需向其命令寄存器寫入標(biāo)準(zhǔn)的微處理器指令,具體編程、擦除操作由內(nèi)部嵌入的算法
11、實現(xiàn),并且可以通過查詢特定的引腳或數(shù)據(jù)線監(jiān)控操作是否完成;可以對任一扇區(qū)進行讀、寫或擦除操作,而不影響其它部分的數(shù)據(jù)。由于4MB的Flash ROM有22根地址線,而DM642只有20根地址線,因此加入FPGA,對Flash進行分頁,這里共分8頁,每頁512KB,每頁內(nèi)含8塊,每塊64KB。Am29LV033C有多條內(nèi)存指令,可以實現(xiàn)芯片ID的讀取、軟件復(fù)位、整片擦除、塊擦除等。在這里主要介紹燒寫時用到的指令,其擦寫命令如表1所示。表中的XXX表示任意地址,SA為塊地址,即地址線的第16位到21位,PA為燒寫地址,PD為燒寫數(shù)據(jù)。待燒寫程序(用戶程序)為USER.out,大小為2M;燒寫程序為
12、FBCT.out,大小為4K,地址分配如表2所示。編程過程第一步,對整個Flash進行一遍擦除。因為Flash在編程時只能把“1”置為“0”,而不能把“0”置為“1”。第二步,判斷擦除結(jié)束。通過DQ6、DQ7均可完成判斷,當(dāng)DQ6位不再跳變時說明擦除結(jié)束。這里通過讀取最后一位數(shù)據(jù)是否為“0xFF”來完成判斷。第三步,進行軟件復(fù)位。軟件復(fù)位使Flash處于就緒狀態(tài),當(dāng)Flash在進行擦除、編程時軟件復(fù)位信號無效。第四步,取得編程地址。如果地址超過最大地址則編程結(jié)束。開始地址長度寫入Flash的開始地址USER.out0x800000002M0x9001 0000bootloader0x0000
13、00001K0x9000 0000FBCT.out,0x300000004K-表2 程序的地址分配注意事項對于不同的DSP,不同的Flash,在實現(xiàn)時可能不一樣,這里有幾個問題必須注意:(1) 文件1和文件2的.cmd文件要分配好各自的地址,地址空間不能重疊。(2) 不是每個DSP都可以實現(xiàn)在系統(tǒng)編程,如TMS320C6204就不行,而C621x,C64x等就可以。原因在于Flash在編程時速度較慢,一般為ms級,所以需要WE#信號的有效時間較長。但是,一般的WE#有效時間都只有幾十ns,這么短的時間不足以讓DSP把內(nèi)容寫進Flash。C64x等之所以能實現(xiàn)在系統(tǒng)編程,是因為在編程時DSP自動延長了編程的有效時間。(3) 如果用戶程序中不含加載器程序,那么用戶程序的目的地址就不能從Flash的前1K地址開始。(4) 不同型號Flash的編程時序和指令可能會有所不同,編程之前要弄清該
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧城市服務(wù)中智能停車系統(tǒng)的商業(yè)模式
- 媒體融合下的教育品牌傳播新模式
- 心理健康干預(yù)在校園教育中的實踐與探索
- 抖音商戶直播庫存同步更新管理制度
- 抖音商戶預(yù)算外支出特別審批流程制度
- 八大行業(yè)物流成本控制與交通運輸優(yōu)化方案研究報告
- 公交優(yōu)先視角下城市交通擁堵治理的公共交通出行行為引導(dǎo)研究報告
- 2024-2025學(xué)年廣西陸川縣聯(lián)考數(shù)學(xué)七上期末調(diào)研模擬試題含解析
- 公共交通優(yōu)化:2025年智慧交通系統(tǒng)交通流量預(yù)測技術(shù)應(yīng)用分析報告
- 陜西省榆林市定邊縣2024年九上化學(xué)期末達標(biāo)測試試題含解析
- 酒吧裝修施工方案
- 初中生田徑隊訓(xùn)練計劃
- 暨南大學(xué)《微觀經(jīng)濟學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 班組安全工作總結(jié)匯報
- 高中英語必背3500單詞表(完整版)
- DB11T 1911-2021 專業(yè)應(yīng)急救援隊伍能力建設(shè)規(guī)范 防汛排水
- 2024年版《輸變電工程標(biāo)準(zhǔn)工藝應(yīng)用圖冊》
- 北京市東城區(qū)東直門中學(xué)2024-2025學(xué)年七年級上學(xué)期分班考數(shù)學(xué)試卷
- 國家開放大學(xué)本科《理工英語3》一平臺機考總題庫2025珍藏版
- 陜西省咸陽市2023-2024學(xué)年高一下學(xué)期7月期末考試物理試題(原卷版)
- DL∕T 5210.2-2018 電力建設(shè)施工質(zhì)量驗收規(guī)程 第2部分:鍋爐機組
評論
0/150
提交評論