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.

[参考译文] MSP-EXP432P4111:MSP-EXP432P4111:尝试从 CCS 中的源代码构建运行 BSL、遇到问题

Guru**** 2538930 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1115751/msp-exp432p4111-msp-exp432p4111-attempting-to-run-bsl-from-source-build-in-ccs-having-problems

器件型号:MSP-EXP432P4111

我终于(六个月后)回到这个问题上、即将 BSL 作为程序加载到信息非易失性存储器中、以便能够调试并可能修改 BSL。

BSL 程序现在构建时没有错误、但不会加载。

这个 BSL 项目的链接论坛帖子中的最后一个回复是:"不要将其加载到工作区中、因为它使用 绝对地址。"

我不确定如何执行此操作、即将程序加载到 launchpad 中、而不将其加载到工作区中。

当我尝试通过"normA_l 步骤加载时、我会收到错误消息:"Cortex_M4_0:闪存编程器:验证错误。 写入闪存失败!"

我认为这是因为我尝试写入信息非易失性存储器、并且可能受到写保护。

有什么帮助?

注意:launchpad 为401r、是的、我知道它已经过时了、我们刚刚从 FAB 收到了4111飞行电路板、我们必须了解我们得到的结果

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

    如果未附加到先前线程的链接、此处为:

    e2e.ti.com/.../3972448

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

    您好、Robert、

    当奕迅描述"绝对寻址"时、我相信他正在讨论软件项目是使用相对寻址来解决依赖项(这就是他要求它位于 C:/ti 文件夹中的原因)。   无论如何、如果您具有 if 编译、则工程可能会查找所有正确的依赖项。   

    您现在的问题似乎是在编程过程中出现的。  您可以使用其他项目对 LaunchPad 进行编程吗?  是否只有这个无法编程?   

    我现在要把这条线程重新分配给伊斯天、但我只是想在查看时尝试澄清一下。   

    谢谢、

    JD

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

    您好、Robert、

    请仔细检查:

    1.您是否将代码放在下面显示的地址。

    2.是否取消选择将项目复制到工作区。

    伊斯天

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

    我们今天要这么做

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

    为了澄清、其他项目加载和运行时没有任何问题、BSL 的不同之处在于它使用信息 NVM 而不是数据 NVM、可能在工厂初始加载、并且在将项目加载/调试到数据 NVM 中时不会被 CCS 覆盖。

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

    我在执行上述说明后得到相同的错误。

    我猜 是信息 NVM 存储器空间上有一个硬件锁定、以防止意外擦除原始/出厂安装的 BSL。

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

    您好、Robert、

    我建议您不要使用任何验证解决方案:

    如果没有帮助、请告诉我。

    伊斯天

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

    大家好、刚才已经尝试过这个操作、即使选择了"无验证"、CCS 也会以相同的错误"验证错误。写入闪存失败!"

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

    另一个数据点。 我重新访问了用于链接代码的.cmd 文件、并更改了.intvecs

    发自:

    .intvecs: > BSL_INTVEC

    至:

    .intvecs  :> 0x00000000

    (半年前您给我的信息、尝试并忘记了闪存调试构建、现在我只重新记忆了)

    现在、我不是获得对 fiash 失败错误的写入、而是获得 xds110探针保持在复位状态的指示。

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

    请尝试此操作、这样您就可以擦除 BSL 存储器。

    请记住、您可能需要更改调试探针:

    最后、您需要直接将 PC 设置为调试代码:

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

    您好!

      为了澄清一点、我在 Linux 主机上运行 CCS、而不是 Windows 主机。

      我按照上面所述设置选项、允许写入信息存储器。 CCS 仍然返回"Verify error. 写入闪存失败!"

      寄存器窗口为空、未显示寄存器、无法设置 PC。

    Bob

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

    抱歉、我没有 Linux 可以为您尝试。

    很难相信您无法在 Linux 中启用 CCS 来写入信息存储器。

    您是否能够使用 Windows?

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

    我无法访问窗口框。

    作为一个黑客攻击、我所做的是使用数据 NVM 的高2个扇区加载 BSL、并使用重写 引导加载程序将我的应用程序加载到数据 NVM 的低12个扇区中(有2个扇区可供增长)。 我重新编写了 BSL 以执行12扇区擦除而不是批量擦除、因此 BSL 不会自行擦除。 这样可以一致地重新加载代码。

    所以、我的问题仍然没有解决、但现在、这对我来说不是一个问题。

    为供将来参考、对于查看此主题已存档的人员:

    原始 BSL 有2个问题、使我无法可靠地更改了该 BSL。

    如果我的加载程序重新启动、 BSL 会将加载程序的初始握手视为错误的标头、我认为 BSL 会忽略重新握手。

    2.我正在使用 UART、但 BSL 会在启动时查看 UART 和 SPI 总线、有时 SPI 总线被视为激活。 发生这种情况时、BSL 代码会消失、我有条件地编译了 SPI 总线检查、BSL 崩溃会停止。

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

    感谢您的分享。

    抱歉、我没有安装 Linux 的 PC、无法为您执行更多测试。