Part Number:MSP430F5529Other Parts Discussed in Thread: MSP-FET, MSPBSL
描述
我在使用msp430f5529刷入固件时,Jtag接口烧断,导致无法使用Jtag,想通过BSL串口方式解锁Jtag
我了解到msp430f5529的数据手册中写到有两种BSL方式,分别是USB BSL 和UART BSL,如图
我在使用UART BSL过程中遇到了麻烦。
硬件连接
我以下方式MSP-FE连接自己的开发板,
Target msp430f5529 MCU | MSP-FET |
VCC(3V3) | VCC_TOOL(Pin2) |
GND | GND(Pin9) |
RST/NMI/SBWTDIO(Pin76) | TDO/TDI(Pin1) |
TEST/SBWTCK(Pin71) | TCK(Pin) |
P1.1 | UART_TXD(Pin12) |
P1.2 | UART_RXD(Pin14) |
连接方式参考的是这个
软件运行
然后在命令行BSL Scripter 3.4.0.1使用进行烧录,结果失败了。
命令行内容BSL-Scripter.exe script_5xx_uart.txt
script_5xx_uart.txt文件的内容是
// //Script example 6xx UART BSL //Device tested: MSP430F6459 //Comm Bridge used: MSP-BSL Rocket // //Download the blink application //through UART BSL // LOG MODE 5xx UART COM10 9600 MASS_ERASE DELAY 2000 //gives the wrong password to //mass erase the memory RX_PASSWORD .\pass32_wrong.txt RX_PASSWORD .\pass32_default.txt RX_DATA_BLOCK .\blinkLED_f5529.txt SET_PC 0x4400
错误提示
疑问
msp430f5529是否可以通过UART BSL进行烧录?如果可以,我该如何操作?
这里面(MSP430 Flash Devices Bootloader (BSL))似乎是说msp430f5529不支持UART BSL方式,但是msp430f552x数据手册中又列出了UART BSL的方法,我很疑惑
Yale Li:
您好,MSP430F5529的BSL支持UART。
这个报错的意思是芯片没有收到你发送的内容。
你的接线有问题,你参考的是4 wire JTAG接线。在BSL模式下,正确的连接方式是:
Target msp430f5529 MCU
MSP-FETRST/NMI/SBWTDIO(Pin76)
RST (Pin11)TEST/SBWTCK(Pin71)
TEST/VPP (Pin8)
,
zhang fan:
按照这样连接,报错还是一样的。我在别的帖子看到过,好像5529出场自带的是USB的固件,能进入USB BSL模式,这点在我得开发板上证实了。如果自带usb固件的话是不是就无法直接进入UART BSL模式?
我的参考e2e.ti.com/…/msp430f5529-switch-between-uart-bsl-and-usb-bsl
,
Yale Li:
您好,不好意思回复的有点晚了。
是的,你说的没错,5529出场自带的的确是USB BSL,见 MSP430F552x、MSP430F551x 混合信号微控制器 datasheet (Rev. N) 的 6.5.2 UART BSL:
要进入UART BSL模式,需要烧入UART BSL的固件。在 https://www.ti.com.cn/tool/cn/MSPBSL 中下载 MSPBSL_CUSTOMBSL430 ,解压后在 MSP430BSL_1_02_00_01\Released_BSL_Images\MSP430F55xx_Family\UART BSL 路径下可以找到相应固件。
通过USB BSL也可以解锁JTAG。
script_5xx_usb.txt:
LOG MODE 5xx USB //gives wrong password to do //mass erase in the memory RX_PASSWORD pass32_wrong.txt RX_PASSWORD pass32_default.txt //the following line of code was added after modification RX_DATA_BLOCK SYSBSLPE_CLEAR.txt RX_DATA_BLOCK JTAG_UNLOCK.txtJTAG_UNLOCK.txt:
@17FC 00 00 00 00 qSYSBSLPE_CLEAR.txt:
@0182 00 03 q这3个文件以及 pass32_wrong.txt、pass32_default.txt 放在同一文件夹中。
您试一下
,
Yale Li:
抱歉我忽略了一点。
由于 JTAG 签名位于受保护的 BSL 区域中,因此BSL 必须先清除 SYSBSLC 寄存器中的 SYSBSLPE 位(向地址 0182h 写入 0003h),才能向 JTAG 签名写入 00000000h。见 MSP 代码保护功能 的2.2.1 F5xx/F6xx 电子保险丝的实施方式。
相应代码我已经在原回答中添加。(在 script_5xx_usb.txt 中添加第7行注释、第8行代码;添加 SYSBSLPE_CLEAR.txt )
,
zhang fan:
好的谢谢。我想大部分问题都解决了。但是我手上的5529开发板并没有办法就如USB BSL模式,通过外部3.3V电源上拉PUR引脚时提示"未识别的USB设备",不知道哪里出了问题
,
Yale Li:
您好,不好意思回复晚了。
首先确保你的硬件连接都是正确的。见下图:
zhang fan 说:通过外部3.3V电源上拉PUR引脚时提示"未识别的USB设备"
未识别的话感觉应该是驱动没有装,你可以安装下驱动试一试。