JTAG模式下的MPC5554外部FLASH編程的設計與實(shí)現
4 軟件實(shí)現
該系統軟件開(kāi)發(fā)基于Codewarrior,PE(Proces-sor?Expert)與JTAG組合開(kāi)發(fā)平臺,圖5是開(kāi)發(fā)平臺示意圖。其中,Codewarrior是Freescale公司針對PowerPC系列微控制器開(kāi)發(fā)的集成開(kāi)發(fā)環(huán)境。Codewarrior集編輯器、調試器功能于一體,可進(jìn)行編碼、編譯、編輯、鏈接和調試等開(kāi)發(fā)過(guò)程。 Codewarrior中使用C/C++語(yǔ)言進(jìn)行編程。為了便于開(kāi)發(fā),Frees-cale公司開(kāi)發(fā)了供MPC5554配套使用的圖形化開(kāi)發(fā)工具P &E(Processor Expert),通過(guò)它對MPC5554各功能模塊進(jìn)行設置,生成相應函數和執行代碼,可在Codewarrior開(kāi)發(fā)環(huán)境中使用。本文引用地址:http://dyxdggzs.com/article/163386.htm
MPC5554通過(guò)外部總線(xiàn)接口(Extrenal Bus Inter-face,EBI)和存儲器控制器提供對外部存儲器的訪(fǎng)問(wèn)。其中,外部總線(xiàn)接口提供24條地址線(xiàn)和32條數據線(xiàn)與存儲器相連,存儲器控制器提供4條片選信號線(xiàn)CS[0:3],1條輸出使能信號線(xiàn)OE,4條讀寫(xiě)信號線(xiàn)WE[0:3],用于選擇和讀寫(xiě)外部存儲器或設備。MPC5554的24條地址線(xiàn)和4條片選信號配合可以訪(fǎng)問(wèn)64 MB的地址空間。
在軟件實(shí)現方面,主要是對EBI相關(guān)寄存器進(jìn)行設置,同時(shí)在SIU(System Integration Unit)模塊對相關(guān)管腳進(jìn)行功能設置,以及對FLASH自身的程序設計。MPC5554自身劃分了若干功能模塊,并設有相應的寄存器。MPC5554的大部分引腳具有復用功能,每個(gè)引腳通過(guò)SIU模塊的PCR(Pad Configuration Registers)寄存器進(jìn)行功能選擇。例如片選信號引腳功能復用為CS[0:3]_ADDR[8:11]_GPIO[0:3],作為片選信號需要對寄存器進(jìn)行設置,其他相關(guān)引腳同理設置。
SIU.PCR[2].R=0x0443: //CS2
SIU.PCR[3].R=0x0443: //CS3
MPC5554的EBI模塊對外部數據總線(xiàn)進(jìn)行設置,對某片選信號相對應的外擴存儲器進(jìn)行地址與存儲空間設置。其中,OR寄存器通過(guò)掩碼的方式設置片選信號控制的存儲空間大小。例如,CS[3]連接的FLASH起始地址為0x20000000,存儲器空間為2 MB。
EBI.CS[3].BR.R=0x20000003;
EBI.cs[3].OR.R=0xffe00020;
該系統的重點(diǎn)是對FLASH進(jìn)行操作的程序,主要是對AM29LV160DT內部的命令寄存器按一定的時(shí)序寫(xiě)入命令,如表3所示。通過(guò)這些命令或命令序列可以實(shí)現獲得芯片信息、數據讀取、整體擦除、扇區擦除和數據寫(xiě)入等功能。
下面附一部分FLASH擦寫(xiě)程序。
5 結 語(yǔ)
在此實(shí)現了在JTAG模式下對MPC5554外部FLASH的編程設計,驗證了Codewarrior,PE與JTAG組合開(kāi)發(fā)平臺的可用性,為MPC5554微控制器用于復雜多變量系統開(kāi)發(fā)打下了基礎。
評論