国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

TMS320F2812片內Flash在線燒寫技術研究

發布時間:2010-10-5 18:12    發布者:eetech
關鍵詞: Flash , TMS320F2812 , 片內 , 燒寫 , 在線
1 引言

TMS320F2812(以下簡稱F2812)是美國德州儀器公司(TI)新一代32位定點數字信號處理器(DSP),主要應用于逆變器控制、電機控制等領域,并擁有工作頻率高達150 MHz的32位DSP內核處理器,可以高效可靠地實現自適應控制和狀態控制等。因此,TMS320F28X系列DSP已成為自動控制領域的首選控制器件。F2812片內擁有高達128 KBx16位的F1ash程序存儲器,可以滿足大多數程序存儲需要。在研究基于JTAG接口的兩種常用Flash燒寫技術(CCS插件燒寫技術和Flash281x_API函數庫燒寫技術)的基礎上,提出了一種利用RS485與PC機的串行通訊實現Flash燒寫的方法。

2 F2812片內Flash簡介

F2812帶有128 KBxl6位的片內Flash存儲器,分為4個8 KBxl6位和6個16 KBxl6位的扇區,用戶可以單獨擦除、編程和驗證Flash的一個扇區而不會影響其他扇區,但不能用F1ash的一個扇區執行Flash的算法對其他扇區擦除或編程。F1ash還可映射到程序數據空間,因此它既可用于執行代碼,也可存儲數據信息。

TI代碼產生工具所產生的目標文件是一種模塊化文件格式一一COFF格式,即.out文件。程序中的代碼和數據在COFF格式文件中以段形式形成,不同的段存放不同類型的內容.應用中通過編寫連接器命令文件(.cmd)將這些段正確地分配到DSP的地址空間,DSP集成開發環境CCS經編譯鏈接之后。生成.out文件和.map文件。.map文件詳細描述了.cmd文件中定義的各段起始地址以及使用長度。而out文件為COFF格式,DSP能夠識別,但不能直接燒寫到Flash,必須將.out文件轉換為Flash能識別的數據格式,即.hex的數據文件。利用CCS轉換和.hex轉換工具HEX2000進行轉換。

3 基于JTAG的燒寫技術

3.1 CCS插件燒寫技術

利用燒寫插件完成Flash的燒寫無需數據轉換,只需通過程序調試生成.out文件即可。由于調試階段程序的.cmd文件存放在F2812的RAM,而燒寫階段程序則存放在Flash,即調試階段程序的重新定位不能在CCS環境下運行,需要編寫兩個不同的.cmd文件。

3.2 Flash281x_API函數燒寫技術

F1ash281x API函數庫燒寫技術是利用TI公司的編程算法.該算法定義良好,操作簡單,而且可以脫離燒寫插件,真正實現在線燒寫。

編程算法中函數定義如下:(1)擦除扇區的函數為Uint16F1ash2812 Erase(SectorMask,&FStatus),其中,SectorMask為擦除指定扇區;&Fstatus為狀態值,判斷操作是否成功。(2)燒寫程序到F1ash函數為Uint16 Flash2812_Program(&FlashAddr,&BuffAddr,Length,&FStatus),其中&FlashAddr為程序在Flash中燒寫的起始地址;&BuffAddr為程序當前存放在內存空間的首地址:Length為程序長度;&Fstatus為狀態值,判斷操作是否成功。(3)校驗燒寫到Flash中的程序為Uintl6 Flash2812_Verifv(&FlashAddr,&BuffAddr,Length,&FStatus)。

Flash28x_API函數燒寫步驟如下:

(1)先將.hex格式數據下載到F2812的內存.在CCS環境下完成File→Data→Load,并存放地址和數據長度兩個參數,其中數據長度可以通過HEX轉換為.map文件獲得。

(2)編寫基于Flash281x_API函數的燒寫程序。先擦除相應的Flash扇區,通過Flash2812_Erase函數完成;將數據的起始地址和數據長度兩個參數分別賦給&FlashAddr和Length變量,然后調用Flash2812_Program函數開始燒寫,最后調用Flash2812_Verify函數確定燒寫是否成功。

Flash API與用戶工程建立關聯后,目標代碼通過調用API函數,實現對Flash的擦除、燒寫和校驗等操作,Flash的密碼保護值不全為0,否則Flash將被鎖死導使無法解鎖。

4 串口燒寫FlaSh技術

基于JTAG的燒寫技術必須在CCS環境下通過JTAG接口實現。雖然基于JTAG接口的兩種燒寫方法易于操作,方便調試,但常常受空間和傳輸距離限制。比如一臺DSP系統安裝在復雜、封閉的環境下,當程序需要更新或升級時,利用JTAG接口難以實現Flash的在線燒寫。而通過串口燒寫技術采用“程序”燒寫“程序”的方法則不受限制。前一個“程序”指已固化程序,用于實現串口燒寫的時機判斷、數據接收及燒寫的具體實施等,該程序使用了Flash281x_API庫編程算法;而后一個“程序”是用戶的應用目標代碼。

實現串口燒寫技術軟件分為PC機內用于數據發送的頂層軟件和目標機內的底層軟件。頂層軟件可實現用戶程序的解析等;而底層軟件可實現由串口發送的數據燒寫至Flash。F2812 DSP每次上電復位,先運行底層軟件,判斷是否需要重新燒寫Flash。若需要,則將串口發送的目標代碼燒寫至F2812片內Flash指定扇區;否則將繼續執行原有的用戶目標代碼。

4.1 頂層軟件

頂層軟件可實現用戶程序的解析等工作。其用戶程序為.oul文件,頂層軟件主要完成.hex文件的解析,并將解析后的有用數據發送至目標DSP。.hex文件的組織格式嚴格,只要提取數據在內存中的存放地址和數據長度就可以按照要求將數據發送給目標DSP。如果用戶程序很大而目標DSP的內存空間不足時,該過程還可以分段進行。頂層軟件可以使用VC++或者LabVIEW等實現。

4.2 底層軟件

底層軟件用于實現將串口發來的數據燒寫至Flash.涉及到用戶程序的正確定位和復位后的啟動過程,是整個軟件設計的重點。底層軟件主要實現以下功能:

(1)燒寫程序搬移功能。由于F2812片上Flash不支持在其中一個扇區運行程序去擦除或燒寫其他扇區,故完成接收數據和燒寫Flash工作的這部分程序需搬移至片內RAM或片外RAM上運行。實現程序搬移的函數為:



其中,SourceAddr為Flash中程序的起始地址,即源程序開始地址;SourceEndAddr為Flash中程序的結束地址,即源程結束序地址;DestAddr為搬移至內存的首地址。

(2)上電復位查詢功能。上電復位后查詢一個通用I/O端口的狀態以確定是否需要燒寫程序。這個通用I/O端口可由用戶自行確定,但I/O端口占用后其特殊功能便不可用,上電復位后保證其確定狀態,否則會不間斷燒寫程序或者不能正確跳轉到用戶應用程序。

(3)接收PC機發送的數據并保存到目標DSP內存。這是在串口接收中斷服務子程序中完成的,并確定用于數據保存的這部分內存未占用。

(4)接收結束后將內存中的數據燒寫至指定Flash扇區,這由Flash28lx_APl庫函數完成。圖l為底層應用軟件流程圖。



4.3 底層軟件的定位

電復位后,XMP/MC引腳為低電平.目標DSP處于計算機模式,CPU將從內部Boot Rom獲得復位向量。復位向量指向Boot Rom并執行其內部的Bootloader程序,執行完畢后確定從內部Flash啟動.程序指針跳轉到Flash的Ox3F7FF6處.這個地址是同定的,因此底層軟件程序必須燒寫在以這個地址為起始地址的空間內,或者在0x3F7FF6燒寫一條跳轉指令,上電復位后通過跳轉指令跳轉到底層軟件程序。

4.4 用戶應用程序的定位

用戶應用程序從main函數開始,但DSP首先必須調用_c_int00函數建立C語言的運行環境,主要包括:建立初始化系統堆棧,把.cinit段中的數據表拷貝到.bss段。對全局和靜態變量初始化等。_c_int00執行結束后調用main函數開始運行用戶應用程序。因此_c_int00函數的首地址才是整個程序的入口點。底層軟件程序執行結束后應該調用_c_int00函數,而不是main函數,可用跳轉指令實現,參考程序如下:



5 結語

討論的Flash三種在線燒寫技術在實際工程中均得到實際運用。采用TMS320F2812作為控制器的數據采集系統.利用Flash在線燒寫技術開發的試驗程序,可以根據需求及時更新,有助于產品維護。為了工程技術人員在實際項目開發中根據工程階段和現場環境選擇合適的燒寫方法,文中給出了關鍵部分程序。經過比較發現,基于JTAG口的燒寫技術適用于研發調試階段,而串口燒寫Flash技術更適用于維護階段.大大提高系統的可維護性和可擴展性,如在封閉和復雜環境下進行外場加載和控制時,該技術具有較好的實用價值。
本文地址:http://m.qingdxww.cn/thread-30270-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天堂在线免费观看 | 国产不卡精品一区二区三区 | 久久中文字幕亚洲精品最新 | 欧美日本综合一区二区三区 | 欧美高清另类 | 日本中文视频 | 日本欧美一区二区三区 | 中文字幕一区二区三区免费看 | 在线亚洲免费 | 最近中文字幕++中文 | 神马天堂| 国产精品操 | 免费看美女部位隐私 | 欧美日韩免费播放一区二区 | 国产成人aaa在线视频免费观看 | 久久精品99毛片免费 | 免费一级毛片无毒不卡 | 99爱精品 | 变态 调教 视频 国产九色 | 日本一区二区三区欧美在线观看 | 欧美亚洲一区二区三区在线 | 羞羞视频免费网站在线 | 岛国在线123456| 久久久国产99久久国产久 | 日本人乱人乱亲乱色视频观看 | 亚洲无线码一区二区三区 | 精品牛牛影视久久精品 | 色综合久久88色综合天天 | 久久精品亚洲一区二区三区浴池 | 特级毛片aaaa级毛片免费 | 欧美三级成人观看 | 麻豆日韩国产精品欧美在线 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美 | 韩国日本一区二区 | 亚洲最色网站 | 久久99精品久久久久久野外 | 日韩精品中文字幕一区二区三区 | 向日葵视频app在线无限看免费 | 年轻的馊子1中字hd 年轻的嫂子在线线观免费观看 | 国产区精品福利在线观看精品 | 国产精品成人免费福利 |