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系列)方法

相关文章
相关标签/搜索