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.

[参考译文] MSP430F5438:BSL 文档矛盾

Guru**** 2349020 points
Other Parts Discussed in Thread: MSP430F5438
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/889935/msp430f5438-bsl-documentation-contradictions

器件型号:MSP430F5438

SLAS612F 第43页表6-2脚注(1)如下:"BSL 区域包含德州仪器(TI)提供的 BSL、无法修改。"
SLAU319AC 第42页表24中 MSP430F5438 BSL 版本00.01.01.01的条目显示:"...但是、BSL 可以安全擦除。"
其他文档涉及自定义 BSL、修改 BSL 闪存区域中的 JTAG"密码"等
哪一项是正确的?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

     无法编辑 MSP430F5438中的 BSL。

    有关更多详细信息、请参阅本文档

    http://www.ti.com/lit/an/slaa419c/slaa419c.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我读了 slaa419c、表示从 BSL (非主)闪存执行 BSL 固件有问题、"强制用户编辑它。"

    "IT"表示这是否意味着 BSL 闪存不可擦除、或不可写?

    但是、JTAG 是否也在 BSL 闪存内禁用"密码"? 这是否意味着 JTAG 禁用"密码"也不可擦除或不可写?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、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上是否不可能实现可逆(可恢复)代码保护?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    "我建议您改用 A 版本设备。"

    这种答复在我们中引起了感情上的反应。

    当然,只要你建议不同的硬件,我也可以看看不同的家庭,不同的品牌...

    我的意思是说、这没有什么帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、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 进行编程的尝试都将失败,因为解释起来过于复杂,所以我们说它根本不是客户可编程的”。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Pete

    您是对的、每个用例的描述不是很清楚、我认为主要目的是告诉客户不要尝试更改 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 存储器的擦除和重新编程可能会导致问题。