MSP下載方式

MSP430不管是仿真仍是燒寫程序,通常能夠經過:JTAG、SBW、BSL接口進行。編程

一、JTAG是利用邊界掃描技術,在430內部有邏輯接口給JTAG使用,內部有若干個寄存器鏈接到了430內部數據地址總線上,因此能夠訪問到430的全部資源,包括全地址安全

FLASH、RAM及各類寄存器。能夠用於對430的仿真和編程,主要鏈接線有TMS、TCK、TDI、TDO,430還須要另兩條線路RST、TEST來啓動JTAG命令序列。加密

二、SBW是SPY-BI-WIRE,能夠簡稱爲兩線制JTAG,主要有SBWTCK(鏈接到JTAG接口的7腳TCK)與SBWTDIO(鏈接到JTAG接口的1腳TDO/TDI),該接口主要用於小於28腳的2系列單片機,由於28腳之內單片機的JTAG通常與IO口複用,爲了給用於留有更多的IO資源,才推出SBW接口。SBW同JTAG同樣能夠訪問到430內部的全部資源。指針

注:目前MSP430F5XX系列中也有SBW接口,原理同2系列的SBW。接口

三、BSL是TI在430出廠時預先固化到MCU內部的一段代碼,該代碼用戶不可讀寫,這有點相似與DSP的bootloader,但又與bootloader有明顯的區別,BSL只能用於對MCU內部的FLASH訪問,不能對其餘的資源訪問,因此只能用做編程器接口。BSL經過UART協議與編程器鏈接通訊。編程器能夠發送不一樣的通訊命令來對MCU的存儲器作不一樣的操做,能夠把這種方式稱爲BSL接口。資源

BSL代碼的啓動有些特殊,通常430復位啓動時PC指針指向FFFE復位向量,但能夠經過特殊的啓動方式可使MCU在啓動時讓PC指向BSL內部固化的程序。這種特殊的啓動方式通常是由RST引腳與TEST(或TCK)引腳作一個稍複雜的啓動邏輯後產生。BSL啓動後,就能夠經過預先定義好的UART協議命令對MCU進行讀寫訪問了。原理

四、通常的MCU都有代碼加密功能,430是如何實現的呢?外部對430內部的代碼讀寫只能經過上述的三種方式,只要把這三種方式都堵上,430的程序不就安全了嗎?因此又引入程序

了熔絲位,熔絲位只存在於JTAG、SBW接口邏輯內。當熔絲燒斷時(物理破壞,且不可恢復)JTAG與SBW的訪問將被禁止,此時只有BSL能夠訪問。而經過BSL對MCU的訪問是須要32個字節的密碼,該密碼就是用戶代碼的中斷向量表。如今國內有些解密廠商宣傳可以解密430,原理是經過切片剝離的方法把熔絲位鏈接上,再經過JTAG或SBW接口讀出目標代碼。而BSL則無破解的報告。密碼

仿真器的型號通常支持JTAG、SBW接口,按照其與主機的鏈接方式分爲UIF(USB接口,支持JTAG、SBW),PIF(並口,只支持JTAG),EZ430(只支持SBW模式,目前還不支持F5XX系列)方法

相關文章
相關標籤/搜索