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.
工具与软件:
大家好、团队成员:
如下方的数据表所述、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 中更改以下设置。
是的、您需要禁用 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