【TI FAQ】+MSP430开发工具仿真器、编程器的问题

2019-08-02 15:53发布

FAQ 标题:MSP430开发工具仿真器、编程器的问题


FAQ 正文:MSP430无论是仿真还是烧写程序,一般可以通过:JTAGSBWBSL接口进行。

1JTAG是利用边界扫描技术,在430内部有逻辑接口给JTAG使用,内部有若干个寄存器连接到了430内部数据地址总线上,所以可以访问到430的所有资源,包括全地址FLASHRAM及各种寄存器。可以用于对430的仿真和编程,主要连接线有TMSTCKTDITDO430还需要另两条线路RSTTEST来启动JTAG命令序列。

2SBWSPY-BI-WIRE,可以简称为两线制JTAG,主要有SBWTCK(连接到JTAG接口的7TCK)SBWTDIO(连接到JTAG接口的1TDO/TDI),该接口主要用于小于28脚的2系列单片机,因为28脚以内单片机的JTAG一般与IO口复用,为了给用于留有更多的IO资源,才推出SBW接口。SBWJTAG一样可以访问到430内部的所有资源。
注:目前MSP430F5XX系列中也有SBW接口,原理同2系列的SBW

3BSLTI430出厂时预先固化到MCU内部的一段代码,该代码用户不可读写,这有点类似与DSPbootloader,但又与bootloader有明显的区别,BSL只能用于对MCU内部的FLASH访问,不能对其他的资源访问,所以只能用作编程器接口。BSL通过UART协议与编程器连接通信。编程器可以发送不同的通信命令来对MCU的存储器做不同的操作,可以把这种方式称为BSL接口。

BSL代码的启动有些特殊,一般430复位启动时PC指针指向FFFE复位向量,但可以通过特殊的启动方式可以使MCU在启动时让PC指向BSL内部固化的程序。这种特殊的启动方式一般是由RST引脚与TEST(TCK)引脚做一个稍复杂的启动逻辑后产生。BSL启动后,就可以通过预先定义好的UART协议命令对MCU进行读写访问了。

4、一般的MCU都有代码加密功能,430是如何实现的呢?外部对430内部的代码读写只能通过上述的三种方式,只要把这三种方式都堵上,430的程序不就安全了吗?所以又引入了熔丝位,熔丝位只存在于JTAGSBW接口逻辑内。当熔丝烧断时(物理破坏,且不可恢复)JTAGSBW的访问将被禁止,此时只有BSL可以访问。而通过BSLMCU的访问是需要32个字节的密码,该密码就是用户代码的中断向量表。现在国内有些解密厂商宣传能够解密430,原理是通过切片剥离的方法把熔丝位连接上,再通过JTAGSBW接口读出目标代码。而BSL则无破解的报告。仿真器的型号一般支持JTAGSBW接口,按照其与主机的连接方式分为UIF(USB接口,支持JTAGSBW)PIF(并口,只支持JTAG),EZ430(只支持SBW模式,目前还不支持F5XX系列)

编程器型号有GANG430(RS232串行接口,串口、18,支持JTAGSBW,不支持BSL)PRGS430-IIIA多功能编程器(支持JTAGSBWBSL),这些编程器都可以做离线烧写,并且支持烧写熔丝,即脱离计算机来对目标板烧写,其中PRGS编程器还支持序列号烧写方式。另还有专门的BSL编程器,只支持BSL接口,不支持烧写熔丝。

仿真器既然可以访问到430内部的所有资源,当然也可以用做编程器使用,除了使用IAR用源代码烧写的方式外,还可以通过专业的软件来编程,这类软件有MSPFETFET-PRO430等。TI公司在JTAGSBWBSL方面提供了API操作函数,可以利用该函数来设计我们的编程器和仿真器。目前仿真器的技术较复杂,而且是由IAR软件来负责升级。编程器在出厂时事先已经编程了一段Monitor代码,利用这段代码可以实现在线升级,无论是GANG430编程器还是PRGS编程器均有此功能。

工具功能表:名称下载程序JTAG接口SBW接口BSL接口烧断熔丝离线编程PIF-并口仿真器●● UIFUSB接口仿真器●●● ● GANG430编程器●●● ●●PRGS编程器●●●●●●BSL编程器● ●
0条回答

一周热门 更多>