新聞中心

MSP430的BSL

作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
對(duì)于MSP430來(lái)說(shuō),無(wú)論仿真還是燒寫(xiě)程序一般可以通過(guò):JTAG、SBW、BSL接口進(jìn)行。JTAG、SBW接口可以用于仿真接口,BSL接口不能用于仿真。而編程器則三種接口都支持。所以并不能說(shuō)JTAG只支持仿真不支持編程,這是概念錯(cuò)誤,JTAG僅僅是一種接口協(xié)議而已。

下面簡(jiǎn)單描述一下三種接口的區(qū)別:

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


1、JTAG是邊界掃描技術(shù),其在430內(nèi)部有邏輯接口給JTAG使用,內(nèi)部有若干個(gè)寄存器連接到了430的內(nèi)部數(shù)據(jù)地址總線(xiàn)上,所以可以用JTAG訪問(wèn)430內(nèi)部的所有資源,包括對(duì)FLASH的讀寫(xiě)操作。所以可以用于對(duì)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單片機(jī),因?yàn)?8腳以?xún)?nèi)的2系列單片機(jī)的JTAG接口一般與IO口復(fù)用,為了給用戶(hù)預(yù)留更多的IO口,才推出了SBW接口。同樣SBW接口可以用于仿真器及編程器。


3、BSL是TI在對(duì)MSP430出廠時(shí)預(yù)先固化到MCU內(nèi)部的一段代碼,有點(diǎn)類(lèi)似于DSP的bootloader,但又與bootloader有明顯的區(qū)別,BSL只能用于對(duì)MCU內(nèi)部的FLASH訪問(wèn),不能對(duì)其他的資源訪問(wèn),所以只能用作編程器接口。BSL通過(guò)UART協(xié)議與編程器連接通信。編程器可以發(fā)送不同的通信命令來(lái)對(duì)MCU的存儲(chǔ)器做不同的操作。BSL的啟動(dòng)有些特殊,一般430復(fù)位啟動(dòng)時(shí)PC指針指向FFFE復(fù)位向量,但可以通過(guò)特殊的啟動(dòng)方式可以使MCU在啟動(dòng)時(shí)讓PC指向BSL內(nèi)部固化的程序。啟動(dòng)方式一般是由RST引腳與TEST(或TCK)引腳做一個(gè)稍復(fù)雜的啟動(dòng)邏輯后產(chǎn)生。BSL啟動(dòng)后,就可以對(duì)MCU進(jìn)行訪問(wèn)了。
一般的MCU都有代碼加密功能,430是如何實(shí)現(xiàn)的呢?外部對(duì)430內(nèi)部的代碼讀寫(xiě)只能通過(guò)上述的三種方式,所以又引入了熔絲位,熔絲位只存在于JTAG、SBW接口邏輯內(nèi)。BSL內(nèi)部沒(méi)有熔絲。當(dāng)熔絲燒斷時(shí)(物理破壞,且不可恢復(fù))JTAG與SBW的訪問(wèn)將被禁止,此時(shí)只有BSL可以訪問(wèn)。而通過(guò)BSL對(duì)MCU的訪問(wèn)是需要32個(gè)字節(jié)的密碼,該密碼就是用戶(hù)代碼的中斷向量表。所以430的加密系統(tǒng)到目前為止尚無(wú)被解密的報(bào)告。
仿真器的型號(hào)一般有UIF(USB接口,支持JTAG、SBW)、PIF(并口,只支持JTAG)、EZ430(USB接口的,只支持SBW模式);專(zhuān)業(yè)編程器有GANG430(串口、一拖8個(gè),支持JTAG、SBW,不支持BSL);多功能編程器(JTAG、SBW、BSL)。這些編程器都可以做離線(xiàn)燒寫(xiě),即脫離計(jì)算機(jī)來(lái)對(duì)目標(biāo)板燒寫(xiě)。也可以用仿真器配專(zhuān)業(yè)的軟件來(lái)做編程器,這類(lèi)軟件有MSPFET、FET-PRO430等

MSP430的BSL

BSL的意義:

1、不用仿真器、編程器,就可以實(shí)現(xiàn)內(nèi)存修改(可以應(yīng)用為參數(shù)修改),程序下載。能加速程序成熟后的批量生產(chǎn)。方便在板修改程序參數(shù)。

2、JATG熔絲燒斷后,訪問(wèn)內(nèi)存的唯一方法。

MSP430啟動(dòng)加載程序(Bootstrap Loader,以下簡(jiǎn)稱(chēng)BSL)允許用戶(hù)通過(guò)標(biāo)準(zhǔn)的RS-232串行口訪問(wèn)CPU內(nèi)存,包括Flash和Ram,這項(xiàng)功能為嵌入式應(yīng)用提供了方便的維護(hù)方式。

要使MSP430單片機(jī)進(jìn)入BSL,需要給特定引腳上一個(gè)特定時(shí)序,接到這個(gè)特定時(shí)序后,CPU程序指針(PC)指向內(nèi)存中的0C00H地址處,這是一段1K大小的ROM區(qū)(0C00H-1000H),BSL就在這里。

通過(guò)BSL對(duì)CPU的操作包括:讀內(nèi)存區(qū)、寫(xiě)內(nèi)存區(qū)、flash全部擦除,flash 分段擦除。除flash分段擦除外,其它功能需要先校驗(yàn)密碼,密碼是存于地址0FFE0H~0FFFFH段的32字節(jié)的內(nèi)容。



關(guān)鍵詞: MSP430BS

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉