專利名稱::Mpc555在線仿真調(diào)試最小系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種帶片外擴(kuò)展SRAM,可用于在片外SRAM中進(jìn)行在線仿真調(diào)試的最小系統(tǒng),屬于仿真調(diào)試
技術(shù)領(lǐng)域:
。技術(shù)背景在汽車制造行業(yè)中,控制器如燃料電池轎車整車控制器,在投入應(yīng)用的過程中,程序常常需要經(jīng)過大量的仿真、調(diào)試以及更改,以最后達(dá)到我們預(yù)期的工作狀態(tài)。MPC555是Freescle推出的一款32位的單片機(jī),具有強(qiáng)大的功能,常用于汽車電控領(lǐng)域。MPC555片內(nèi)集成26KB的RAM,448KB的FLASH,由于應(yīng)用程序大小一般處于幾百KB級(jí)別以上,所以在MPC555片內(nèi)RAM中無法進(jìn)行應(yīng)用程序的調(diào)試,所有程序燒至FLASH內(nèi)進(jìn)行調(diào)試。但由于制造工藝等因素,MPC555片內(nèi)FLASH的擦除壽命只能在100次左右,這樣就使得程序的修改非常的有限,而且對(duì)芯片的損耗非常嚴(yán)重,研發(fā)成本居高不下。
發(fā)明內(nèi)容本發(fā)明是要解決圍繞如何減少M(fèi)PC555內(nèi)FLASH在調(diào)試過程中擦寫次數(shù)以降低對(duì)FLASH的損耗的技術(shù)問題。為了解決上述的技術(shù)問題,本發(fā)明所提出的技術(shù)方案是一種MPC555在線仿真調(diào)試最小系統(tǒng),其特點(diǎn)是,它包括MPC555、片外擴(kuò)展SRAM和跳線器,通過跳線器換接選擇片外SRAM和從RAM快速引導(dǎo)運(yùn)行的雙重映射法或從MM快速引導(dǎo)運(yùn)行的復(fù)制法,上電時(shí)把程序從內(nèi)部的FLASH拷貝到片外擴(kuò)展SRAM,實(shí)現(xiàn)用戶程序在外部SRAM中運(yùn)行調(diào)試。所述的片外擴(kuò)展SRAM為CYPRESS128Kx36同步帶緩沖的RAM。本發(fā)明有益效果是由于采用了Freescale32位的MPC555單片機(jī),其片內(nèi)FLASH的擦除次數(shù)僅為100次,這給程序調(diào)試帶來很大的局限性,而擴(kuò)展CYPRESS128Kx36同步帶緩沖的RAM,就可以使調(diào)試的任務(wù)在片外SRAM中進(jìn)行,從而減輕FLASH擦除次數(shù)的壓力。而SRAM掉電即擦除,使用壽命較長,作為程序調(diào)試的選擇效果非常理想,即不影響調(diào)試的效率,又能減低研發(fā)的成本。圖1為帶片外擴(kuò)展SRAM的MPC555的在線仿真調(diào)試最小系統(tǒng)的原理框圖圖2為從RAM快速引導(dǎo)運(yùn)行的雙重映射法流程圖;圖3為從RAM快速引導(dǎo)運(yùn)行的復(fù)制法流程圖。具體實(shí)施方式以MPC555的在線仿真調(diào)試最小系統(tǒng)作為實(shí)施例作進(jìn)一步說明。由圖1所示,Ul為MPC555單片機(jī),U2為4M(128K*32bit),型號(hào)為CY7C1347B的片外擴(kuò)展SRAM,JP1為選擇片外SRAM的跳線器,當(dāng)CS1與CE-RAM相短接時(shí),選擇在片外SRAM內(nèi)調(diào)試程序,通過雙重映射法實(shí)現(xiàn)用戶程序在RAM中的快速引導(dǎo);大大減輕了MPC555片內(nèi)FLASH擦除次數(shù)的壓力。SRAM掉電即擦除,使用壽命較長,作為程序調(diào)試的選擇效果非常理想,即不影響調(diào)試的效率,又能減低研發(fā)的成本。下面簡要介紹在MPC555中實(shí)現(xiàn)從RAM的快速引導(dǎo)的機(jī)理由于在產(chǎn)品開發(fā)的后期,通常需要把程序用仿真器燒錄到ROM中,但程序在ROM中的運(yùn)行速度低于在RAM中的運(yùn)行速度。為了提高程序的運(yùn)行速度,往往需要在上電初始化階段把ROM中的程序復(fù)制到RAM中去,或者通過雙重映射把ROM的地址映射到外部RAM。PowerPC555的幾個(gè)基本概念①異常與中斷異常通常是指改變正常的程序流和機(jī)器狀態(tài)的事件。比如系統(tǒng)復(fù)位、遞減器過零、系統(tǒng)調(diào)用指令、各種總線錯(cuò)誤等。當(dāng)一個(gè)異常事件發(fā)生時(shí),通常會(huì)發(fā)生一個(gè)快速的硬件設(shè)備的轉(zhuǎn)換或處理器分支到一個(gè)地址(異常向量),且一種異常類型對(duì)應(yīng)一個(gè)地址的情況下。中斷是異常的一種類型,通常由外部中斷輸入引腳或者裝置的中斷請(qǐng)求所引起。在PowerPC555結(jié)構(gòu)中,所有的中斷都分享一個(gè)異常向量偏移,稱為"外部中斷",通常映射的偏移地址為0x500。②異常向量和異常向量表異常發(fā)生后,首先被識(shí)別,然后機(jī)器的即時(shí)狀態(tài)被保存,這時(shí)處理器從某一地址開始執(zhí)行,異常向量就是這個(gè)地址。與68000結(jié)構(gòu)不同(它的向量是指針),PowerPC555的向量是固定的地址。每一個(gè)異常都有它自己的異常向量,異常向量等于基址和向量偏移量之和。異常基址通常是0x0或者是0xfff00000,這取決于MSR[IP]位的設(shè)置。表1所列是MPC555的異常向量表。其中麗I指的是非屏蔽性中斷。表l異常向量表<table>tableseeoriginaldocumentpage6</column></row><table>表2復(fù)位配置字的選擇<table>tableseeoriginaldocumentpage6</column></row><table>③復(fù)位配置字在上電或者復(fù)位后,微處理器首先讀取復(fù)位配置字,復(fù)位配置字由3種啟動(dòng)工作模式?jīng)Q定-(1)外部數(shù)據(jù)總線引腳DATA;(2)內(nèi)部的默認(rèn)常量(0x00000000);(3)內(nèi)部NVM寄存器值(CMFCFIG);表2給出了復(fù)位配置字的選擇方法。通常選擇第三種,即事先用仿真器把配置字寫入寄存器CM-FCFIG。并用CMFCFIG中的IP位決定程序的入口地址,若IP等于0,則入口地址為0x0,若IP等于1,則入口地址為Oxfff00000。嵌入式系統(tǒng)的應(yīng)用程序一般都是被固化在ROM中運(yùn)行的。通??捎脜R編語言編寫啟動(dòng)程序來完成系統(tǒng)的硬件以及軟件運(yùn)行環(huán)境的初始化。啟動(dòng)和應(yīng)用程序可一起固化在ROM中以使系統(tǒng)在上電和復(fù)位時(shí)能夠自動(dòng)跳轉(zhuǎn)到復(fù)位異常向量入口地址處開始執(zhí)行程序。在源文件編譯鏈接生成的目標(biāo)文件中,代碼、數(shù)據(jù)放在不同的段中。而目標(biāo)文件中的.data段則以系統(tǒng)R細(xì)為參考地址,所以在系統(tǒng)啟動(dòng)時(shí)需要拷貝ROM中的.data到RAM,以完成RAM的初始化。從RAM快速引導(dǎo)運(yùn)行的實(shí)現(xiàn)方法i雙重映射法(僅對(duì)有片內(nèi)FLASH的MPC555系列)如果程序被燒錄到微處理器的內(nèi)部ROM,可以通過MPC555的特有功能——雙重映射法把內(nèi)部FLASH的地址映射到外部RAM,以實(shí)現(xiàn)快速引導(dǎo)運(yùn)行。在使能雙重映射功能時(shí),內(nèi)部FLASH區(qū)對(duì)應(yīng)的地址不起作用,而映射的外部RAM區(qū)地址起作用。具體操作時(shí),首先把程序燒錄到內(nèi)部FLASH,然后在上電時(shí)把程序從內(nèi)部FLASH拷貝到外部RAM,最后再使能微處理器的雙重映射功能。這樣,程序就可以在外部RAM中運(yùn)行了。圖2所示是其流程圖,具體流程如下首先,讓MPC555啟動(dòng)(上電或復(fù)位狀態(tài)),讀取復(fù)位配置控制字;通過復(fù)位配置控制字對(duì)RAM系統(tǒng)存儲(chǔ)區(qū)進(jìn)行配置,然后拷貝FLASH中內(nèi)容到片外RAM中;使能MPC555獨(dú)有的雙重映射功能把MPC555內(nèi)部FLASH的地址映射到外部RAM,初始化堆棧指針和相關(guān)硬件配置;最后使MPC555處理器進(jìn)入用戶模式。ii復(fù)制法對(duì)于與MPC500同系列中的MPC561和MPC562等芯片,由于微處理器內(nèi)部沒有R0M,所以必須外擴(kuò)ROM。在這種情況下,可以把程序燒錄到外部ROM,然后在上電時(shí)再把程序從外部ROM拷貝到外部RAM中,從而使程序能夠在外部RAM中運(yùn)行。以MPC555為例的流程圖如圖3所示。具體流程同雙重映射法類似,區(qū)別在復(fù)制法是針對(duì)無片內(nèi)FLASH的MPC500系列處理器的,因其需外擴(kuò)R0M,所以流程中增加了ROM系統(tǒng)存儲(chǔ)區(qū)的配置以及拷貝完后的存儲(chǔ)區(qū)的重新配置工作。其余同雙重映射法類似。該方法也可以用在有片內(nèi)FLASH的MPC500系列處理器上,比如MPC555。在這種方法中,程序僅在重新配置存儲(chǔ)區(qū)前運(yùn)行在外部R0M,而在重新配置存儲(chǔ)區(qū)后運(yùn)行在外部RAM中,因此提高了程序的運(yùn)行速度。該方法在操作時(shí),首先把程序用仿真器燒錄到外部FLASH,入口地址為Oxfff00000,然后脫機(jī)運(yùn)行。權(quán)利要求1.一種MPC555在線仿真調(diào)試最小系統(tǒng),其特征在于,它包括MPC555、片外擴(kuò)展SRAM和跳線器,通過跳線器換接選擇片外SRAM和從RAM快速引導(dǎo)運(yùn)行的雙重映射法或從RAM快速引導(dǎo)運(yùn)行的復(fù)制法,上電時(shí)把程序從內(nèi)部的FLASH拷貝到片外擴(kuò)展SRAM,實(shí)現(xiàn)用戶程序在外部SRAM中運(yùn)行調(diào)試。2.根據(jù)權(quán)利要求1所述的MPC555在線仿真調(diào)試最小系統(tǒng),其特征在于,所述的片外擴(kuò)展SRAM為CYPRESS128Kx36同步帶緩沖的RAM。全文摘要本發(fā)明公開了一種MPC555在線仿真調(diào)試最小系統(tǒng),其特點(diǎn)是,它包括MPC555、片外擴(kuò)展SRAM和跳線器,通過跳線器換接選擇片外SRAM和從RAM快速引導(dǎo)運(yùn)行的雙重映射法或從RAM快速引導(dǎo)運(yùn)行的復(fù)制法,上電時(shí)把程序從內(nèi)部的FLASH拷貝到片外擴(kuò)展SRAM,實(shí)現(xiàn)用戶程序在外部SRAM中運(yùn)行調(diào)試。由于采用了Freescale32位的MPC555單片機(jī),其片內(nèi)FLASH的擦除次數(shù)僅為100次,這給程序調(diào)試帶來很大的局限性,而擴(kuò)展CYPRESS128Kx36同步帶緩沖的RAM,就可以使調(diào)試的任務(wù)在片外SRAM中進(jìn)行,從而減輕FLASH擦除次數(shù)的壓力。而SRAM掉電即擦除,使用壽命較長,作為程序調(diào)試的選擇效果非常理想,即不影響調(diào)試的效率,又能減低研發(fā)的成本。文檔編號(hào)G06F11/36GK101266568SQ20071003815公開日2008年9月17日申請(qǐng)日期2007年3月16日優(yōu)先權(quán)日2007年3月16日發(fā)明者鋼萬,孫澤昌,戟張,鐘再敏申請(qǐng)人:上海燃料電池汽車動(dòng)力系統(tǒng)有限公司;萬鋼