国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CAN 總線的DSP28335 在線燒寫方法研究

2019-04-11 05:21周洋洋趙昶宇
科技與創(chuàng)新 2019年6期
關(guān)鍵詞:上位總線代碼

周洋洋,趙昶宇

(1.海軍駐天津地區(qū)兵器設(shè)備軍事代表室,天津 300308;2.天津津航計算技術(shù)研究所,天津 300308)

1 引言

DSP28335 是用于實時信號處理的微處理器,具有浮點運算功能,它接口豐富,控制精度高,且預(yù)算速度快,因此廣泛應(yīng)用于嵌入式系統(tǒng)的各個領(lǐng)域。通常將芯片的內(nèi)部存儲區(qū)分為引導(dǎo)程序區(qū)、運行程序區(qū)和下載區(qū)3 個部分。芯片接收到下載命令后,進入引導(dǎo)區(qū)運行引導(dǎo)程序,在引導(dǎo)程序下將用戶應(yīng)用程序代碼內(nèi)容下載到下載區(qū),下載完畢并校驗通過后再將下載區(qū)的內(nèi)容復(fù)制到運行程序區(qū),運行復(fù)位程序,完成Flash 的在線燒寫。

本文以DSP28335 為例,提出一種基于CAN 總線的DSP在線燒寫的方法,避免了在升級程序時因拆卸控制器帶來的各種問題,降低了設(shè)備的維護成本。

2 FLASH 程序引導(dǎo)流程

DSP28335 自帶FLASH 存儲器,在代碼運行前,將代碼從FLASH 中拷貝到RAM 中運行,能夠顯著提高程序的運行效率。用戶編寫的應(yīng)用程序固化到非易失性存儲器FLASH 中,系統(tǒng)每次上電復(fù)位后,便開始運行FLASH 程序引導(dǎo)流程,具體流程為:調(diào)用InitBoot 函數(shù)把器件初始化成C28X 工作模式;然后調(diào)用SelectBootMode 函數(shù),檢測相應(yīng)GPIO 引腳的電平狀態(tài),判斷為FLASH 引導(dǎo)模式;引導(dǎo)結(jié)束后PC 指針將跳轉(zhuǎn)至FLASH 中0x33FFF6 地址單元處,并執(zhí)行其中的代碼,用戶需要在該地址存放一條指令;最后執(zhí)行跳轉(zhuǎn)指令將會跳轉(zhuǎn)到C 環(huán)境初始化函數(shù)c_int00,只有當(dāng)c_int00 運行后,才開始執(zhí)行Main()函 數(shù)。

3 在線燒寫軟件設(shè)計

DSP28335 的在線燒寫軟件部分主要是由上位機端軟件和DSP 端軟件構(gòu)成。

上位機端軟件主要完成讀取可執(zhí)行代碼文件,進行格式轉(zhuǎn)換后將該文件通過CAN 總線發(fā)送給DSP 端,等待DSP端的響應(yīng)。

DSP 端軟件主要完成和上位機端軟件的握手,接收上位機端軟件發(fā)送的可執(zhí)行代碼文件,并將該文件立即燒寫到FLASH 中,完成燒寫過程;此外DSP 端還需實現(xiàn)bootloader程序的功能。

基于DSP28335開發(fā)的應(yīng)用程序經(jīng)過CCS編譯生成的目標(biāo)文件類型為.out 文件,而DSP28335 無法識別該文件類型,需要通過hex2000.exe 工具將.out 文件轉(zhuǎn)換成DSP28335 可以識別的二進制數(shù)據(jù)流文件。

3.1 上位機端軟件設(shè)計

上位機端軟件首先讀取.hex 文件,通過解析.hex 文件內(nèi)容,將其拆分為多條數(shù)據(jù)幀結(jié)構(gòu)。上位機端軟件與DSP 端軟件通過CAN 總線進行通訊。

上位機端軟件向DSP 端軟件發(fā)送的每幀數(shù)據(jù)都帶有校驗和,當(dāng)DSP 端程序接收到該幀數(shù)據(jù)后,通過校驗和對接收數(shù)據(jù)進行確認。確認完畢后,DSP 端軟件將確認幀發(fā)送給上位機端軟件,上位機端軟件收到DSP 端發(fā)送的確認幀后,再向DSP 端軟件發(fā)送下一幀數(shù)據(jù);當(dāng)上位機軟件將全部數(shù)據(jù)發(fā)送完畢后,上位機端軟件向DSP 端軟件發(fā)送數(shù)據(jù)的總長度,DSP 端軟件將該總長度與接收到的數(shù)據(jù)長度進行比較,將比較結(jié)果發(fā)送給上位機端軟件,完成了整個數(shù)據(jù)的總校驗。

3.2 DSP 端軟件設(shè)計

DSP 端軟件主要包括引導(dǎo)程序和用戶應(yīng)用程序,前者不僅用來和上位機軟件進行CAN 總線通訊接收DSP 程序可執(zhí)行代碼文件,并將接收到的可執(zhí)行代碼文件燒寫到FLASH中,而且會在系統(tǒng)上電復(fù)位后會判斷是執(zhí)行FLASH 燒寫工作還是運行用戶應(yīng)用程序工作;后者是用來和上位機軟件進行CAN 總線通訊接收DSP 程序可執(zhí)行代碼文件,并將接收到的可執(zhí)行代碼文件燒寫到FLASH 中。

為保證接收數(shù)據(jù)的準(zhǔn)確性和完整性,DSP 端軟件在接收數(shù)據(jù)的過程中,不執(zhí)行對RAM 或FLASH 操作的相關(guān)代碼;同時,關(guān)閉其他的外部中斷,僅響應(yīng)CAN 總線接收中斷,保證了數(shù)據(jù)接收的實時性。此外,DSP 端軟件將接收到的數(shù)據(jù)存儲在外擴的FLASH 中,等接收完全部數(shù)據(jù)后,再進行程序的燒寫,防止在接收數(shù)據(jù)過程中出現(xiàn)意外而導(dǎo)致系統(tǒng)程序不能正常工作。

FLASH 的燒寫工作也是DSP 端軟件需要實現(xiàn)的重要功能。在擦除或讀寫FLASH 之前,必須先執(zhí)行相應(yīng)的命令字序列,即在指定的FLASH 地址處寫入指定的指令代碼。

向FLASH 的指定地址中寫入數(shù)據(jù),需要四個總線周期。前兩個是解鎖周期,第三個是建立編程命令,最后一個周期完成向編程地址中寫入編程數(shù)據(jù)。待寫入的數(shù)據(jù)為.Hex 文件內(nèi)容。

引導(dǎo)程序框圖和應(yīng)用程序框圖的處理流程如圖1 所示。

圖1 引導(dǎo)程序框圖和應(yīng)用程序框圖示意流程圖

4 DSP28335 在線燒寫的步驟

DSP28335 在線燒寫分為以下4 個步驟:①利用CCS 開發(fā)工具,將要升級的應(yīng)用程序編譯生成.out 文件,利用hex2000.exe 工具將.out 文件轉(zhuǎn)換成.hex 文件;②利用仿真器將被燒寫的引導(dǎo)程序固化到DSP 中FLASH 的相應(yīng)地址中;③完成步驟②后重新上電復(fù)位,利用上位機端軟件將被燒寫的DSP 應(yīng)用程序發(fā)送到DSP 中;④DSP 重新上電,即可自動運行新更新的應(yīng)用程序,完成DSP 的在線程序燒寫。

5 結(jié)束語

本文研究的基于CAN 總線的DSP28335 的在線燒寫方法極大釋放了軟件維護人員的工作量,提高了軟件升級的質(zhì)量和效率。該方法已成功應(yīng)用到某型號DSP 控制系統(tǒng)中,經(jīng)過實際應(yīng)用證明,軟件燒寫過程快速、穩(wěn)定、可靠。該技術(shù)的研究使DSP 程序的更新可以脫離仿真器,為程序的更新和程序的遠程維護提供了方便,具有很強的實用性。

猜你喜歡
上位總線代碼
關(guān)于CAN總線的地鐵屏蔽門控制思路論述
一場史無前例的樂隊真人秀
神秘的代碼
一周機構(gòu)凈增(減)倉股前20名
重要股東二級市場增、減持明細
基礎(chǔ)油“上位”
近期連續(xù)上漲7天以上的股
Q&A熱線
PCI9030及其PCI總線接口電路設(shè)計
基于VC的PLC數(shù)據(jù)采集管理系統(tǒng)