MSP430的BSL
下面簡單描述一下三種接口的區(qū)別:
本文引用地址:http://butianyuan.cn/article/201611/321242.htm
1、JTAG是邊界掃描技術,其在430內部有邏輯接口給JTAG使用,內部有若干個寄存器連接到了430的內部數(shù)據(jù)地址總線上,所以可以用JTAG訪問430內部的所有資源,包括對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腳以內的2系列單片機的JTAG接口一般與IO口復用,為了給用戶預留更多的IO口,才推出了SBW接口。同樣SBW接口可以用于仿真器及編程器。
3、BSL是TI在對MSP430出廠時預先固化到MCU內部的一段代碼,有點類似于DSP的bootloader,但又與bootloader有明顯的區(qū)別,BSL只能用于對MCU內部的FLASH訪問,不能對其他的資源訪問,所以只能用作編程器接口。BSL通過UART協(xié)議與編程器連接通信。編程器可以發(fā)送不同的通信命令來對MCU的存儲器做不同的操作。BSL的啟動有些特殊,一般430復位啟動時PC指針指向FFFE復位向量,但可以通過特殊的啟動方式可以使MCU在啟動時讓PC指向BSL內部固化的程序。啟動方式一般是由RST引腳與TEST(或TCK)引腳做一個稍復雜的啟動邏輯后產生。BSL啟動后,就可以對MCU進行訪問了。
一般的MCU都有代碼加密功能,430是如何實現(xiàn)的呢?外部對430內部的代碼讀寫只能通過上述的三種方式,所以又引入了熔絲位,熔絲位只存在于JTAG、SBW接口邏輯內。BSL內部沒有熔絲。當熔絲燒斷時(物理破壞,且不可恢復)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)。這些編程器都可以做離線燒寫,即脫離計算機來對目標板燒寫。也可以用仿真器配專業(yè)的軟件來做編程器,這類軟件有MSPFET、FET-PRO430等
MSP430的BSL
BSL的意義:
1、不用仿真器、編程器,就可以實現(xiàn)內存修改(可以應用為參數(shù)修改),程序下載。能加速程序成熟后的批量生產。方便在板修改程序參數(shù)。
2、JATG熔絲燒斷后,訪問內存的唯一方法。
MSP430啟動加載程序(Bootstrap Loader,以下簡稱BSL)允許用戶通過標準的RS-232串行口訪問CPU內存,包括Flash和Ram,這項功能為嵌入式應用提供了方便的維護方式。
評論