主题中讨论的其他器件:MSP-FET、
我正在尝试通过 I2C 总线使用 BSL 对 MSP430FR59941进行重新编程。 我没有使用任何密码保护。 我可以使用 MSP-FET 工具将同一文件编程到芯片中。
在 MSP 之外、我使用 MSP430-i2cbsl-tool 将文件下载到 MSP。 我使用同样的工具和命令行在其他平台上对其他 MSP43059941芯片进行编程。
在 MSP 内部、我通过将程序计数器设置为0x1000来赞扬 BSL。 (此芯片的 BSL_START 地址。) 中断被禁用。
I2C 通信是:0x48 NAK、0x54 NAK、.......... 0x48 NAK、.......... 0x48 NAK,......... 0x48 NAK,..........................................
流量是此尝试的结果:
MSP430-i2cbsl-tool -s 0x48 -i /dev/i2c-4 -n -f /media/sda1/MSP_FW/Modu/hwid_1b
swid_yy.txt
----------------------------------------
TI MSP430 I2C Linux 引导加载程序01.00.00.00
----------------------------------------
INFO:指定了从机地址0x48
INFO:指定了 I2C 总线/dev/i2c-4
INFO:指定了固件文件/media/sda1/MSP_FW/Modu/hwid_1b/swid_yy.txt
信息:正在打开 TI-TXT 固件文件 firmware.txt ... 完成!
INFO:找不到密码文件,默认为0xFFs.r
INFO:已跳过软件调用。
INFO:正在尝试使用密码解锁设备... 失败!
INFO:无法解锁设备。 重置密码并重试。
INFO:已跳过软件调用。
INFO:正在尝试使用密码解锁设备... 失败!
INFO:无法解锁设备。 重置密码并重试。
INFO:已跳过软件调用。
INFO:正在尝试使用密码解锁设备... 失败!
INFO:无法解锁设备。 重置密码并重试。
INFO:已跳过软件调用。
INFO:正在尝试使用密码解锁设备... 失败!
INFO:无法解锁设备。 重置密码并重试。
错误:尝试调用或解锁器件时(响应代码0x104)。
第二次尝试不使用 n:
MSP430-i2cbsl-tool -s 0x48 -i /dev/i2c-4 -f /somefile.txt
----------------------------------------
TI MSP430 I2C Linux 引导加载程序01.00.00.00
----------------------------------------
INFO:指定了从机地址0x48
INFO:指定了 I2C 总线/dev/i2c-4
INFO:指定了固件文件/somefile.txt
信息:正在打开 TI-TXT 固件文件 firmware.txt ... 完成!
INFO:找不到密码文件,默认为0xFFs。
INFO:调用 BSL (尝试1)... 失败!
INFO:器件裸机尝试!INFO:调用 BSL (尝试2)... 失败!
INFO:器件裸机尝试!INFO:调用 BSL (尝试3)... 失败!
INFO:器件裸机尝试!INFO:调用 BSL (尝试4)... 失败!
INFO:设备裸机尝试!
错误:尝试调用或解锁器件(响应代码0x108)时。
手册页:
MSP430-i2cbsl-tool?
----------------------------------------
TI MSP430 I2C Linux 引导加载程序01.00.00.00
----------------------------------------
---- 德州仪器(TI) MSP430 Linux I2C 引导加载程序使用情况---
MSP430Bootloader f -I -s
--必需的参数----
f 编程到 MSP430的固件 TI-TXT 文件
加上
-I I2C 总线路径(ie /dev/i2c-2)
-s I2C 从器件地址(十六进制)
--附加选项----
-p 指定要使用的 BSL 解锁密码。
应是包含空格分隔的 ASCII 文件
BSL 密码的32字节值。
-c 指定数据程序事务的最大块大小。
v 对所有已编程的存储器执行 POST 验证。
-r
-y 计算地址处存储器空间的 CRC16签名及长度。
-n 跳过调用序列。
1) 1) 当我查看 BSL 用户指南:slau550aa.pdf 修订版2021年2月时、没有提到-n、104或108。 有人提到"调用",但不清楚正在调用什么。 我建议它引用 BSL、但在 BSL 之外运行的某个东西如何导致 MSP 在内部执行某些操作? 那么、再说一次、"调用"这一概念是什么?
2) 2) 什么是响应代码0x104?
3) 3) 什么是响应代码0x108?
4) 4) 最后、我想弄清楚为什么我无法对这个芯片进行编程。 I2C 流量向我表明芯片没有侦听。 我无法判断芯片是否实际运行 BSL。 如何确认?
5) 5) 在哪里可以找到解释此工具和/或 BSL 实际执行的操作的文档?
谢谢你