當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]一種具備遠程多加載的DSP系統(tǒng)方案設計

 引言

  芯片的燒寫與自加載是一個DSP系統(tǒng)能夠順利運行的基本條件。在DSP加載技術方面已經(jīng)有大量文獻和工作成果,比較好地解決了DSP自加載方面的許多基本問題。而傳統(tǒng)的燒寫/加載方案在調試、更新程序時需要反復外接仿真器,配置跳線,并且只能加載運行指定地址空間上的工程。這些對處于安裝調試階段的系統(tǒng)影響不大,但在諸如航天設備、大型機械或其他惡劣環(huán)境中工作,難以直接進行仿真器連接的DSP系統(tǒng)中,無法采用普通的燒寫/加載方案對其進行更新和調試。

  通過分析DSP系統(tǒng)加載原理,提出了一種基于TI公司C6x芯片的遠程多加載DSP系統(tǒng)設計。該系統(tǒng)由通信芯片、DSP、外部動態(tài)存儲器、外部閃存(Flash)共同組成,具備遠程燒寫、程序選擇加載功能。系統(tǒng)程序更新時也具備很高的安全性,即使燒寫過程中斷電,下次上電后仍然可以繼續(xù)燒入、運行新的工程。

  1 系統(tǒng)結構

  為了滿足功能設計需求,加載與燒寫系統(tǒng)除了包括DSP系統(tǒng)運行必需的DSP芯片之外,還需要連接外部動態(tài)存儲器(SDRAM)、可擦除存儲器(Flash)、通信芯片等。系統(tǒng)結構如圖1所示。其中,通信芯片負責與遠程控制端進行數(shù)據(jù)交換,SDRAM中存放DSP工作用代碼和數(shù)據(jù),而負責引導實際工作工程的“引導工程”和負責實際信息處理任務的“工作工程”代碼數(shù)據(jù)分別存放于不同的Flash空間。



  2 實現(xiàn)方案

  首先簡要說明C6x系列DSP的普通二次加載工程的引導原理。自加載模式的DSP上電初始時,會從CE1空間起始地址(0x90000000)開始拷貝一定長度(C671x系列為1 KB)的數(shù)據(jù)到內部存儲器0地址,并從0地址開始執(zhí)行程序。由于拷貝數(shù)據(jù)長度有限,通常情況下一個長度大于1 KB的自加載工程需要進行二次加載操作,因此該工程必須包含一個長度小于1 KB的Bootloader模塊,該模塊由進行二次加載數(shù)據(jù)搬移操作的代碼構成。工程編譯完成后,Bootloader模塊被燒寫在Flash最開頭的1 KB地址空間內,系統(tǒng)上電復位后由DSP自動搬運到0~1 KB地址空間內執(zhí)行(第一次加載),并由該模塊進行其他數(shù)據(jù)段的數(shù)據(jù)搬移(第二次加載)。在數(shù)據(jù)搬移結束后Bootloader模塊將PC指針跳轉到_c_int00地址段,并最終進入主函數(shù),開始整個工程的運行。整個自加載過程如圖2所示。



  顯然,只有存放在DSP CE1空間最前端的數(shù)據(jù)才能被自動加載和運行。為了使系統(tǒng)上電時刻就具備通信、燒寫和多引導功能,需要將具備上述功能的引導工程存放在CE1基地址開始的空間。[!--empirenews.page--]

  DSP多引導技術正是在普通DSP系統(tǒng)的加載技術基礎上發(fā)展而來的,將具備引導、通信、燒寫、存儲器檢糾錯功能的工程作為引導工程獨立存儲在DSP CE1空間,由DSP自動加載運行;而將具備不同功能的應用程序代碼分別存儲在其他存儲器,等待引導工程根據(jù)功能需要去加載。

  引導工程由DSP自動運行,隨后根據(jù)遠程指令或按預定程序流程的執(zhí)行通信、更新工作工程代碼,或搬運并運行存儲在其他空間工作工程內的Bootloader段,從而引導不同功能的工作工程運行。借助這種工程分離運行技術,可以通過遠程端或自動對空間電子設備存儲器中的代碼進行更新、檢糾錯和加載操作,甚至進行多個工作工程的切換以滿足不同應用背景下的功能需求;即使在更新或切換過程中出現(xiàn)故障,系統(tǒng)復位后仍可回到正常工作的引導工程中進行系統(tǒng)維護或重新更新,具備防燒寫功能。

  2.1 引導工程設計

  引導工程是負責與遠程控制端通信,獲取工作工程代碼并完成燒寫、引導工作工程加載運行的程序。引導工程需要具備自加載、上傳校驗數(shù)據(jù)、燒寫引導等功能。

  2.1.1 自加載功能

  引導工程采用普通工程的加載/燒寫方式,需要在產(chǎn)品生產(chǎn)完成后以仿真器模式進行燒寫固化。由于引導工程具備需要通信、燒寫等功能,其數(shù)據(jù)長度一般來說會超出1KB的DSP自動搬移長度限制,所以系統(tǒng)中的引導工程首先需要設計成一個具有二次加載能力的工程,并燒寫在DSP存儲器CE1空間的最前端,確保DSP在自動引導時首先加載和運行的是引導工程。

  在設計引導工程自加載功能時,與普通二次加載工程相比有所不同:

 ?、俪绦虼鎯Φ刂芬右韵拗?,避免占用工作工程空間;

 ?、谝龑Чこ痰腂ootloader必須放置在CE1空間的最開頭1 KB內,使DSP能夠在上電時自動加載運行。

  2.1.2 通信功能

  通信模塊主要由通信芯片和通信控制邏輯組成,負責完成遠程控制端與DSP之間的通信。根據(jù)不同應用場合,可以選擇不同的通信芯片與鏈路協(xié)議。下面主要考慮應用層協(xié)議設計。

  (1)數(shù)據(jù)上傳與校驗

  按照參考文獻中的方法,為了將工作工程在線燒寫到Flash存儲空間中,首先需要下載編譯工程文件,并轉換為可燒寫的.hex文件。通過通信模塊,遠端設備可以將hex文件發(fā)送并存儲在DSP外部存儲器中。錯誤的hex文件數(shù)據(jù)可能導致在引導工作工程時DSP工作異常,甚至完全無法正常加載,因此遠程端完成數(shù)據(jù)上傳后應對保存的數(shù)據(jù)進行校驗。比較直觀的方法是通過通信接口將DSP收到的數(shù)據(jù)回傳,遠端設備將此數(shù)據(jù)與原始.hex文件進行比較,以確定數(shù)據(jù)是否正確。

  (2)燒寫指令

  完成數(shù)據(jù)校驗后,遠程端向DSP發(fā)送燒寫指令,開始燒寫。

  (3)引導指令

  若需要根據(jù)功能運行相應的工作工程,則由遠程端向DSP發(fā)出不同的引導指令,引導對應地址的工作工程運行。根據(jù)DSP自動加載原理,引導工程需按同樣的步驟進行。[!--empirenews.page--]

  引導工程的通信功能可以以中斷或查詢的方式進行。如果以中斷方式進行,需要妥善處理中斷向量表和使能對應中斷。在引導工程退出時,必須關閉所使用的通信端口和中斷資源。

  2.1.3 在線燒寫功能

  早期DSP系統(tǒng)為了使用非易失性存儲芯片保存數(shù)據(jù),必須使用專用燒錄設備進行。隨著存儲技術與控制技術的進步,部分DSP芯片已經(jīng)具備對直連Flash芯片進行擦除和寫入的能力。

  由于引導工程與工作工程共享一片F(xiàn)lash存儲介質,在擦除工作工程的存儲空間時,需要采用扇區(qū)擦除而不是整片擦除,以確保引導工程不會被改寫。也可以通過對其所在扇區(qū)寫保護的方法來實現(xiàn)對引導工程的保護。寫保護操作可以確保無論對工作工程的燒寫是否成功,引導工程在第一次成功燒錄后將會一直駐留在Flash芯片中,每次上電時都可以進行通信、燒寫和引導工作。

  在某些對設備可靠性要求嚴格的場合,也可將引導工程單獨存放在一片PROM中,在一次燒寫固化完成后,引導工程所在空間將不可再修改。這樣可以完全避免使用Flash芯片反復擦寫引起的存儲器性能下降,以及在燒寫工作工程時誤擦除引導工程的問題。

  燒寫流程與擦除流程類似,可以參照參考文獻中的說明設計。

  2.1.4 加載引導功能

  當完成了對工作工程文件的燒寫之后,需要根據(jù)遠程控制端指令引導工作工程開始工作。根據(jù)DSP自加載的原理,引導工程必須首先將所有已使用的DSP資源關閉,并將Flash存儲器其他空間內工作工程的Bootloader程序拷貝到DSP內部存儲器0地址起始的空間內(這一過程模擬了圖2所示DSP自動加載時的數(shù)據(jù)搬移),然后將程序指針跳轉到工作工程的Bootloader起始地址,開始運行。由工作工程的Bootloader程序將整個工作工程剩余數(shù)據(jù)段依次加載到DSP的動態(tài)存儲器中,最后跳轉到工作工程的起始地址,開始執(zhí)行工作工程的主程序段。

  由引導工程進行引導的好處在于:DSP只能自動加載CE1空間起始段的數(shù)據(jù),而用戶設計的引導工程可以加載任意可讀存儲空間內的數(shù)據(jù);DSP只能在上電時刻加載程序,而引導工程可以在任意時刻轉換加載不同的應用工程程序。

  2.2 工作工程設計

  工作工程是用來完成DSP系統(tǒng)真正信息處理需求的工程,它的設計與普通的二次加載DSP工程基本原理一致,但需要針對雙二次加載功能做幾個方面調整:

 ?、俅鎯ζ髟O置。由于可以復用引導工程所使用的所有外部設備和RAM,在工作工程中配置存儲器空間時只需要保留引導工程使用的Flash地址空間,其他所有引導工程使用的存儲器在正常工作前都可以重置。

  ②ISTP(Interrupt Service Table Pointer,中斷服務指針寄存器)設置。每一個工程都有獨立的中斷向量表,因而進行工程切換時需要重置中斷向量服務指針,以確保新的工程能正確地響應中斷。

 ?、燮渌Y源設置。為了簡化操作、節(jié)省資源,引導工程中應盡可能少占用DSP資源。除上述存儲器和中斷資源外,引導功能可能會用到定時器、MCBSP、EDMA等其他資源。在引導工作工程之前,需要全部關閉這些設備;同時,進入工作工程后需要重新初始化這些外設資源,避免發(fā)生設備使用沖突。

  結語

  通過分析、利用DSP加載運行機制,本文設計了一種具備遠程更新能力的多加載DSP系統(tǒng)。利用通信接口遠程更新程序代碼,并將不同功能的DSP工程燒錄在同一Flash芯片中,并可以通過外部通信指令選擇不同功能的程序運行,使得DSP系統(tǒng)能靈活、安全地更新和運行。

  遠程多引導DSP方案在不改變系統(tǒng)整體框架的前提下,以較少的系統(tǒng)資源占用完成了遠程在線DSP代碼燒錄和引導操作的功能設計,同時由于采用了引導工程、工作工程分離的做法,具備較強的魯棒性。該系統(tǒng)具有燒寫免拆卸、防燒死等優(yōu)良特性,在航天、機械、控制系統(tǒng)設計中可以廣泛使用。 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉