作者:陳若珠,胡金平,李戰明
隨著數字信號處理技術的快速發展,DSP被廣泛應用于各種數字信號處理系統中。終開發的系統若要脫離仿真器運行,必須將程序代碼存儲在非易失性存儲器中。Flash是一種可在線進行電擦寫而掉電后信息又不丟失的存儲器,它具有功耗低、容量大、擦寫速度快等特點。如何將程序燒寫進Flash,并在上電時加載到DSP內部的RAM中,是Flash在DSP系統應用中的兩個基本問題。本文基于TI公司的TMS320VC5509A和AMD公司的AM29LV800開發系統,詳細闡述了在線燒寫Flash并實現自舉啟動的方法。
1硬件電路設計
圖1為TMS320VC5509A與AM29LV800的連接示意圖,Flash擴展在CE1空間,起始地址為200000。由于TMS320VC5509A只有14根地址線A0~A13,又因為Flash作為數據存儲空間使用時的地址編碼采用字尋址方式,則DSP的A0信號無效,所以AM29LV800芯片的低13位地址線A0~A12連接TMS320VC5509A的地址線A1~A13,高6位地址線A13~A18由緩沖串口來擴展。

圖1TMS320VC5509A與AM29LV800的連接示意圖
AM29LV800是低功耗Flash,工作在2.7V~3.6V電壓下,一般存儲數據可以保存100年以上,可以重復編程次數高達10萬次。A18~A0為外部地址管腳,DQ0~DQ15為16條數據線,
為片選控制管腳,
為輸出控制管腳,
為寫入控制管腳。
2自啟動過程分析及啟動表結構
DSP系統的bootloader是指在系統上電時將一段存儲在外部非易失性存儲器中的程序搬移到DSP片內或片外擴展的高速RAM中并執行的代碼。Bootloader程序性地存儲在DSP以FF8000H開始的ROM中,DSP系統在復位后PC=FF8000H,即從Bootloader程序首地址開始執行。
TMS320VC5509DSP的Bootloader有多種加載方式[3],如表1所示,設置DSP的GPIO0-GPIO3,DSP在復位時讀取這4個引腳上的狀態以確定所使用的啟動模式。本文使用16-bitEMIF加載方式,雖然連線復雜,需要考慮并行非易失存儲器Flash與EMIF接口的匹配關系,但是它的優點很多:不需要外部時鐘驅動,非易失存儲器種類多樣,容量較大,除了存儲表之外,還可存儲系統需要保存的關鍵數據,以便在掉電時保存信息。
表1TMS320VC5509A的加載方式

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

圖2引導表結構
讀引導表可知以下信息:程序入口地址是引導表加載結束后用戶程序開始執行的地址,也就是用戶程序生成的map文件中顯示的入口地址;需配置寄存器數表明后面有多少個需要配置的寄存器;當延時標志為0xFFFF時,執行延時,延時長度決定了在寄存器配置后延時多少個CPU周期才進行下一個動作;段字節數、段起始地址和數據表示用戶程序中定義的各個段的內容;引導表以32個0為結束標志。
生成引導表的方法:通過在DOS環境下使用hex55.exe轉換工具。在轉換操作之前,先把用戶程序生成的。out文件、包含轉換選項的CMD文件hex5509.cmd和轉換工具hex55.exe放在同一個文件夾里,在DOS方式下先將路徑修改為文件所在的位置,然后在此路徑下運行命令hex55hex5509.cmd,即可生成想要的。hex文件。
在轉換時,提供引導表的相關配置信息的CMD文件這里被命名為hex5509.cmd,文中用到的hex5509.cmd的內容為:

3Flash燒寫
Flash的讀操作與傳統EPROM讀操作相同。由于芯片使用軟件保護模式進行操作,用戶編程時,只要向指定的地址寫入指定的序列,就可以啟動Flash芯片內部的寫狀態機,完成指定的操作。表2為Flash的操作命令說明(對芯片的擦除和編程都是按照字進行的),表中所有的數據都是十六進制數。
Flash的正確操作順序:先復位,再擦除,編程。
按照表2提供的操作命令時序來實現對AM29LV800的擦除和編程,PA為編程地址,PD為編程數據。Flash擴展在CE1空間,起始地址是200000,所以操作時所有地址必須加上200000。例如燒寫工程中擦除部分命令為:

表2AM29LV800B的操作命令說明

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

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

圖4觸發位檢測算法流程圖
4程序的燒寫實現
本系統在CCS仿真環境下對Flash進行在線編程。
先建立一個Flash的燒寫工程,并在工程中將要燒寫進Flash的引導表文件通過CCS的LOADDATA功能直接加載進DSP的內存,根據加載的首地址和數據長度,在仿真環境下燒寫進Flash中。值得注意的是,程序加載的內存空間不能與Flash的燒寫程序重疊,否則燒寫失敗。
燒寫完成以后,關掉電源,拔掉仿真器電纜,讓仿真器和計算機脫開:重新打開電源,實驗板上指示燈閃爍,表明燒寫進Flash程序正在運行,自啟動成功。
需要補充的是,經過hex55.exe文件轉化后的hex文件的引導表文件不能直接導入CCS中,CCS只支持將特別規定的DAT格式文件通過LOADDATA導入內存,所以在導入之前必須先將引導表轉化成DAT格式文件,這個工作可以由VC編寫一個簡單的C語言轉化程序實現。
本文闡述了一種針對TMS320VC5509ADSP簡單有效的Flash燒寫方法,并提出了程序自舉引導的實現方法。可以有效地解決程序代碼存儲問題和DSP脫機自舉問題,不僅提高了調試效率,也增加了系統的靈活性。本文討論的引導方法包括硬件設計及相關程序,已經在筆者的實際開發語音項目中使用并成功運行。
責任編輯:gt
相關推薦
我們將《嵌入式工程師-系列課程》分成兩大階段:第一階段:《計算機體系結構》課程 分成4篇:分別是
發燒友學院發表于 2019-01-20 00:00
?
1420次閱讀

存儲行業是全球集成電路市場中比重最大的應用領域之一,目前存儲市場的主控芯片主要來自臺灣或美國等廠商,....
發表于 2020-11-13 18:19?
30次閱讀

從隨身攜帶的手機U盤,到PC筆記本中的硬盤,存儲產品是很多人日常生活中不可缺少的設備,縱覽整個存儲市....
發表于 2020-11-13 16:03?
63次閱讀

系統主要是靠人眼的閉合程度和持續的時間來判斷駕駛員是否疲勞,采集到的圖像人眼只會存在三個狀態分別是:....
發表于 2020-11-13 14:57?
14次閱讀

近日,SK hynix發布截至2020年9月30日的2020財年第三季度財務報告。公司第三季度結合并....
發表于 2020-11-13 14:49?
85次閱讀

如今,混合云已是 IT 領域的關鍵趨勢。 94%的企業正在使用混合云模型混合公共、私有和專用云環境以....
發表于 2020-11-13 14:24?
100次閱讀

各種應用的推動,使FPGA發展到了一個關鍵點,它正在逐步取代其他技術,進入新的市場領域,因此,我們面....
發表于 2020-11-13 11:14?
17次閱讀

看到一份很不錯的電路設計方案,現在分享給大家。本方案為基于DSP2407 開發板實現SPI的電路設計,內附有原理圖...
發表于 2020-11-13 10:46?
101次閱讀

數據采集模塊的硬件設計包括電源板、控制板設計。其硬件構成框圖見圖1所示。控制板采用DSP芯片作為系統....
發表于 2020-11-13 10:03?
63次閱讀

S32K3將恩智浦的S32汽車平臺從網關和域控制擴展到區域控制和邊緣節點。
發表于 2020-11-12 17:12?
160次閱讀

電子發燒友網報道(文/黃山明)隨著全球經濟在第三季度開始恢復,電子元器件的需求也開始回暖,帶動產業中....
發表于 2020-11-12 17:04?
732次閱讀

“世界需要我們行業加速數字化轉型”,Tom Caulfield強調。這就當然給格芯帶來了前所未有的新....
發表于 2020-11-12 15:02?
225次閱讀

APEX20K是Altera公司生產的首款帶有多核架構的可編程邏輯器件,密度在30 000到1 50....
發表于 2020-11-12 11:21?
67次閱讀

在各種單片機應用系統中,存儲器的正常與否,直接關系到該系統的正常工作。為了提高系統的可靠性,對系統的....
發表于 2020-11-11 15:16?
28次閱讀

由上式可看出,要確定c,需求出Δδg?由于Δδg=f(ΔDs,ΔDw,Δtwi,Δε,)描述的是一非....
發表于 2020-11-11 11:02?
183次閱讀

從1982年TI(美國德州儀器公司)推出通用可編程DSP芯片以來,DSP技術取得了迅猛的發展。目前D....
發表于 2020-11-11 10:18?
118次閱讀

MediaTek 資深副總經理暨智能設備事業群總經理游人杰表示,“隨著越來越多的人投入遠程辦公和在線....
發表于 2020-11-11 09:09?
131次閱讀

據美媒Anandtech報道,美光日前宣布了其第五代3D NAND閃存,新一代產品擁有破紀錄的176....
發表于 2020-11-10 14:56?
786次閱讀

點焊是將焊件裝配成搭接接頭,并壓緊在兩電極之間,利用電流通過焊件時產生的電阻熱熔化母材金屬,冷卻后形....
發表于 2020-11-10 10:30?
159次閱讀

ADSP2106X處理器支持最為常用的共享總線多處理器并行系統,把各處理器的相應信號線相互連接,如D....
發表于 2020-11-10 10:24?
156次閱讀

P89C669提供更強大的功能,大大提高了系統性能并降低了系統開銷。結合增強的特性,P89C669利....
發表于 2020-11-10 08:28?
222次閱讀

NOR Flash的三種基本操作
發表于 2020-11-10 07:55?
0次閱讀

磁阻式隨機存儲器MRAM是一種新型存儲器,其優點有讀取速度快和集成度高及非揮發性等。目前許多研究主要....
發表于 2020-11-09 16:46?
58次閱讀

佳能公布了一則通過USB鏈接可安裝于相機熱靴的外部存儲和供電裝置。該裝置可拓展存儲的可用空間,并且通....
發表于 2020-11-09 16:34?
205次閱讀

MRAM與傳統的隨機存儲器的區別在于MRAM的信息攜帶者是磁性隧道結(MTJ ),而后者則是電荷。 ....
發表于 2020-11-09 16:23?
64次閱讀

第九屆(上海)新能源汽車電驅動與 BMS 暨充電裝置技術研討會及第十四屆(上海)新能源汽車核心電源技....
發表于 2020-11-09 15:35?
218次閱讀

大家好,我想問問普中和研旭是dsp板子的品牌嗎?對于初學者應該選擇哪一個?謝謝大家。...
發表于 2020-11-09 12:49?
63次閱讀

閃速存儲器FLASH是可快速擦寫的非易失性存儲器,自Intel公司于1988年推出FLASH Mem....
發表于 2020-11-09 10:19?
171次閱讀

從公眾號獲取到一份“ATT&CK手冊”,看到了這個漏洞CVE-2018-4878,但是一直沒實操,今天剛好有點時間記錄下,...
發表于 2020-11-09 07:15?
0次閱讀

10月底,湖北武漢發改委發布2020年市級重大項目計劃表,包括162個重大在建項目計劃、90個重大新....
發表于 2020-11-08 09:08?
375次閱讀

發表于 2020-11-06 17:36?
186次閱讀

磁阻式隨機存儲器(MRAM)是一種新型存儲器,其優點有讀取速度快和集成度高及非揮發性等。目前許多研究主要是致力于將...
發表于 2020-11-06 14:17?
0次閱讀

飛思卡爾(Freescale)公司推出的兩種基于StarCore技術的高性能DSPMSC7119和M....
發表于 2020-11-06 11:05?
348次閱讀

巨頭之間的競爭從不曾停歇。在內存領域,一場關于HBM(High Bandwidth Memory,高....
發表于 2020-11-06 10:31?
1160次閱讀

11月5日,第三屆中國半導體大硅片論壇2020在南京舉行,集微咨詢高級分析師陳躍楠發表了以《新環境下....
發表于 2020-11-06 09:34?
482次閱讀

近日,SK hynix發布截至2020年9月30日的2020財年第三季度財務報告。報告指出,公司第三....
發表于 2020-11-06 09:20?
483次閱讀

在移動通信和高速無線數據通信中,多徑效應和信道帶寬的有限性以及信道特性的不完善性導致數據傳輸時不可避....
發表于 2020-11-05 17:12?
209次閱讀

2020年下半年全球半導體產業最主要的關鍵詞就是并購。盡管到目前為止,半導體領域的并購數量并不多,但....
發表于 2020-11-05 15:56?
422次閱讀

如果你想要徹底刪除Flash,可以安裝這個補丁。但是,總有人還是得用Flash的,現在微軟沒有推送這....
發表于 2020-11-05 09:47?
283次閱讀

隨著科學技術的發展和文明的進步,人類活動越來越依賴信息,相應的信息量也呈指數級增長。目前,半導體存儲....
發表于 2020-11-04 16:58?
306次閱讀

數字示波器功能:
波形發生器:使用STM32一路DA實現正弦,三角波,方波,白噪聲輸出。 任意一種波形幅值在0-3.3...
發表于 2020-11-03 14:10?
1212次閱讀

DDR:Double Date Rate 雙倍速率同步動態隨機存儲器。
 ...
發表于 2020-10-30 06:53?
0次閱讀

特征
兼容串行外圍接口(SPI);支持SPI模式0(0,0)和3(1,1);數據表描述了模式0操作低壓運行;1.8(VCC...
發表于 2020-10-26 17:30?
202次閱讀

移植一個最小系統要做什么事情?首先,串口驅動:方便調試;地址映射:虛擬地址-物理地址;完善中斷子系統:至少提供T...
發表于 2020-10-23 16:22?
202次閱讀

當我們在編程器中把一條指令寫進單片要內部,然后取下單片機,單片機就可以執行這條指令,那...
發表于 2020-10-22 08:57?
0次閱讀

評論