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/SW-EK-TM4C123GXL:文件加载器:验证失败:地址0x00000100处的值不匹配请验证目标存储器和存储器映射。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/593476/ccs-sw-ek-tm4c123gxl-file-loader-verification-failed-values-at-address-0x00000100-do-not-match-please-verify-target-memory-and-memory-map

器件型号:SW-EK-TM4C123GXL
主题中讨论的其他器件:TM4C123GH6PMTM4C123

工具/软件:Code Composer Studio

您好!

我已开始编写独立的 ASM 程序、但遇到两个错误:我正在使用 Tiva C launchpad。

Cortex_M4_0:文件加载程序:验证失败:地址0x00000100处的值不匹配请验证目标存储器和存储器映射。
Cortex_M4_0:GEL:文件:C:\Users\Michael\workspace_v7\ASMBlink\Debug\ASMBlink.out:发生数据验证错误、文件加载失败。
Cortex_M4_0:错误:发生调试端口错误。

我也不理解。

当我打开另一个项目、然后切换回这个项目时、第一个错误开始。 第二个错误始终存在、一切似乎正常、但需要修复。

对于标准 C 语言项目、一切都很好。

代码:

全局复位
.sect "intVec"
.word 10000
.word 复位
.text
复位:
MOV R1、#100
MOV R2、#0x101
BX R2
命令文件:

/*********
*
*德州仪器 TM4C123GH6PM 的默认链接器命令文件
*
*这是从 TivaWare 库的修订版15071衍生而来的。
*
(小部分 /

存储器

闪存(RX):origin = 0x00000000,length = 0x00040000
SRAM (rwx):origin = 0x20000000,length = 0x00008000

/*以下命令行选项作为 CCS 项目的一部分进行设置。 *
/*如果您使用命令行构建,或者出于某种原因想要*/
/*在此处定义它们,您可以根据需要取消注释并修改这些行。 *
/*如果您使用 CCS 进行构建、最好进行任何这样的构建*/
/*对 CCS 项目进行修改并将此文件保留为单独文件。 *
/**//
/*--heap_size=0 */
/*--stack_size=256 */
/*--library=rtsv7M4_T_le_eabi.lib */

/*内存中的段分配*/

部分

.intVec:> 0x00000000
.text:>0x100

配置文件:













  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    请尝试在 cmd 文件中使用--retain 保留.intVec 段。 有关 详细信息、请参阅 www.ti.com/.../spnu118r.pdf ARM 用户指南。
    另请尝试执行.text:> FLASH、看看这是否会产生影响。

    最后一点是、如果可以从汇编语言中创建 TM4C123项目的工作示例开始、请咨询教师。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好。

    我已进行了您建议的更改、错误的内存位置现已更改

    Cortex_M4_0:文件加载程序:验证失败:地址0x00000000处的值不匹配请验证目标存储器和存储器映射。
    Cortex_M4_0:GEL:文件:C:\Users\Michael\workspace_v7\ASMBlink\Debug\ASMBlink.out:发生数据验证错误、文件加载失败。
    Cortex_M4_0:错误:发生调试端口错误。

    我尝试了重新安装、删除并重新制作了所有内容-什么都不起作用。

    奇怪的是、它以前运行过一次-错误是链接器错误还是程序员错误? 配置文件是否会导致问题? 还是编程器本身?  

    编辑:

    我进入了项目选项并选择了要自动管理的配置-验证错误消失了、但端口错误仍然存在。

    让简单的汇编程序运行不会这么困难、CCS 似乎有问题(除非我缺少明显的东西)

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

    [引用 user="Michael Lowell">奇怪的是、它以前运行过一次-错误是链接器错误还是编程器错误? 配置文件是否会导致问题? 还是编程器本身?  [/引号]报告错误的地址是闪存中的有效地址。

    CCS 的完整版本号是多少?

     CCS 7.0.0中出现了错误 CCBT-2023、导致了某些程序的数据验证错误-请参阅 CCS/TM4C123GH6PM:某些 TiwaWare 示例在 CSS v6上工作、但在 CSS v7上不工作

     CCS 7.1.0中报告的错误 CCBT-2023已修复-请参阅 Code Composer StudioTmv7.1.0的发行说明

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

    感谢您提供这些信息、我使用的是 CCS 的当前版本。 今天早上、我启动了 CCS 并对其进行了编程、但仍然遇到调试端口错误。 然后、我累了一个不同的 asm 程序、并得到验证错误。 然后、我切换回原始程序、并在尝试再次调试时出现验证错误。  

    然后、我退出 CCS、使用闪存编程器将器件消隐、尝试使用原始程序进行调试、结果正常。 '

    我认为项目之间可能会在 CCS 中保存一些内容、并且使用不当。 我不知道如何找到它。  

    此外、您还想知道会导致调试端口错误的原因吗?  

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

    [引用 user="Michael Lowell">您是否还想知道导致调试端口错误的原因?我根据您的代码创建了附加项目。 使用 7.1.0.00016时、我确实会遇到调试端口错误、但程序会运行:

    Cortex_M4_0:GEL 输出:
    存储器映射初始化完成
    Cortex_M4_0:错误:发生调试端口错误。 

    而使用相同的程序 CCS 6.2.0.00050时不会出现调试端口错误。

    因此、CCS 7.1.0.00016中似乎存在问题

    e2e.ti.com/.../TM4C123_5F00_asm_5F00_example.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的检查、我很高兴我不是唯一遇到错误的人。 我们如何报告这种情况?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Michael Lowell">我们如何报告此情况?在 Code Composer Studio 论坛上报告问题。 建议您附加一个示例程序、该程序也会生成"File Loader:verification failed"错误。

    [引用 user="Michael Lowell"]代码:

    全局复位
    .sect "intVec"
    .word 10000
    .word Reset[/quot] 中断矢量表中的第一个数字10000设置堆栈指针值的初始值。 地址 10000在闪存中、对于堆栈指针无效、这将在尝试写入堆栈时导致硬故障。 初始堆栈指针应位于 RAM 中。 不确定这是否会导致您的任何其他问题、但在代码尝试在未首先设置有效堆栈指针的情况下使用堆栈时、只需提及此问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、是的、这是一个非常重要的价值。 我对这些值进行了一些处理、由于我在调整段的起始位置时不断遇到错误、因此 CCS 会执行一些操作。 我修改了我的命令文件、然后将其修改回、当它与我最初完全一样时、一切工作正常。

    我将前往他们的论坛、我不知道我的板加载不正确、或者 CCS 是否正在使用一些缓存文件并且不更新。

    此外、我注意到调试会话期间存储器地址0x80处的随机值、但我没有添加。