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.

[参考译文] MSPM0L1106:BSL 调用问题。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1450414/mspm0l1106-bsl-invoke-question

器件型号:MSPM0L1106
Thread 中讨论的其他器件:UNIFLASH、、 SysConfig

工具与软件:

大家好、团队成员:
如下方的数据表所述、NRST 和 BSL 调用引脚是可选的、如下所示。


由于产品设计限制、这些引脚无法接触。 我测试过、如果函数调用 DL_SYSCTL_resetDevice (DL_SYSCTL_RESET_BOOTLOADER_ENTRY)、MCU 将重新启动并直接进入引导加载程序、而无需对 NRST 引脚进行任何操作。 但是、当我使用 UniFlash 下载固件时、出现以下错误:
如果我将 BSL_invoke 引脚设置为高电平并再次开始固件下载、则会成功运行。 在这种情况下、BSL_invoke 引脚不是可选的。 我对吗? 如果我错了、您能告诉我如何绕过 BSL_invoke 引脚吗?

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

    您好!

    输入 BSL 方法:

    1.硬件:上电时拉取 BSL 调用引脚

    2.软件:使用  DL_SYSCTL_resetDevice (DL_SYSCTL_RESET_BOOTLOADER_ENTRY) API。

    有两种不同的方法。  如果您仅禁用调用引脚、仍可以通过软件进入 BSL。

    此致、

    Zoey

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

    Zoey、您好!

    感谢您的答复。 我知道有两种不同的方法进入 BSL、我还测试了这两种方法、它们都只能进入 BSL。 在我的测试或产品中、BSL 调用引脚(PA18)将始终保持低电平、我使用软件方法进入 BSL。 之后,我使用 UniFlash 下载固件,并收到以下错误:  

    为了使其成功、我需要将 PA18设置为高电平。 我的意思是、在下载固件之前、BSL 会再次检查 PA18的状态。 我的问题是:

    1.根据我的测试结果,PA18不是可选的。 并且在固件下载期间必须始终保持高电平。 我对吗?

    2.如果在固件下载过程中 PA18没有真正设置为高电平,那么上述错误的原因是什么?

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

    您好!

    很抱歉耽误您的回复、因为我的 E2E 电子邮件通知好像有一些错误。

    要回答您的问题:

    [报价 userid="628670" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1450414/mspm0l1106-bsl-invoke-question/5573953 #5573953"]

    1.根据我的测试结果,PA18不是可选的。 并且在固件下载期间必须始终保持高电平。 我对吗?

    2.如果在固件下载过程中 PA18没有真正设置为高电平,那么上述错误的原因是什么?

    [报价]

    这是因为 Uniflash 代码存在错误。 不是芯片本身。

    您能否在 SDK (...\ti\mspm0_sdk_2_03_00_07\tools\bsl\bsl_gui_source_code)中使用我们的自引导加载程序 GUI? 我已经完成了测试 、可以满足 您的要求。

    此致、

    Zoey

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

    Zoey、您好!

    感谢您的答复和建议。 但很抱歉告诉您、我在使用 MSPM0L1106中的 ROM BSL。

    AlanC。

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

    您好、Alan:

    是的、BSL GUI 也可用于 ROM BSL。 其功能与 Uniflash 相同、但更稳定。

    此致、

    Zoey

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

    Zoey、您好!

    是的、我理解、但 ROM 中的错误无法修复。

    AlanC。

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

    Nonono、

    "是的,不是我的孩子。"

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

    我在 SDK 中提供的源代码是 BSL GUI 源代码、而不是 M0源代码的 BSL

    我已经测试过、根据 ROM BSL、它可以在 PA18始终处于低电平时正常工作

    此致、

    Zoey

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

    Zoey、您好!  

    我很抱歉我的理解有误。 我可以知道新版本的 Uniflash 何时推出吗?

    AlanC。

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

    您好、Alan:

    不确定这个。 您能否首先使用 BSL GUI? 我将向内部团队报告此问题。

    此致、

    Zoey

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

    Zoey、您好!

    是的、当然可以。

    顺便提一下、我想问您关于 MSPM0L1106上的 BSL 吗?

    我正在学习地址0上的辅助 BSL。 我创建了一个示例项目 FLASH_BSL_UART。 我发现起始地址为0x1000。 我是否只是在链接器 cmd 文件中将起始地址更改为0、它将成为地址0上的辅助 BSL? 是否还有任何其他需要更改的地方?

    此外、如果我要对其进行调试/测试、是否需要在 NONMAIN 中禁用 BSLMODE 和 FASTBOOTMODE? 是否还有任何其他需要更改的地方?

    AlanC。

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

    您好、Alan:

    我正在研究地址为0的辅助 BSL。 我创建了一个示例项目 FLASH_BSL_UART。 我发现起始地址为0x1000。 我是否只是在链接器 cmd 文件中将起始地址更改为0、它将成为地址0上的辅助 BSL? 是否还需要更改任何其他内容?

    另请在 SysConfig 中更改以下设置。

    [报价 userid="628670" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1450414/mspm0l1106-bsl-invoke-question/5582483 #5582483"]此外、如果要对其进行调试/测试、是否需要在 NONMAIN 中禁用 BSLMODE 和 FASTBOOTMODE? 是否还需要更改任何其他内容?

    是的、您需要禁用 ROM BSL。

    在 BootCode (ROM)中、它将检查 ROM BSL 是否启用、如果启用、它将使用 ROM BSL。 如果不是、它将检查辅助 BSL 是否正常。 如果支持、则 IF 跳转至辅助 BSL 地址。 否则、它将在0x0000中运行应用程序代码。

    此致、

    Zoey

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

    Zoey、您好!

    如果 ROM BSL 被禁用并将 BSL 更改为地址0、这意味着应该将"Use Alternate BSL Configuration"选项设置为禁用吗?

    此外、Uniflash 程序中的 ERASE 设置下有"Factory reset"选项。 它会擦除 NONMAIN 存储器吗? 它会将任何默认设置写回它吗? 如果没有、如何指定和回写默认设置?

    AlanC。

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

    您好、Alan:

    如果 ROM BSL 已禁用并将 BSL 更改为地址0、这是否意味着"使用备用 BSL 配置"选项应设置为禁用?

    您只能将辅助 BSL 代码用作应用代码。 每次您给 MCU 上电时、它都会运行该代码。

    [报价 userid="628670" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1450414/mspm0l1106-bsl-invoke-question/5582577 #5582577"]此外、Uniflash 程序中的 ERASE 设置下有"Factory reset"选项。 它会擦除 NONMAIN 存储器吗? 它会将任何默认设置写回它吗? 如果不是、如何指定和回写默认设置?

    是的、如果您单击恢复出厂设置。 闪存全部为0xFFFFF、NONAMIN 也将恢复到默认设置。

    此致、

    Zoey