《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > DSP外掛FLASH的在系統編程及并行引導裝載方法的研究

DSP外掛FLASH的在系統編程及并行引導裝載方法的研究

2008-08-28
作者:丁 潔 魏 豐 李廣宇

  摘? 要: 詳細介紹了TMS320VC5402外掛程序存儲器" title="程序存儲器">程序存儲器的在系統編程" title="在系統編程">在系統編程技術和方法,結合實例給出了創建系統引導表的具體步驟,并在此基礎上重點敘述了TMS320VC5402的并行16位引導裝載" title="引導裝載">引導裝載方法。設計的系統具有較大的靈活性和良好的可擴展性。

  關鍵詞: DSP? TMS320VC5402 FLASH? SST39VF400A? 在系統編程? 引導裝載

?

  TMS320VC5402(以下簡稱C5402)是TI公司的一款性價比極好的16位定點DSP芯片。由于C5402內部只有16K×16位RAM和4K×16位掩膜ROM,用戶程序必須存放在外掛的程序存儲器中。對程序存儲器的編程(即離線編程)通常是通過通用編程器" title="編程器">編程器完成的,即用戶將要寫入的程序轉換成編程器能夠接收的格式,再通過編程器寫入存儲器中。隨著芯片制造工藝的不斷提高,芯片集成度越來越高,存儲器正在向小型化、貼片式發展,從而使表面封裝或PLCC封裝的存儲器難以利用編程器編程。目前普遍采用的在系統編程ISP(In System Programming)技術不需要編程器,通過系統的DSP可直接對用戶板上的存儲器編程,這樣不僅節省了通用編程器及適配器的費用,還減少了頻繁插拔存儲器的麻煩,從而大量節省了系統開發時間,滿足了用戶程序在線更新的要求。外掛的程序存儲器通常選用容量大、存儲速度快、功耗低、性價比高的FLASH存儲器。

  由于DSP仿真軟件編譯鏈接后生成的是二進制的COFF格式文件,不能直接寫入FLASH中,還需通過Hex轉換工具將COFF目標文件轉換為標準的ASCII碼十六進制格式(即Hex格式)。對于離線編程,只需將這種Hex文件直接作為編程器的輸入,即可寫入FLASH;而在系統編程,則是利用系統本身的DSP,通過軟件編程來實現整個燒寫" title="燒寫">燒寫過程。因此,如何對FLASH進行燒寫是整個在系統編程的一個關鍵。本文以一片C5402外掛一片FLASH存儲器構成的最小系統為實例,介紹采用C語言編寫FLASH燒寫程序,并通過DSP將用戶程序代碼寫入FLASH,從而實現在系統編程。

1 DSP與FLASH構成的最小系統

  本系統的FLASH存儲器選用SST公司的SST39VF400A,用作DSP的數據空間。FLASH的片選信號/CE由DSP的數據空間選擇信號/DS和存儲器選通信號/MSTRB產生,讀使能信號/OE和寫使能信號/WE由DSP的讀寫脈沖信號R/W和/DS、/MSTRB組合產生。FLASH的地址線A0~A15和DSP的A0~A15直接相連,A16和A17接地。由于DSP數據空間0000H~3FFFH為存儲器映象寄存器、暫存器和片內RAM,對外部FLASH來講是不可見的,所以FLASH可操作的地址范圍為4000H~0FFFFH。設用戶程序從FLASH中8000H單元開始存放,則系統上電時引導程序就從數據空間的8000H單元開始搬運數據到DSP內部RAM指定區域,引導完畢后即跳轉到RAM中程序入口地址運行用戶程序。

2 SST39VF400A的在系統編程

2.1 芯片簡介及常用命令

  SST39VF400A是SST公司的256K×16位FLASH存儲器,工作電壓3.3V、擦寫壽命100 000次,訪問時間70~90ns。用戶只需向其特定地址寫入特定的指令序列,那么通過這些命令用戶即可啟動內部寫狀態機,從而使其自動完成指令序列要求的內部操作,其中包括:復位、整片擦除、塊擦除、扇區擦除、操作字寫入等。

2.2 SST39VF400A編程操作

  對采用在系統編程的FLASH存儲器,整個編程過程由用戶控制,因此用戶必須了解FLASH存儲器的各狀態位,以便知道編程或擦除是否結束。SST39VF400A內部提供兩種軟件檢查方法:檢查狀態位Data# Polling(DQ7)和Toggle Bit(DQ6)?,F以檢查Toggle Bit(DQ6)位為例來具體說明SST39VF400A的編程及檢查機制。SST39VF400A在進行內部編程或擦除時,對任何地址進行連續讀取都會引起DQ6的跳變,當操作停止就會結束跳變。因此可以通過連續兩次讀取檢查DQ6的變化情況來判斷編程擦除操作是否完成。單字編程及檢查流程如圖1所示(其中WA為要寫入數據的存儲地址)。

?

3?C5402的并行引導裝載

  通過在系統編程操作可以實現將用戶程序代碼寫入FLASH。如何確定FLASH中用戶程序代碼的存放格式并正確地引導裝載以實現脫機運行,則是整個在系統編程的重點之處。在C5402的五種引導方式中,并行引導是DSP系統最常用最簡單的引導方式。下面介紹C5402的并行16位引導裝載方法。

3.1 引導過程簡介

  為了正確引導用戶程序,必須編制引導表,引導表要告訴引導程序采用何種引導方式、程序入口地址、各段的目標首地址和長度等。引導表的數據格式是由鏈接配置文件和HEX轉換配置文件決定的,鏈接配置文件定義各段存放的首地址和長度,而HEX轉換配置文件則定義引導方式、程序入口地址和引導表在外部存儲器中存放的首地址。引導程序可以從地址為0FFFFH單元的I/O端口或數據存儲器取得引導表的起始地址。本文介紹的是并行引導方式,引導過程如下:引導程序先從外部數據空間的0FFFFH單元(即FLASH的0FFFFH單元)讀取引導表起始地址,然后從該起始地址讀取引導標識。若為08AAH則為并行8位引導方式;若不是再從起始地址的下一單元讀取內容,看由此兩單元內容組成的16位字是否為10AAH,若是則為并行16位引導方式。最后從引導表指定的地址搬運各段代碼到片內RAM對應的地址,搬運完畢后即從程序入口地址執行用戶程序。由此可見,引導表的編制是引導過程的關鍵。下面結合實例具體介紹引導表的形成和裝載過程(設用戶程序為測試指示燈的程序,源文件為main.asm和vectors.asm,源代碼省略)。

3.2?鏈接配置文件編寫

  (文件名為TestLedLink.cmd)

  MEMORY {

????PAGE 0:??????????

??? VEC: org=0100h,? len=0080h?? ;中斷向量的首地址和塊長度

??? CODE: org=0180h, len=0F80h? ;程序塊的首地址和塊長度

??? PAGE 1:

??? STACKS: org=1100h, len=0100h? ;堆棧區的首地址和塊長度????

??? DATA: org=1200h,? len=1000h? ;數據塊的首地址和塊長度????

??? }

  SECTIONS {

?? .vectors:> VEC PAGE 0?? ? ;將中斷向量放入程序頁的VEC區

?? .text:> CODE PAGE 0?? ??? ;將程序代碼放入程序頁的CODE區

?? .stack:> STACKS PAGE 1??? ;將堆棧放入數據頁的STACKS區

?? .bss:> DATA PAGE 1????????;將未初始化變量放入數據頁的DATA區

?? .data:> DATA PAGE 1? ???? ;將初始化數據放入數據頁的DATA區

?? }

??? 鏈接配置文件寫好后,通過DSP仿真軟件CCS編譯鏈接即可生成TestLed.out文件。在匯編時要注意,不論是DOS下的ASM500還是WINDOWS下的CCS都必須加上-v548開關量,否則不能生成正確的引導表。

3.3 HEX轉換配置文件編寫

  (文件名為TestLedHex.cmd)

  TestLed.out????????????????? ;轉換的文件名,即編譯鏈接后的.out文件

?????? -a?????????????????   ??;ASCII-HEX格式

  -map TestLed.mxp    ???? ;生成的映射文件名,可不生成該文件

  -o? TestLed.hex?????? ??? ?? ;轉換后的HEX文件名

  -memwidth 16?????    ??? ;系統存儲器寬度為16位

  -romwidth 16??    ?????? ;ROM器件寬度為16位

  -boot?? ?????????????? ???? ;將COFF文件中各段轉換為引導表的格式(替代SECTIONS偽指令)

  -bootorg 0x8000?????    ??;引導表放在FLASH的8000H開始的單元

  -e 0x0100    ??????????? ;裝入引導表后程序運行的起始地址

  HEX轉換配置文件寫好后,使用CCS提供的轉換工具HEX500將生成的COFF目標文件TestLed.out轉化為標準的ASCII—HEX格式的文件TestLed.hex。注意在轉換時一定要把TestLedHex.cmd文件的擴展名cmd加上。

3.4 構造引導表并寫入FLASH

  經過HEX轉換生成的TestLed.hex文件內容如表1所示。

?

?

  文件開始為ASCII STX字符,結束為ASCII ETX字符,$A8000表示引導表存放的首地址,接下來的數據就是從8000H單元存放的引導表的內容,轉換后的TestLed.hex文件可直接由編程器燒寫進FLASH,也可通過在系統編程的方法由上述的DSP燒寫程序寫進FLASH。執行燒寫程序前需要編寫一個簡單的程序將.HEX文件中起始符、首地址、結束符等與引導表無關的信息去掉,并轉換為DSP能識別的文件格式(如?觹.Dat),采用.copy或.include命令將該文件作為數據段嵌入燒寫進程序中,同時注意在FLASH的0FFFFH單元寫入引導表起始地址8000H。燒寫FLASH后數據存放格式如表2所示。

?

  引導表燒寫進FLASH后,將MP/Mc引腳置低,上電復位后引導程序就會自動將FLASH中的用戶程序搬進片內RAM,搬運完畢后即跳轉到程序入口地址,高速運行用戶程序。

  此方法適用于程序代碼小于16K的情況,將用戶程序全部導入C5402片內RAM中即可;當用戶程序較大而超過16K時,需要外擴程序存儲器,此時在引導表中需用到擴展的程序計數器(XPC),來尋址擴展的程序存儲空間。

?

參考文獻

1 TMS320VC5402 Fixed-Point Signal Processor. Texas Instruments, 2000.8(SPRS079E)

2 TMS320VC5402 and TMS320UC5402 Bootloader. Texas?Instruments Application Report, 2002.3(SPRA618A)

3 SST39VF400A Data Sheet.Silicon Storage TechnologyInc, 2001

4 汪安民. TMS320C54xx DSP 實用技術.北京:清華大學出版社,2002.7

5 劉益成. TMS320C54x DSP 應用程序設計與開發.北京:北京航空航天大學出版社,2002.5

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲国产精品va在线看黑人动漫| 国产精品国产三级国产aⅴ浪潮| 久久国产一区| 欧美精品在线一区二区三区| 亚洲国产综合91精品麻豆| 亚洲每日在线| 欧美一区二区在线免费观看| 欧美日韩ab片| 久久香蕉国产线看观看av| 在线国产日韩| 国产农村妇女毛片精品久久莱园子| 91久久精品www人人做人人爽| 欧美 日韩 国产在线| 激情视频一区二区| 欧美日韩在线免费视频| 极品裸体白嫩激情啪啪国产精品| 最新成人av在线| 制服诱惑一区二区| 亚洲三级性片| 欧美天堂亚洲电影院在线播放| 国产色爱av资源综合区| 久久精品国产一区二区三区免费看| 可以免费看不卡的av网站| 在线播放国产一区中文字幕剧情欧美| 亚洲国产综合在线看不卡| 久久综合电影| 欧美精品九九| 亚洲欧美三级在线| 欧美午夜不卡| 狠狠做深爱婷婷久久综合一区| 亚洲日本中文字幕| 国产精品白丝av嫩草影院| 洋洋av久久久久久久一区| 国产精品久久久久久五月尺| 一区二区不卡在线视频 午夜欧美不卡'| 久久性色av| 欧美黑人多人双交| 欧美成人自拍| 午夜日韩福利| 欧美日韩高清在线播放| 国产精品一区二区久久| 亚洲天堂免费在线观看视频| 国产精品视频久久一区| 亚洲精品美女在线观看播放| 欧美日韩国产精品一区二区亚洲| 麻豆国产精品va在线观看不卡| 国产日韩欧美中文| 99精品久久久| 欧美日韩在线一二三| 欧美日韩精品一本二本三本| 欧美精品videossex性护士| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲综合不卡| 亚洲日本国产| 一区二区免费在线观看| 另类尿喷潮videofree| 亚洲激情在线激情| 国产精品丝袜白浆摸在线| 欧美日韩一区二区在线| 欧美日韩在线免费视频| 久久久久久久综合日本| 久久国产精品一区二区三区四区| 欧美日韩美女一区二区| 亚洲中无吗在线| 久久国产天堂福利天堂| 日韩视频在线观看| 亚洲深爱激情| 欧美激情一区二区在线| 欧美**字幕| 亚洲午夜激情| 亚洲精品老司机| 午夜精品99久久免费| 免费不卡欧美自拍视频| 亚洲国产一区二区在线| 国产亚洲午夜| 欧美一区免费视频| 国精产品99永久一区一区| 欧美日韩不卡一区| 国产综合色在线| 久久青草久久| 欧美另类人妖| 国产综合18久久久久久| 国产亚洲一区二区精品| 在线观看中文字幕不卡| 快射av在线播放一区| 久久人人九九| 亚洲一区二区三区在线观看视频| 黄色成人在线| 亚洲国产1区| 久久久国产精品亚洲一区| 国产婷婷色一区二区三区在线| 国内视频一区| 欧美成人日韩| 国产在线乱码一区二区三区| 久久精品夜色噜噜亚洲a∨| 精品va天堂亚洲国产| 免费一级欧美片在线观看| 国产精品r级在线| 欧美一级网站| 免费一区二区三区| 亚洲在线成人精品| 国产日韩在线看| 久久精品免费电影| 久久久久国内| 欧美有码在线视频| 99精品国产一区二区青青牛奶| 亚洲欧美视频在线观看视频| 欧美性猛交一区二区三区精品| 免费观看30秒视频久久| 亚洲小说欧美另类婷婷| 亚洲视频一二| 亚洲精品小视频| 激情视频一区二区三区| 亚洲美女视频网| 日韩午夜免费视频| 亚洲欧美国产日韩天堂区| 国产精品美女诱惑| 99这里只有久久精品视频| 欧美日韩午夜在线视频| 亚洲欧洲一区二区在线观看| 亚洲男人av电影| 美女视频黄 久久| 亚洲乱亚洲高清| 欧美一区二区三区在线观看视频| 久久婷婷国产麻豆91天堂| 亚洲国产裸拍裸体视频在线观看乱了中文| 1024日韩| 欧美一区激情| 亚洲国产日韩欧美一区二区三区| 久久www成人_看片免费不卡| 亚洲人成网站在线播| 久久国产日本精品| 国产精品99久久久久久久久| 久久精品国产99精品国产亚洲性色| 国产精品高潮在线| 最新成人av网站| 99热这里只有精品8| 国产精品欧美风情| 欧美日韩福利| 亚洲私人影院| 黄色在线一区| 中文久久乱码一区二区| 一区二区三区自拍| 99re国产精品| 欧美国产丝袜视频| 亚洲精品国久久99热| 午夜精彩视频在线观看不卡| 蜜臀av一级做a爰片久久| 狠狠操狠狠色综合网| 国外视频精品毛片| 亚洲欧美在线播放| 亚洲欧美日本视频在线观看| 一区二区在线观看视频在线观看| 最新成人av网站| 免费久久99精品国产| 欧美日韩成人精品| 欧美在线视频在线播放完整版免费观看| 午夜精品一区二区三区四区| 亚洲人午夜精品| 国产精品一区二区在线观看不卡| 亚洲精品久久久一区二区三区| 国产亚洲激情视频在线| 你懂的视频一区二区| 久久不射电影网| 欧美一区日本一区韩国一区| 欧美一区二区三区在线观看视频| 国产精品美女在线观看| 欧美日韩高清在线| 国产午夜亚洲精品理论片色戒| 欧美高清在线精品一区| 伊人成年综合电影网| 欧美精品一区二区三区在线看午夜| 久久精品99国产精品日本| 久久av一区| 久久在线免费观看| 亚洲欧洲精品天堂一级| 国产在线不卡精品| 久久久久九九九九| 美女主播精品视频一二三四| 国产精品亚洲综合色区韩国| 影音先锋亚洲电影| 宅男噜噜噜66一区二区66| 国产精品欧美一区二区三区奶水| 国产精品综合色区在线观看| 欧美精品国产一区| 亚洲三级免费观看| 美国成人直播| 韩国精品主播一区二区在线观看| 亚洲日韩视频| 久久国产手机看片| 国产精品亚洲片夜色在线| 性久久久久久久久| 性色一区二区| 午夜视频一区| 亚洲国产清纯| 一区国产精品| 欧美激情成人在线| 在线看片第一页欧美| 亚洲精品国产日韩| 欧美日韩免费在线视频| 亚洲在线免费观看| 国产精品一区二区三区四区五区| 亚洲精品男同| 国产精品久久久久久久午夜片| 亚洲天堂av在线免费| 乱人伦精品视频在线观看| 国产亚洲欧美一级| 欧美三区在线视频| 一区二区视频免费在线观看| 国产精品久久久久久超碰| 亚洲国产日韩欧美一区二区三区| 久久精品99久久香蕉国产色戒| 国产视频一区二区在线观看| 国产区欧美区日韩区| 国产精品久久777777毛茸茸| 午夜激情亚洲| 国产欧美欧美| 一区二区三区日韩精品| 久久精品免费播放| 久久黄色小说| 国产一区二区三区无遮挡| 欧美在线看片a免费观看| 亚洲区欧美区| 欧美在线视频全部完| 女女同性精品视频| 久久精品成人欧美大片古装| 亚洲亚洲精品在线观看| 欧美激情影院| 欧美日韩国产天堂| 国产麻豆一精品一av一免费| 欧美区二区三区| 亚洲精品美女久久久久| 伊人影院久久| 国产日韩专区| 午夜精品久久久久久久99黑人| 欧美四级电影网站| 在线不卡亚洲| 亚洲第一区在线观看| 在线日韩成人| 一区二区在线观看av| 免费视频一区二区三区在线观看| 娇妻被交换粗又大又硬视频欧美| 国产精品久久久久久影视| 亚洲电影中文字幕| 亚洲自拍都市欧美小说| 国产美女在线精品免费观看| 久久久久天天天天| 国产精品成人午夜| 欧美一区二区三区电影在线观看| 99re6这里只有精品视频在线观看| 久热精品视频在线观看一区| 亚洲黄色尤物视频| 一区二区三区产品免费精品久久75| 尤物视频一区二区| 国产精品久久夜| 中文亚洲免费| 亚洲人成亚洲人成在线观看| 牛牛国产精品| 亚洲免费婷婷| 久久人人爽人人爽爽久久| 欧美日韩国产精品一区二区亚洲| 亚洲精品在线三区| 在线视频亚洲欧美| 亚洲一区三区视频在线观看| 欧美韩日一区二区三区| 亚久久调教视频| 看片网站欧美日韩| 一本色道久久99精品综合| 亚洲人成绝费网站色www| 亚洲高清视频在线观看| 久久gogo国模裸体人体| 免费视频一区| 欧美国产国产综合| 欧美精品一区二区蜜臀亚洲| 国产专区综合网| 一区二区三区国产精华| 久久午夜精品| 国产亚洲人成a一在线v站| 久久成人18免费网站| 国产精品大全| 99ri日韩精品视频| 亚洲级视频在线观看免费1级| 亚洲一区网站| 久久一二三区| 一区二区三区日韩精品视频| 亚洲天堂免费在线观看视频| 好吊日精品视频| 一区二区三区国产盗摄| 久久成年人视频| 亚洲日本aⅴ片在线观看香蕉| 精品91免费| 久久精品国产99国产精品| 欧美精品成人91久久久久久久| 欧美日韩在线视频首页| 在线成人激情黄色| 亚洲第一页中文字幕| 欧美中文字幕久久| 一本久久a久久免费精品不卡| 亚洲电影免费在线| 伊人久久久大香线蕉综合直播| 欧美电影免费观看高清完整版| 性欧美办公室18xxxxhd| 亚洲一区二区成人| 男人的天堂成人在线| 激情一区二区| 亚洲开发第一视频在线播放| 亚洲视频观看| 欧美日韩一区二区在线视频| 狼狼综合久久久久综合网| 99亚洲精品| 亚洲少妇自拍| 国产日产精品一区二区三区四区的观看方式| 一区二区欧美视频| 国产综合色一区二区三区| 一区二区精品国产| **欧美日韩vr在线| 国产精品一香蕉国产线看观看| 欧美日韩在线看| 欧美精品三级在线观看| 国产精品一二三视频| 欧美大片va欧美在线播放| 国产视频精品va久久久久久| 欧美激情亚洲国产| 国产欧美日本| 国产精品一区二区女厕厕| 亚洲全黄一级网站| 中日韩视频在线观看| 一区二区三区在线视频观看|