新聞中心

EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 56F8013程序Flash的在線可編程特性及應(yīng)用

56F8013程序Flash的在線可編程特性及應(yīng)用

作者:卓晴 時(shí)間:2012-07-24 來源:電子產(chǎn)品世界 收藏

  摘要: 基于數(shù)字信號(hào)控制器56F8013內(nèi)部程序Flash在線可編程特點(diǎn)編寫具有在應(yīng)用可編程(In-Application Programm)功能的程序可以方便嵌入式軟件開發(fā)。本文在介紹56F8013的Flash編程方法的基礎(chǔ)之上,描述一種它的自舉程序(Bootloader)實(shí)現(xiàn)方法。該方法應(yīng)用在競(jìng)賽直立車??刂葡到y(tǒng)開發(fā)過程中,加快了車模現(xiàn)場(chǎng)調(diào)試的過程。該方法原理同樣適應(yīng)于公司數(shù)字信號(hào)控制器系列其它單片機(jī)開發(fā)。

本文引用地址:http://butianyuan.cn/article/134970.htm

  競(jìng)賽要求必須采用公司的微控制器作為控制單元的核心芯片,數(shù)字信號(hào)控制器(DSC)系列具有運(yùn)算速度快、功耗低、外圍設(shè)備豐富等特點(diǎn),非常適合競(jìng)賽車模控制。在競(jìng)賽秘書處提供的直立車模控制參考方案中就采用了DSC56F8013芯片組成控制核心電路[1]。該芯片不僅內(nèi)部硬件資源可以滿足車??刂埔螅宜能浖_發(fā)環(huán)境Codewarrior中的PE(Processor Expert)可以自動(dòng)生成芯片中各硬件模塊的接口代碼,使得開發(fā)者只需關(guān)注應(yīng)用軟件的開發(fā),這樣便可以提高軟件的開發(fā)效率和準(zhǔn)確性。

  在DSC56F8013的程序開發(fā)和調(diào)試中,可以使用專用的JTEG調(diào)試工具,這種方式在車??刂葡到y(tǒng)開發(fā)中具有一定缺點(diǎn)。車?,F(xiàn)場(chǎng)調(diào)試中,單片機(jī)的代碼和參數(shù)需要頻繁的進(jìn)行更新,使用JTEG調(diào)試工具,調(diào)試接頭的引線很多,插拔接頭不便。特別是無法在車模運(yùn)行時(shí)實(shí)時(shí)監(jiān)測(cè)內(nèi)部程序控制參數(shù)。

  近些年來一種在應(yīng)用編程(IAP,In Application Program)技術(shù)廣泛應(yīng)用在嵌入式系統(tǒng)軟件開發(fā)中。IAP技術(shù)就是利用單片機(jī)系統(tǒng)已有的通信硬件接口,單片機(jī)應(yīng)用軟件通過這些接口與上位計(jì)算機(jī)通訊,接受新的單片機(jī)程序并重新燒寫在單片機(jī)的Flash中。通過這種程序下載和運(yùn)行監(jiān)控的方式完成軟件的開發(fā)與升級(jí)。這種方式無法達(dá)到專業(yè)JTEG開發(fā)工具的程序單步跟蹤調(diào)試的功能,但可以借助于單片機(jī)的通信接口或者其它顯示界面將軟件運(yùn)行的狀態(tài)進(jìn)行顯示,幫助分析軟件運(yùn)行的狀態(tài)。特別是在單片機(jī)底層硬件模塊的接口軟件都已經(jīng)有PE自動(dòng)生成,應(yīng)用層軟件都是用C語(yǔ)言開發(fā),所以通常不需要進(jìn)行軟件的但不跟蹤調(diào)試。因此基于IAP 進(jìn)行軟件開發(fā)可以滿足一般嵌入式軟件開發(fā)的要求。

  利用IAP開發(fā)軟件需要滿足兩個(gè)條件:第一個(gè)是單片機(jī)內(nèi)部Flash必須可以通過自身應(yīng)用程序進(jìn)行更新;第二個(gè)是在應(yīng)用軟件中包含一個(gè)專門的程序自舉模塊(Bootloader)完成程序的下載。Bootloader模塊位于Flash的固定位置,它的程序代碼不需要進(jìn)行更新。單片機(jī)應(yīng)用軟件在特定的觸發(fā)條件下可以進(jìn)入該模塊執(zhí)行命令,專門進(jìn)行更新單片機(jī)軟件。本文將介紹56F8013單片機(jī)的內(nèi)部Flash的編程功能以及基于此實(shí)現(xiàn)Bootloader的功能,也可利用對(duì)Flash編程特點(diǎn)實(shí)現(xiàn)控制軟件參數(shù)的存儲(chǔ)和更新功能。

  56F8013內(nèi)部FLASH編程

  56F8013是一款32管腳LQFP封裝的DSC芯片[2],內(nèi)部資源包括有:運(yùn)行頻率32MHz的DSP和MCU功能統(tǒng)一的內(nèi)核,16KB可編程Flash,4KBRAM, 串行接口UART,SPI,I2C各一個(gè),此外還包含有PWM,ADC,TIMER以及片上時(shí)鐘電路。這些豐富的資源以及低廉的價(jià)格使得它在工業(yè)、醫(yī)消費(fèi)類產(chǎn)品方面得到了廣泛的應(yīng)用。特別是它內(nèi)部Flash可以由程序編程,這為它實(shí)現(xiàn)IAP功能提供了基礎(chǔ)。

  56F8013內(nèi)部的程序和數(shù)據(jù)存儲(chǔ)器地址空間分布如下圖所示:  

 

  其中2KB的RAM可以同時(shí)在程序和數(shù)據(jù)兩個(gè)空間訪問,程序指令可以通過數(shù)據(jù)拷貝傳送到RAM中執(zhí)行,這一特點(diǎn)對(duì)于Flash編程的指令特別重要,因?yàn)樗鼈冃枰赗AM執(zhí)行。對(duì)于56F8013內(nèi)部Flash編程是通過三個(gè)Flash模塊寄存器編程來完成的,它是分別是Flash編程命令寄存器、控制寄存器以及狀態(tài)寄存器。用戶不必深入了解如何通過這些寄存器完成對(duì)Flash編程的過程,只要通過開發(fā)集成環(huán)境中的PE可以方便的生成對(duì)Flash編程的函數(shù)。下圖顯示了使用PE增加CPU內(nèi)部外設(shè)中的Memory中IntFlash組件的界面。 

c語(yǔ)言相關(guān)文章:c語(yǔ)言教程


單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理



上一頁(yè) 1 2 3 4 5 下一頁(yè)

關(guān)鍵詞: 飛思卡爾 智能汽車

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉