新聞中心

MSP430的BSL

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

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

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


1、JTAG是邊界掃描技術(shù),其在430內(nèi)部有邏輯接口給JTAG使用,內(nèi)部有若干個寄存器連接到了430的內(nèi)部數(shù)據(jù)地址總線上,所以可以用JTAG訪問430內(nèi)部的所有資源,包括對FLASH的讀寫操作。所以可以用于對MSP430的仿真及編程。主要連接線有TMS、TCK、TDI、TDO、RST、TEST。

2、SBW是SPY-BI-WIRE,可以簡稱兩線制JTAG,主要用SBWTCK(連接到JTAG仿真器的7腳TCK)與SBWTDIO(連接到JTAG仿真器的1腳TDO/TDI),該接口主要用于小于28腳的2系列的430單片機,因為28腳以內(nèi)的2系列單片機的JTAG接口一般與IO口復(fù)用,為了給用戶預(yù)留更多的IO口,才推出了SBW接口。同樣SBW接口可以用于仿真器及編程器。


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

MSP430的BSL

BSL的意義:

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

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

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

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

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



關(guān)鍵詞: MSP430BS

評論


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

關(guān)閉