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.

[参考译文] MSP432P4111:BSL 定制引导加载程序应用程序 SLAU622J 问题

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/945483/msp432p4111-bsl-custom-bootloader-app-slau622j-issue

器件型号:MSP432P4111

大家好,  

我使用    http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPBSL_CustomBSL432/latest/index_FDS.html 上的香草代码编写 CCS10  

我可以在  launchpad 上安装 pot project、编译和启动调试器 ,但 运行时出现错误: break @ 0X2032a8  

我在哪里?  

我怎么做?

非常感谢  

此致

卡洛

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

    大家好,  

    我要附加错误的 gif  

    谢谢

    卡洛

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

    您好、Carlo、

    [引用用户="Colombo Carlo"] impot 项目[/quot]

    该代码库具有许多项目。 您导入的哪个特定项目会给您带来此问题? 我需要在我的一侧重新创建它。  

    Srinivas

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

    你好, Srinivas  

    我已导入 MSP432P4111的示例、并尝试在调试配置中编译所选配置文件 (默认情况下) msp432p4x11_debug_flash.cmd  

    根据 SLAU622J 的第5章、我尝试运行 BLS、但当我尝试连接目标时、会出现报告的错误。

    Stefano  

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

    您好、Stefano、

    我使用 MSP432P401r 进行了测试、并遇到类似的错误。

    让我与团队内部进行核实。

    Srinivas

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

    你好,Srinivas,  

    请提供任何新闻? 情况变得紧急  

    谢谢你  

    此致

    卡洛

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

    大家好  

    有新闻吗?

    此致

    卡洛

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

    您好、Carlo、

    我导入了 BSL432_MSP432P4111示例项目、并尝试在 MSP432P4111 Launchpad 上运行。 我得到一个类似的错误、但位于不同的地址:

    "在地址"0x3d5e"处中断、没有可用的调试信息、或者在程序代码之外。"。 查看生成的存储器映射文件(BSL432_MSP432P4111.MAP)、该地址0x3d5e 对应 于 msp432p4xx_driverlib.lib 中的函数:

    00003d10 0000008c msp432p4xx_driverlib.lib:spi.o (.text:spi_registerInterrupt)

    我找不到地址0x2032a8、它是您得到错误的地址。 您能否从存储器映射中告诉我发生此错误的相应函数?

    Srinivas  

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

    你好,Sriniva,

    您在该主题的第一个帖子中有一个屏幕截图,它似乎不 在 prgram 代码中。

    您是否可以在 LP 上使用示例 runnig  并首先共享代码?

    谢谢

    此致

    卡洛

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

    您好、Carlo、

    今天、我使用 MSP432P4111以及 Launchpad 和 CCS v10.1.1运行了一些测试。

    按照 slau622j 中的分步操作、我假设您在执行步骤10之后会遇到卡滞的执行代码、这是正确的吗?

    当我分步运行时、我注意到步骤10中存在差异、因为地址0x2020不是代码的起始位置(在本例中为_c_int00)。 我在链接器文件中看不到任何强制将_c_int00添加到此地址的内容、因此我的假设是链接器只是更改了位置。

    此外、在比较.map 文件后、CCS 库中似乎存在一些差异。 默认二进制文件似乎使用 boot.obj、而新的二进制文件是 boot_cortex_m.c.obj。

    查看我的新映射文件、我看到以下条目:

    如果我在步骤10和11中将0x2020替换为0x3F44作为起始地址、那么我可以强制我的 PC 在_c_int00_noargs 中启动、之后代码看起来运行正常。

    您能否仔细检查起始地址并尝试一下? 如果您一直遇到问题、请告诉我您的 CCS 和编译器版本。

    此致、

    Luis R

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

    您好、Luise

    按照 slau622j 中的分步操作、步骤6中会出现此问题。  

    这是我的配置:

    - LaunchPad MSP432P4111修订版1.0  

    - CCS  版本:10.0.00010  

    -编译器版本:TI v15.12.7.LTS (我也尝试过 TI v.v.v.5.25.2.TLS)

    按照 slau622j 的分步操作、我创建了一个新的配置文件.ccxml、默认设置为。  

    打开目标配置、单击启动所选配置、然后单击连接目标。 此时会发生错误。

    底部我报告了有关步骤6和相关问题的屏幕截图。   

    在我的映射文件中搜索时、我找不到有关0x27cb8地址的任何信息。  

    已连接您可以在 Release_BLS_P4111配置和相关的 msp432p4x11.cmd 文件中找到已生成的映射设置为活动状态。

    /cfs-file/__key/communityserver-discussions-components-files/166/MY_5F00_BSL432_5F00_MSP432P4111.txt

    此致
    Stefano

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

    您好、Carlo、

    Luis 在我试图在我的身边再现时提供了以下内容:

    ------------------------

    • 步骤6:

    连接到目标器件后、CPU 可能位于林中的某个位置。

    这是正常的、并且是预期的、因为没有加载调试信息。

    具体地址也可能因器件状态而异。

    • 步骤7-8:

    加载后,设备将开始运行,但它实际上没有有效的复位矢量,因此它再次位于 limbo 的某个位置。

    如果您尝试停止,您将收到以下错误:(这也是可以的)

    • 步骤9:

    在停止 CPU 之后、您应该能够验证代码、这很好地表明它可以正常工作:

    • 步骤10-11:

    在 CPU 仍然暂停的情况下、我们可以强制 PC 开始执行:

     

    ------------------------

    Srinivas

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

    你(们)好

    步骤8后、TI XDS110 USB 调试探针处于复位状态

    我无法验证程序(选项为禁用)。 因此、我尝试重置目标、并以这种方式运行调试  

    我已更改指定条目的文件映射  

    现在我已经运行了固化步骤、但出现以下错误。 现在、我认为我可以在映射文件中犯错。  

    地图文件修改是否正确? 我还需要更改起始地址吗?

    此致

    Stefano

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

    您好、Stefano、

    在步骤8之后、在尝试步骤9 (验证程序)之前、您需要"暂停"器件/程序。 如果您不暂停、您将不能使用"Verify Program"选项。 这就是它变灰的原因。

    因此、在您尝试 Step9之前、在步骤8之后、请按暂停按钮暂停。 之后、您将能够尝试步骤9和"验证程序"。

    对于步骤10、也就是您通过修改链接器脚本所尝试的步骤、您能否按照文档步骤10中的步骤操作、但从 .map 文件中指定_c_int00_noargs 的地址。

    Srinivas

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

    谢谢、现在它可以工作了。

    有一种方法可以使用 c_int00函数的正确地址自动生成.map 文件?

    此致

    Stefano

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

    您好、Stefano、

    [引用用户="Stefano Marano"]

    有一种方法可以使用 c_int00函数的正确地址自动生成.map 文件?

    [/报价]

    我认为没有一种简单的方法可以在不更改引导代码源的情况下强制它。

    Srinivas

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

    您好、Stefano、

    Luis 提供了补充意见。

    您可以告诉链接器将 _c_int00_noargs 放在顶部。 这可以通过 Project Properties -> Build -> ARM Linker -> Advanced Options -> Miscellaneous 来完成。 您可以+(添加) _c_int00_noargs、如下所示:

    如果在此之后重建.out 文件、 则_c_int00_noargs 会放置在2020h。 这是我在我看来得到的内容、与文档类似:

    希望这能为您解决问题。

    Srinivas

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

    谢谢你

    现在还可以。  

    此致

    Stefano