SLAS612F 第43页表6-2脚注(1)如下:"BSL 区域包含德州仪器(TI)提供的 BSL、无法修改。"
SLAU319AC 第42页表24中 MSP430F5438 BSL 版本00.01.01.01的条目显示:"...但是、BSL 可以安全擦除。"
其他文档涉及自定义 BSL、修改 BSL 闪存区域中的 JTAG"密码"等
哪一项是正确的?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
SLAS612F 第43页表6-2脚注(1)如下:"BSL 区域包含德州仪器(TI)提供的 BSL、无法修改。"
SLAU319AC 第42页表24中 MSP430F5438 BSL 版本00.01.01.01的条目显示:"...但是、BSL 可以安全擦除。"
其他文档涉及自定义 BSL、修改 BSL 闪存区域中的 JTAG"密码"等
哪一项是正确的?
你(们)好
无法编辑 MSP430F5438中的 BSL。
有关更多详细信息、请参阅本文档
你好、Pete
由于器件中存在一些问题、我们不允许对 BSL 区域进行编程。 有关更多详细信息、请参阅 https://www.ti.com/lit/er/slaz289z/slaz289z.pdf 上的 SYS4
那么、为什么要擦除该区域呢? 我建议您改用 A 版本器件。
此致
Gary
什么意思是、"我们不允许对 BSL 区域进行编程"?
如果我们需要永久禁用 BSL 访问、尽管有256位 BSL 密钥(中断矢量值)、我们仍需要擦除 BSL 闪存、对吧?
如果我们需要设置 JTAG 锁定、我们需要写入("程序"?) BSL 区域中的16字节 JTAG 密钥到非00s、非 FFs、对吧?
如果我们稍后需要清除 JTAG 锁定、知道 BSL 密钥、我们需要将 BSL 区域中的 JTAG 密钥清零回 FFs 或00s、对吧?
或者、具有实践经验的人是否会说、MSP430F5438上是否不可能实现可逆(可恢复)代码保护?
你好、Pete
请简单易行。
我建议您使用版本 A,因为您可以看到版本 A 与非版本之间的差异,版本 A 具有更好的性能。 如果您处于设计硬件的状态,或者您可以重新设计硬件,则可以替换它,这是一个不错的选择。 您可以看到 TI.com MSP430F5438显示"不推荐在新设计中使用此产品。" 对吧?
因此、您的问题实际上是如何锁定 JTAG?因为我没有非 A 版本的器件、所以我无法为您进行测试。 您可以在您的一侧对其进行测试。 我想您可以通过更改 JTAG 签名来锁定 JTAG。 由于 JTAG 签名位于受保护的 BSL 区域中、因此操作必须首先清除 SYSBSLC 寄存器中的 SYSBSLPE 位(向地址0182h 写入0003h)。
"因为 JTAG 签名位于受保护的 BSL 区域..."
TI 文档“…” BSL 不可编程… “有点模糊,特别是 BSL 闪存区域擦除和重写是用于 JTAG 代码保护的*必需*。
单词*Could *表示:“对 BSL 闪存进行写入访问所需的逻辑已从芯片中删除,实际上不可能更改”
或者,*可以*意味着,“任何对替代或替代或自定义 BSL 进行编程的尝试都将失败,因为解释起来过于复杂,所以我们说它根本不是客户可编程的”。
对!
目前的主要任务是在开发道路非常远的产品中对 MSP430F5438实施非永久性代码保护、即计划在几周或几个月内批量发货。 更改芯片绝对不是问题;将焊盘添加到未使用的引脚将$$为$$非常$$痛苦$$。 永久代码保护不是一个选项--我们的代码太绿,卷太多,如果有任何需要重新刷写代码,就不能承担报废产品的费用。
次要目标是使 IAR 相信 BSL 不在 ROM 中、这样他们的闪存擦除和编程在绝对最小值上不会(无意中、由于误解)干扰 BSL 闪存、 但是、他们的调试工具最多可以在开发人员的控制下对其进行检查、甚至可以对其进行擦除或重新编程(尤其是 JTAG 密钥)。
因此我的工作是从文档中收集事实,以准备一份计划--一本指导手册--禁用可编程闪存访问--即黑客窥探或复制--这种方法可以被制造商逆转或克服。 这个问题在这个论坛的另外一个问题"MSP430F5438:BSL 编程方法"中得到了真正的解决。
同时、这里的问题是为了使 TI 文档变得更加完整、矛盾甚至矛盾或混乱、从而使 IAR 无法将其解释为"BSL 在 ROM 中"、从而拒绝我的支持请求。
您好、Pete、
我们了解到、在大批量生产之前、您的情况很短。 但是我们还必须指出、F5438非 A 的"不推荐用于新发展"已经在网络上了很长时间。
除了提及 SYS4及其与 BSL 的相关限制的勘误表外、我们还在数据表的存储器部分表下添加了注释:BSL 区域与 TI BSL 进行了对比、无法更改。 由于 JTAG 熔丝机制也位于 BSL 区域中、这也将影响这个机制。 因此、在开发周期的后期、可以在非 A 版本上可靠地实现如此明显的功能、这让人有点惊讶。
同样、TI 无法保证对整个 BSL 区域进行可靠编程或擦除、因此我们不建议使用此功能。
A 版本是完全引脚兼容的、是什么会阻止您使用它? 为了阐明这一选项和其他业务选项、我们还可以通过邮件脱机。 将与您联系。
迪特马-
语句"因为 JTAG 熔丝机制也驻留在 BSL 区域中、这也会影响这个机制。" ——仍然有点含糊,谢谢。 我们不需要知道它会受到"影响"-我们只需要知道它是否起作用、是或否
可以简单地说,"JTAG 熔丝机制(0x17FC-17FF 上的密钥)在 MSP430F5438中无效/无用,因为在芯片中阻止了 BSL 闪存编程。" ?
我要求作出澄清,因为"不能改变"的措辞含糊不清,使"如果不改变,可以按原样使用"的可能性不确定。 毕竟,我们不想*更改* TI-BSL,我们只需要使用它,在产品从现场返回后,就可以清除 JTAG 保险丝密钥,恢复 JTAG 闪存可编程性。
如果 MSP430F5438完全不支持任何可能的方案的代码保护、请这么说。
尊敬的 Peter:
已通过邮件进行通信:
如前所述、JTAG 锁定签名编程应通过 JTAG 进行、MSP 调试堆栈支持该编程。
当您将签名编程为0x0000 0000时、通过 BSL 解锁也会起作用。
但是、如果之后您想再次锁定、则需要对 BSL 存储器执行段擦除或完全擦除、以重新编程锁定签名。
但是、擦除以及完整的 BSL 区域重新编程可能会导致问题、这就是我们在数据表中使用 SYS4、FLASH32和注释的原因。
基于此、如果可能、我们强烈建议切换到版本。
简而言之、JTAG 锁定有效、也可以通过 BSL 解锁、但无法进行第二次锁定、因为 BSL 存储器的擦除和重新编程可能会导致问题。