《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > JTAG接口在線燒寫Flash的實現(xiàn)
JTAG接口在線燒寫Flash的實現(xiàn)
摘要: 為了解決TMS320VC55X 系列DSP 系統(tǒng)程序代碼的保存問題,設計了一種利用JTAG 接口,在線燒寫Flash 并實現(xiàn)自舉啟動的方法。這種在線編程的方法利用并行外部存儲器加載(EMIF)接口將TMS320VC5509 和Flash 芯片相連接, 通過搬移程序?qū)贸绦虻囊殉跏蓟伟凑誄55X 系列DSP 引導表格式燒寫進外部擴展的Flash 存儲器中,從而實現(xiàn)自舉啟動。該方法為DSP 系統(tǒng)的軟件維護和升級帶來了方便,具有實際的應用價值。
Abstract:
Key words :

 

    為了解決TMS320VC55X 系列DSP 系統(tǒng)程序代碼的保存問題,設計了一種利用JTAG 接口,在線燒寫Flash 并實現(xiàn)自舉啟動的方法。這種在線編程的方法利用并行外部存儲器加載(EMIF)接口將TMS320VC5509 和Flash 芯片相連接, 通過搬移程序?qū)贸绦虻囊殉跏蓟伟凑誄55X 系列DSP 引導表格式燒寫進外部擴展的Flash 存儲器中,從而實現(xiàn)自舉啟動。該方法為DSP 系統(tǒng)的軟件維護和升級帶來了方便,具有實際的應用價值。

        引言

  Flash 是一種可在線進行電擦寫而掉電后信息又不丟失的存儲器, 它具有功耗低、容量大、擦寫速度快等特點。如何將程序燒寫進Flash , 并在上電時加載到DSP 內(nèi)部的RAM 中, 是Flash 在DSP 系統(tǒng)應用中的兩個基本問題。本文基于TI 公司的TMS320VC5509A 和AMD 公司的AM29LV800 開發(fā)系統(tǒng), 詳細闡述了在線燒寫Flash 并實現(xiàn)自舉啟動的方法。

  1 硬件電路設計

  圖1 為TMS320VC5509A 與AM29LV800 的連接示意圖,F(xiàn)lash 擴展在CE1 空間, 起始地址為200000。由于TMS320VC5509A 只有14 根地址線A0~A13, 又因為Flash作為數(shù)據(jù)存儲空間使用時的地址編碼采用字尋址方式,則DSP 的A0 信號無效, 所以AM29LV800 芯片的低13位地址線A0 ~A12 連接TMS320VC5509A 的地址線A1 ~A13, 高6 位地址線A13 ~A18 由緩沖串口來擴展。

  

TMS320VC5509A 與AM29LV800 的連接示意圖

 

  圖1 TMS320VC5509A 與AM29LV800 的連接示意圖

  AM29LV800 是低功耗Flash , 工作在2.7 V~3.6 V 電壓下, 一般存儲數(shù)據(jù)可以保存100 年以上, 可以重復編程次數(shù)高達10 萬次。A18~A0 為外部地址管腳,DQ0~DQ15為16 條數(shù)據(jù)線,

為片選控制管腳,

為輸出控制管腳,

為寫入控制管腳。

 

  2 自啟動過程分析及啟動表結構

  DSP 系統(tǒng)的bootloader 是指在系統(tǒng)上電時將一段存儲在外部非易失性存儲器中的程序搬移到DSP 片內(nèi)或片外擴展的高速RAM 中并執(zhí)行的代碼。Bootloader 程序永久性地存儲在DSP 以FF8000H 開始的ROM 中,DSP系統(tǒng)在復位后PC=FF8000H , 即從Bootloader 程序首地址開始執(zhí)行。

  TMS320VC5509 DSP 的Bootloader 有多種加載方式[3],如表1 所示, 設置DSP 的GPIO0-GPIO3 ,DSP 在復位時讀取這4 個引腳上的狀態(tài)以確定所使用的啟動模式。本文使用16-bit EMIF 加載方式, 雖然連線復雜, 需要考慮并行非易失存儲器Flash 與EMIF 接口的匹配關系, 但是它的優(yōu)點很多: 不需要外部時鐘驅(qū)動, 非易失存儲器種類多樣, 容量較大, 除了存儲下載表之外, 還可存儲系統(tǒng)需要保存的關鍵數(shù)據(jù), 以便在掉電時保存信息。

表1 TMS320VC5509A 的加載方式

 

 

  

 

  在這些加載模式下, 下載程序之前先要生成一張載入表, 即引導表。引導表的結構如圖2 所示, 引導表攜帶的信息有代碼段和數(shù)據(jù)段信息, 向DSP 下載程序的入口點地址、寄存器配置信息和可編程延時信息。

  

 

  圖2 引導表結構

  讀引導表可知以下信息: 程序入口地址是引導表加載結束后用戶程序開始執(zhí)行的地址, 也就是用戶程序生成的map 文件中顯示的入口地址; 需配置寄存器數(shù)表明后面有多少個需要配置的寄存器; 當延時標志為0xFFFF 時, 執(zhí)行延時, 延時長度決定了在寄存器配置后延時多少個CPU 周期才進行下一個動作; 段字節(jié)數(shù)、段起始地址和數(shù)據(jù)表示用戶程序中定義的各個段的內(nèi)容;引導表以32 個0 為結束標志。

  生成引導表的方法: 通過在DOS 環(huán)境下使用hex55.exe 轉(zhuǎn)換工具。在轉(zhuǎn)換操作之前, 先把用戶程序生成的。out 文件、包含轉(zhuǎn)換選項的CMD 文件hex5509.cmd 和轉(zhuǎn)換工具hex55.exe 放在同一個文件夾里, 在DOS 方式下先將路徑修改為文件所在的位置, 然后在此路徑下運行命令hex55 hex5509.cmd , 即可生成想要的。hex 文件。

  在轉(zhuǎn)換時, 提供引導表的相關配置信息的CMD 文件這里被命名為hex5509.cmd , 文中用到的hex5509.cmd的內(nèi)容為:

  

3 Flash 燒寫

 

 

  Flash 的讀操作與傳統(tǒng)EPROM 讀操作相同。由于芯片使用軟件保護模式進行操作, 用戶編程時, 只要向指定的地址寫入指定的序列, 就可以啟動Flash 芯片內(nèi)部的寫狀態(tài)機, 完成指定的操作。表2 為Flash 的操作命令說明( 對芯片的擦除和編程都是按照字進行的), 表中所有的數(shù)據(jù)都是十六進制數(shù)。

  Flash 的正確操作順序: 先復位, 再擦除, 最后編程。

  按照表2 提供的操作命令時序來實現(xiàn)對AM29LV800 的擦除和編程,PA 為編程地址,PD 為編程數(shù)據(jù)。Flash 擴展在CE1 空間, 起始地址是200000, 所以操作時所有地址必須加上200000。例如燒寫工程中擦除部分命令為:

  

 

  表2 AM29LV800B 的操作命令說明

  

 

  芯片擦除需要占用6 個總線周期, 而芯片編程需要4 個總線周期, 依照表3 的數(shù)據(jù), 在每個總線周期對相應地址寫入命令字就可以了。用戶一般都是對芯片進行寫操作, 寫操作只能使‘1’ 變‘0’ , 而擦除只能使‘0’ 變?yōu)?lsquo;1’ 。圖3 為擦除和編程命令波形圖, 清楚地顯示了擦除和編程操作過程。

  

 

  圖3 擦除和編程命令波形圖

  判斷編程或擦除的結束是當把編程或擦除的命令字按照其時序?qū)懭隖lash 時, 在寫編程命令時序或擦除命令時序的最后一個WE 上升沿到來之后,AM29LV800會自動運行一個嵌入在Flash 內(nèi)部的算法來判斷編程或擦除操作是否結束。采用觸發(fā)位校驗的方法, 檢測數(shù)據(jù)切換位DQ6(Toggle Bit) 的狀態(tài), 連續(xù)讀數(shù)據(jù)會使DQ6 的值在‘0’ 和‘1’ 之間來回切換, 當編程或擦除結束時,DQ6 就停止值的切換。因此, 可以通過連續(xù)兩次讀DQ6 的值來判斷編程或擦除是否結束, 當兩次讀得的值相同時, 說明編程或擦除結束, 否則沒有。觸發(fā)位檢測算法流程圖如圖4 所示。

  

觸發(fā)位檢測算法流程圖

 

  圖4 觸發(fā)位檢測算法流程圖

4 程序的燒寫實現(xiàn)

 

 

  本系統(tǒng)在CCS 仿真環(huán)境下對Flash 進行在線編程。

  先建立一個Flash 的燒寫工程, 并在工程中將要燒寫進Flash 的引導表文件通過CCS 的LOAD DATA 功能直接加載進DSP 的內(nèi)存, 根據(jù)加載的首地址和數(shù)據(jù)長度, 在仿真環(huán)境下燒寫進Flash 中。值得注意的是, 程序加載的內(nèi)存空間不能與Flash 的燒寫程序重疊, 否則燒寫失敗。

  燒寫完成以后, 關掉電源, 拔掉仿真器電纜, 讓仿真器和計算機脫開: 重新打開電源, 實驗板上指示燈閃爍, 表明燒寫進Flash 程序正在運行, 自啟動成功。

  需要補充的是, 經(jīng)過hex55.exe 文件轉(zhuǎn)化后的hex 文件的引導表文件不能直接導入CCS 中,CCS 只支持將特別規(guī)定的DAT 格式文件通過LOAD DATA 導入內(nèi)存, 所以在導入之前必須先將引導表轉(zhuǎn)化成DAT 格式文件, 這個工作可以由VC 編寫一個簡單的C 語言轉(zhuǎn)化程序?qū)崿F(xiàn)。

   本文討論的引導方法包括硬件設計及相關程序, 已經(jīng)在筆者的實際開發(fā)語音項目中使用并成功運行。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区二区三区中文字幕 | 91久久精品日日躁夜夜躁国产| 一区二区免费看| 欲香欲色天天天综合和网| 国产日韩欧美自拍| 国产精品专区h在线观看| 国产精品久久久久久av下载红粉 | 亚洲性视频网址| 在线午夜精品自拍| 亚洲狼人精品一区二区三区| 亚洲国产精品成人久久综合一区| 在线欧美不卡| 亚洲国产免费| 亚洲三级免费| 99国内精品久久| 在线亚洲欧美视频| 亚洲自拍偷拍麻豆| 亚洲欧美色婷婷| 先锋a资源在线看亚洲| 亚洲欧美日韩精品| 欧美专区在线观看一区| 久久精品99| 亚洲人成艺术| 99re热这里只有精品免费视频| 日韩视频一区二区三区在线播放| 99在线热播精品免费| 正在播放日韩| 亚洲欧美日韩一区二区三区在线| 亚洲欧美一区二区三区极速播放| 欧美一区深夜视频| 久久久久久高潮国产精品视| 美玉足脚交一区二区三区图片| 欧美电影专区| 欧美性大战久久久久久久蜜臀| 国产精品久久九九| 国产日韩亚洲欧美精品| 一区二区三区无毛| 99精品视频免费观看| 亚洲欧美经典视频| 亚洲高清免费视频| 99国内精品久久| 小黄鸭精品密入口导航| 另类春色校园亚洲| 欧美日韩亚洲91| 国产性猛交xxxx免费看久久| 亚洲国产精品久久久久秋霞不卡 | 欧美区国产区| 国产精品日韩高清| 激情文学一区| 99精品欧美一区二区三区综合在线| 亚洲综合日韩在线| 亚洲黄色天堂| 亚洲永久在线| 久久亚洲私人国产精品va| 欧美日韩国产大片| 国产日韩欧美亚洲一区| 亚洲国产天堂网精品网站| 亚洲图片欧美午夜| 亚洲国产专区| 亚洲欧美日韩国产一区| 美国成人直播| 国产精品视频成人| 亚洲国产成人久久综合| 亚洲一区日韩在线| 亚洲精品久久嫩草网站秘色| 午夜日韩福利| 欧美激情综合在线| 国产午夜精品全部视频播放| 亚洲三级观看| 久久精品视频免费| 亚洲影音一区| 欧美韩日视频| 国产一区二区日韩精品| 99国产麻豆精品| 亚洲激情第一区| 性色av一区二区三区在线观看| 牛人盗摄一区二区三区视频| 国产乱肥老妇国产一区二| 亚洲精品日产精品乱码不卡| 欧美在线观看一区二区| 亚洲性感美女99在线| 美日韩精品免费观看视频| 国产精品爽黄69| 亚洲美女视频网| 亚洲激情视频| 久久久精品日韩| 国产精品久久久久久久7电影| 亚洲国产日韩一区二区| 亚久久调教视频| 午夜精彩国产免费不卡不顿大片| 欧美精品在线免费观看| 国语自产精品视频在线看| 亚洲一区在线免费| 在线亚洲+欧美+日本专区| 另类天堂av| 国产一区二区三区久久久| 亚洲素人在线| 亚洲专区一二三| 欧美日韩日韩| 亚洲美女免费视频| 亚洲日本欧美日韩高观看| 久久免费黄色| 国产一区二区在线免费观看| 午夜精品福利在线观看| 亚洲综合好骚| 国产精品国产三级国产专播精品人| 亚洲欧洲一区二区三区| 亚洲精品国产精品国自产观看浪潮 | 欧美日韩在线直播| 亚洲精品视频在线播放| 亚洲精品中文字幕有码专区| 麻豆国产精品777777在线| 国内一区二区三区在线视频| 欧美亚洲视频在线看网址| 欧美一区二区三区电影在线观看| 国产精品区一区二区三区| 中国成人在线视频| 国产精品99久久久久久久久久久久 | 99在线精品视频| 一区二区三区视频在线 | 欧美视频一区二区三区…| 亚洲美女中出| 亚洲一二三区在线观看| 欧美午夜视频在线观看| 99国产精品久久久久久久成人热| 一区二区三区日韩精品视频| 欧美日韩一区国产| 日韩午夜在线| 亚洲制服欧美中文字幕中文字幕| 国产精品久久久久久久久久三级 | 亚洲欧洲一区二区三区在线观看| 免费黄网站欧美| 亚洲福利免费| 99国产精品自拍| 欧美性大战久久久久| 亚洲一区中文| 久久成人国产| 精品51国产黑色丝袜高跟鞋| 亚洲国产毛片完整版| 欧美成人嫩草网站| 亚洲精品乱码久久久久久蜜桃91 | 91久久久一线二线三线品牌| 99精品99| 国产精品日韩在线一区| 欧美一级理论性理论a| 久久一区二区三区国产精品| 亚洲国产精品一区| 亚洲香蕉成视频在线观看 | 亚洲综合国产| 久久伊伊香蕉| 亚洲麻豆视频| 欧美一区二区三区免费大片| 黄色一区二区三区四区| 99re6热在线精品视频播放速度| 国产日本亚洲高清| 精久久久久久| 一卡二卡3卡四卡高清精品视频| 欧美三区视频| 欧美一区二区三区免费大片| 麻豆精品精华液| 一区二区毛片| 久久精品夜色噜噜亚洲a∨| 亚洲国产经典视频| 亚洲欧美电影院| 在线观看一区二区精品视频| 亚洲性感美女99在线| 国内在线观看一区二区三区| 一区二区三区成人| 国产麻豆成人精品| 亚洲日本一区二区三区| 国产精品久久网站| 亚洲第一毛片| 国产精品久久久久高潮| 亚洲国产精品成人va在线观看| 欧美涩涩视频| 亚洲成色777777在线观看影院| 欧美视频免费| 亚洲国产成人av| 国产精品理论片| 亚洲精品在线一区二区| 国产美女精品人人做人人爽| 99国产精品久久久久久久久久 | 国产农村妇女精品| 99国产精品久久久久久久| 国产日韩精品视频一区| 99国产精品自拍| 韩国精品在线观看| 亚洲性色视频| 亚洲国产精品第一区二区三区| 欧美在线一级视频| 亚洲肉体裸体xxxx137| 久久久免费av| 亚洲一区二区三区成人在线视频精品| 欧美成人精品在线观看| 午夜激情综合网| 国产精品国产三级国产普通话99 | 国产午夜亚洲精品理论片色戒| 在线性视频日韩欧美| 一区二区在线观看av| 欧美一区视频|