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.

[参考译文] MSPM0L2228:BSL 软件条目

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1467214/mspm0l2228-bsl-software-entry

器件型号:MSPM0L2228
主题中讨论的其他器件: SysConfigMSPM0L1306

工具与软件:

我无法从 MSPM0L2228上的软件进入 BSL 模式。

我调用

DL_SYSCTL_resetDevice(DL_SYSCTL_RESET_BOOTLOADER_ENTRY);

器件始终会复位、但随后只是 重新加载应用代码。

TRM 提到:

"BSL 已启动(如果器件安全策略已配置为启用 BSL)"

我不确定这意味着什么、我在 SysConfig 中查找了 BSL 器件安全策略、但找不到任何与该名称相关的内容。  我启用了 BSL、但禁用了调用引脚。

我将在 SysConfig 中进行一些更改、以对 BSL 使用不同的引脚。  以下是 GUI 生成的 SysConfig 行:

NONMAIN.nonmainWarning    = true;
NONMAIN.bslInvokePinCheck = false;
NONMAIN.uartTXPin         = "PA0";
NONMAIN.uartRXPin         = "PA1";
NONMAIN.i2cSCLPin         = "PB17";
NONMAIN.i2cSDAPin         = "PB18";

我需要 PA0和 PA1上的 UART 引脚、还重新分配了 I2C 引脚、以便将它们从 PA0和 PA1中脱离。

我还能尝试让它进入 BSL 吗?

我只 尝试使用 ROM BSL。  我认为我不需要 进行任何次级 BSL 修改。

当我清除 MAIN 闪存并对器件进行下电上电后、可以看到它进入 BSL 模式、并且可以  在 PA0/PA1上使用 UART 执行 BSL 命令。

谢谢

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

    其中一些可能与 bslInvokePinCheck 设置有关。  启用后、如果 BSL 使能引脚为高电平、它将进入 BSL 并保持该状态。  这对于我们的硬件实现来说不是很方便。  如果我可以从软件进入 BSL 模式、并且在不检查引脚的情况下保持该模式、效果会好得多。

    SysConfig 工具中是否缺少一些配置元素?

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

    巴里、您好!

    您能否尝试使用 SDK 中针对 UART BSL 的示例、禁用"Enable BSL Invoke Pin Check"、然后查看是否仍然存在错误?

    此致、

    Diego Abad

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

    是的、如果我选中"启用 BSL 调用引脚检查"、并且所选的 BSL 引脚处于正确状态、则处理器进入 BSL 模式、UART 正常工作。

    遗憾的是、这需要所选的 BSL 引脚处于正确状态。

    用户指南中指出、进入软件时不需要 BSL 引脚。

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

    巴里、您好!
    我旨在要求您取消选中 UART BSL SDK 示例工程中的 BSL 调用引脚检查选项、通过软件调用它、然后查看是否仍然无法启动 BSL。

    此致、

    Diego Abad

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

    我没有看到适合2228的示例项目。  

    我使用了 bsl_software_invoke_app_demo_uart_lp_MSPM0L1306_nortos_ticlang 工程作为参考。

    我试图将该项目迁移到2228、但我有一些疑虑。  有一个 startup_mspm0l130x_ticlang.c 源文件似乎非常具体.  我不确定它是否会起作用。

    此外、在 SysConfig 中、未选择"Linker File Generation"、SysConfig 会警告迁移可能无法自动工作。  这可能与上述文件有关。

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

    巴里、您好!
    我建议根据与要使用的工程(bsl_software_invoke_app_demo_uart_lp_MSPM0L1306_nortos_ticlang)相比的更改来修改 L2228的现有工程
    此致、
    Diego Abad

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

    这正是我所做的、但它无法正常工作。

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

    巴里、您好!

    您是否可以共享   SysConfig 生成的 boot_5F00_config.c 和 boot_5F00_config.h 文件?

    此致、

    Diego Abad

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

    很高兴分享他们,但我找不到他们。  我搜索了整个工作区。  这些文件是否可以用其他名称命名、或者我是否需要选择 CCS 选项来生成它们?

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

    巴里、您好!

    我指的是 boot_config.c/.h 文件。

    此致、

    Diego Abad

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

    我会在接下来的几个小时内从口袋里拿出来。

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

    这些文件已启用 BSL 引脚。 这就是我现在将以这种方式测试引导加载程序的方法。 今天下午晚些时候我可以在没有启用 BSL 引脚的情况下重新编译。  

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

    巴里、您好!
    我将与我们的专家一起评估这些文件。 我会让你知道他们是否有什么问题。

    此致、

    Diego Abad

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

    巴里、您好!
    查看 boot_config.c 文件后、我注意到的唯一一点是没有 NRST。 不过、以下是专家对这一点的评论:

    您需要将 RESETLEVEL 寄存器设置为0x2

    2.然后、需要将 RESETCMD 设置为0xE4000001

    这样、您应该能够进入 BSL。 但是、此方法可能不起作用(此方法目前存在问题、其中它可能不调用 BSL。) 如果是这种情况、没有其他事情要尝试。 我们将努力解决此问题/找到解决方法。

    此致、

    Diego Abad