关于MSP430来说,不管仿真仍是烧写程序一般能够经过:JTAG、SBW、BSL接口进行。JTAG、SBW接口能够用于仿真接口,BSL接口不能用于仿真。而编程器则三种接口都支撑。所以并不能说JTAG只支撑仿真不支撑编程,这是概念过错,JTAG仅仅是一种接口协议罢了。
下面简略描绘一下三种接口的差异:
1、JTAG是鸿沟扫描技能,其在430内部有逻辑接口给JTAG运用,内部有若干个寄存器衔接到了430的内部数据地址总线上,所以能够用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有显着的差异,BSL只能用于对MCU内部的FLASH拜访,不能对其他的资源拜访,所以只能用作编程器接口。BSL经过UART协议与编程器衔接通讯。编程器能够发送不同的通讯指令来对MCU的存储器做不同的操作。BSL的发动有些特别,一般430复位发动时PC指针指向FFFE复位向量,但能够经过特别的发动办法能够使MCU在发动时让PC指向BSL内部固化的程序。发动办法一般是由RST引脚与TEST(或TCK)引脚做一个稍杂乱的发动逻辑后发生。BSL发动后,就能够对MCU进行拜访了。
一般的MCU都有代码加密功用,430是怎么完成的呢?外部对430内部的代码读写只能经过上述的三种办法,所以又引入了熔丝位,熔丝位只存在于JTAG、SBW接口逻辑内。BSL内部没有熔丝。当熔丝烧断时(物理损坏,且不可恢复)JTAG与SBW的拜访将被制止,此刻只要BSL能够拜访。而经过BSL对MCU的拜访是需求32个字节的暗码,该暗码便是用户代码的中断向量表。所以430的加密体系到目前为止尚无被解密的陈述。
仿真器的类型一般有UIF(USB接口,支撑JTAG、SBW)、PIF(并口,只支撑JTAG)、EZ430(USB接口的,只支撑SBW形式);专业编程器有GANG430(串口、一拖8个,支撑JTAG、SBW,不支撑BSL);多功用编程器(JTAG、SBW、BSL)。这些编程器都能够做离线烧写,即脱离计算机来对方针板烧写。也能够用仿真器配专业的软件来做编程器,这类软件有MSPFET、FET-PRO430等
MSP430的BSL
BSL的含义:
1、不必仿真器、编程器,就能够完成内存修正(能够使用为参数修正),程序下载。能加快程序成熟后的批量生产。便利在板修正程序参数。
2、JATG熔丝烧断后,拜访内存的仅有办法。
MSP430发动加载程序(Bootstrap Loader,以下简称BSL)答使用户经过规范的RS-232串行口拜访CPU内存,包含Flash和Ram,这项功用为嵌入式使用供给了便利的保护办法。