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.

[参考译文] CCS/MSP432P401R:构建后无法构建 BSL 代码-3警告

Guru**** 2539500 points
Other Parts Discussed in Thread: MSPBSL

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/779200/ccs-msp432p401r-cannot-build-bsl-code--3-warnings-after-build

器件型号:MSP432P401R
主题中讨论的其他器件:MSPBSL

工具/软件:Code Composer Studio

我已成功使用 MSPBSL_scripter 将 txt 文件加载到出厂时安装的 BSL 代码中。   

现在、我需要稍微修改 BSL。  我一直遵循 SLAU622H 中列出的说明。  

我正在使用此处链接的项目:

当我下载调试或发布配置时、引导加载程序停止响应 BSL_scripter。  在我运行(出厂时安装的 BSL)和从项目构建的 BSL 之间、我的所有设置详细信息完全相同。   

另一个详细信息:最初、我尝试修改项目以在 BSL 运行时切换 LED。  LED 工作正常、但引导加载过程未工作。  现在、我已经使用完全未修改的源代码启动了一个全新的项目。  此时、我只想让原始项目生成并运行。  

我想知道问题是否与以下3个构建警告相关:

#10247-D null:创建输出段".TI.noinit"、不带 SECTIONS 规范
宏"UCRXIE"的#48-D 不兼容重定义(在"C:\MSP_REprogram\BSL 432 files\source\BSL432\BSL432_Peripheral_Interface.h"的第78行声明)
宏"UCTXIE"的#48-D 不兼容重定义(在"C:\MSP_reprogram\BSL 432 files\source\BSL432\BSL432_Peripheral_Interface.h"的第77行声明)

我想知道、为什么我在未修改的 BSL 项目中收到这些警告。  

感谢您查看我的问题

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

    我认为这些错误中的任何一个都不重要。  为了消除这些问题、您可以执行下面列出的操作。  重新编程后,运行脚本程序没有任何问题。  如何将调试器设置为擦除/编程闪存空间?  您使用的是什么版本?

    Chris

    (1)在 CCS 中的符号定义中包含 no_MSP_classic_defines

    (2)在链接器命令文件 msp432p401r_debug_flash.cmd 中、添加.TI.noinit

    部分
    {
    .bSL432_version_vendor:> BSL432_version_vendor
    BSL432_version_ci :> BSL432_version_CI
    .bSL432_version_API:> BSL432_version_API
    BSL432_version_PI :> BSL432_version_PI
    BSL432_version_ID :> BSL432_version_ID
    .bsl_start:> BSL_start
    .intvecs:> BSL_INTVEC
    .text:>> BSL_FLASSH1 | BSL_FLASSH2
    .const:>> BSL_FLASSH1 | BSL_FLASSH2
    .cinit:> BSL_FLAH2
    .pinit:>> BSL_FLASSH1 | BSL_FLASSH2
    init_array:> main
    
    .flashMailbox:> 0x00200000
    
    .vtable:>0x20000000
    .data :> SRAM_DATA
    .bss:> SRAM_DATA
    .TI.noinit:> SRAM_DATA
    .sysmem:> SRAM_DATA
    .stack:> SRAM_DATA (高电平)
    } 

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

    Chris、感谢您的回答。  我实际上发现、如果我在 BSL432_Peripheral_Interface.h 中注释掉这些行:

    #define UCTXIE EUSCI_A_IE_RXIE
    #define UCRXIE EUSCI_A_IE_TXIE 

    这2个警告消失了、一切正常(我可以使用 BSL_scripter 成功加载具有 BSL 的程序。)   

    仔细检查后、我发现这些定义似乎映射了 TXIE 到 RXIE?  奇怪

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢。 我需要返回并重新评估我的设置。 您是正确的、我将在我的一侧提交一个错误。

    Chris