對于51系統來(lái)說(shuō),很容易理解編程器和仿真器。 通俗的說(shuō),仿真器是用來(lái)調試仿真的,編程器是用來(lái)批量生產(chǎn)時(shí)對MCU進(jìn)行燒寫(xiě)目標代碼的。 對于MSP430來(lái)說(shuō),無(wú)論仿真還是燒寫(xiě)程序一般可以通過(guò):JTAG、SBW、BSL接口進(jìn)行。JTAG、SBW接口可以用于仿真接口,BSL接口不能用于仿真。而編程器則三種接口都支持。 所以并不能說(shuō)JTAG只支持仿真不支持編程,這是概念錯誤,JTAG僅僅是一種接口協(xié)議而已。 下面簡(jiǎn)單描述一下三種接口的區別: 1、 JTAG是邊界掃描技術(shù),其在430內部有邏輯接口給JTAG使用,內部有若干個(gè)寄存器連接到了430的內部數據地址總線(xiàn)上,所以可以用JTAG訪(fǎng)問(wèn) 430內部的所有資源,包括對FLASH的讀寫(xiě)操作。所以可以用于對MSP430的仿真及編程。主要連接線(xiàn)有TMS、TCK、TDI、TDO、RST、 TEST。 2、SBW是SPY-BI-WIRE,可以簡(jiǎn)稱(chēng)兩線(xiàn)制JTAG,主要用SBWTCK(連接到JTAG仿真器的7腳TCK)與 SBWTDIO(連接到JTAG仿真器的1腳TDO/TDI),該接口主要用于小于28腳的2系列的430單片機,因為28腳以?xún)鹊?系列單片機的 JTAG接口一般與IO口復用,為了給用戶(hù)預留更多的IO口,才推出了SBW接口。同樣SBW接口可以用于仿真器及編程器。 3、 BSL是TI在對MSP430出廠(chǎng)時(shí)預先固化到MCU內部的一段代碼,有點(diǎn)類(lèi)似于DSP的bootloader,但又與bootloader有明顯的區 別,BSL只能用于對MCU內部的FLASH訪(fǎng)問(wèn),不能對其他的資源訪(fǎng)問(wèn),所以只能用作編程器接口。BSL通過(guò)UART協(xié)議與編程器連接通信。編程器可以 發(fā)送不同的通信命令來(lái)對MCU的存儲器做不同的操作。BSL的啟動(dòng)有些特殊,一般430復位啟動(dòng)時(shí)PC指針指向FFFE復位向量,但可以通過(guò)特殊的啟動(dòng)方 式可以使MCU在啟動(dòng)是讓PC指向BSL內部固化的程序。啟動(dòng)方式一般是由RST引腳與TEST(或TCK)引腳做一個(gè)稍復雜的啟動(dòng)邏輯后產(chǎn)生。BSL啟 動(dòng)后,就可以對MCU進(jìn)行訪(fǎng)問(wèn)了。 一般的MCU都有代碼加密功能,430是如何實(shí)現的呢?外部對430內部的代碼讀寫(xiě)只能通過(guò)上述的三種方式,所以又引入了熔絲位,熔絲位只存在于 JTAG、SBW接口邏輯內。BSL內部沒(méi)有熔絲。當熔絲燒斷時(shí)(物理破壞,且不可恢復)JTAG與SBW的訪(fǎng)問(wèn)將被禁止,此時(shí)只有BSL可以訪(fǎng)問(wèn)。而通 過(guò)BSL對MCU的訪(fǎng)問(wèn)是需要32個(gè)字節的密碼,該密碼就是用戶(hù)代碼的中斷向量表。所以430的加密系統到目前為止尚無(wú)被解密的報告。 仿真器的型號一般有UIF(USB接口,支持JTAG、SBW)、PIF(并口,只支持JTAG)、EZ430(USB接口的,只支持SBW模式) 專(zhuān)業(yè)編程器有GANG430(串口、一拖8個(gè),支持JTAG、SBW,不支持BSL);多功能編程器(JTAG、SBW、BSL)。這些編程器都可以做離線(xiàn)燒寫(xiě),即脫離計算機來(lái)對目標板燒寫(xiě)。 也可以用仿真器配專(zhuān)業(yè)的軟件來(lái)做編程器,這類(lèi)軟件有MSPFET、FET-PRO430等。 |