工具/软件:
编译 MSPM0 代码时、为什么生成的 the.txt 文件具有两个地址? 有两个地址将影响升级软件包的 CRC 校验结果。 如何设置 CCS、使编译生成的 the.txt 文件只有一个地址? 
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.
工具/软件:
编译 MSPM0 代码时、为什么生成的 the.txt 文件具有两个地址? 有两个地址将影响升级软件包的 CRC 校验结果。 如何设置 CCS、使编译生成的 the.txt 文件只有一个地址? 
您好 Kitto、
请检查您是在代码中还是在配置中设置了两个闪存区域。 例如、您可以从 0x0 编写一个器件代码、然后从 0x2140 开始将另一个器件代码写入区域。 否则、您将不会获得此类 ti txt 文件。
要再次确认、您可以检查 device_linker.cmd 文件查看存储器区域配置、


然后、请确认您以正确的方法生成 ti txt 文件:“Properties"->"Arm Hex“ Hex utility"->"Enable“ utility"->"Enable "“ " Arm“ Arm Hex“ Hex Utility“->"--drag_swrap=off"。“。</s>“ 然后点击“Output Format Options“->选择 ti txt



您可以找到一个要测试的 SDK 演示、可能会发现您可以获取一个普通的 ti txt 文件。
此致、
Janz
好的、您似乎在使用“辅助“闪存 BSL、而不是使用器件中包含的 ROM BSL、对吗?
如果是、您的 BSL 位于位置 0x0000.0000 - 0x0000.2C00、并且闪存的其余部分保留用于应用程序、是吗?
参考 SDK 示例“secondary_bsl_uart_LP_MSPM0L1306_nortos_ticlang",“,如果、如果您按如下所示修改此链接器脚本文件、则*。txt 输出文件将用 0xFFFFFFFF 填充所有未使用的闪存位置(请参阅随附的.txt 文件)
MEMORY
{
FLASH_SBSL_INTVEC(RWX) : org = 0x00001000, len = 0x00000040, FILL = 0xFFFFFFFF
FLASH_SBSL_START(RWX) : org = 0x00001040, len = 0x00000040, FILL = 0xFFFFFFFF
FLASH_SBSL(RWX) : org = 0x00001080, len = 0x00001F80, FILL = 0xFFFFFFFF
SRAM(RW) : org = 0x20000000, len = 0x00001000,
BCR_CFG : org = 0x41C00000, len = 0x00000080,
BSL_CFG : org = 0x41C00100, len = 0x00000080,
FACTORY_CFG : org = 0x41C40000, len = 0x00000200,
}
e2e.ti.com/.../secondary_5F00_bsl_5F00_uart_5F00_LP_5F00_MSPM0L1306_5F00_nortos_5F00_ticlang.txt
尊敬的 Janz:
请帮助检查该调试代码。 在我们其他 TI 工程的代码中、代码大小发生更改后偶尔也会生成两个地址、而不仅仅是在此调试代码中。
e2e.ti.com/.../mspm0l1306_5F00_bootloader.zip
您好 Kitto、
我检查了您的代码。 我发现发送器件看起来像矢量表格式。 然后我从代码中删除 SCB->VTOR = app_addr、然后我发现不会有第二个地址。 所以我怀疑这个 操作矢量表地址的代码“SCB->VTOR = app_addr “会导致生成两个地址、我认为编译器在构建此代码时会执行一些操作。

我想知道客户是否担心这有两个地址、我认为这不会影响客户应用程序代码功能。
此致、
Janz Bai
嗨、Kitto、
查看项目的*。map 文件。 有很多信息可以帮助跟踪您在输出文件中看到的内容/原因。
例如、查看.map 文件、在.text 段中、ro 的末尾似乎是 0x00002114、程序的常数放置在.BSL 存储器部分的 0x00002120 中。
当我没有注释 SCB->VTOR 时、您可以看到 ro 以 0x00002114 结尾、.BSL 存储器段放置在 0x00002120。
当我注释掉 SCB->VTOR 时、是的、地址略有不同、但您可以看到 ro .text 段后面的.txt 存储器部分放置在 0x00002140、这是仍出现在.txt 文件中的地址。
您也看到了这个吗?