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.

[参考译文] TMS570LC4357:闪存验证错误。

Guru**** 2466550 points
Other Parts Discussed in Thread: TMS570LC4357, TMS570LS0432, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1064080/tms570lc4357-flash-verification-error

器件型号:TMS570LC4357
主题中讨论的其他器件: TMS570LS0432HALCOGEN
我收到闪存验证错误。 但我不理解我所阅读的任何回答!
我知道器件的存储器映射、但我在哪里修复它? 映射文件不是位置、因为它会被工具覆盖。

CortexR4:读取寄存器 PC 时出现故障:(错误-242 @ 0x0)无法访问路由器子路径。 电路板配置文件可能不正确。 (仿真包9.5.0.00143)
CortexR4:GEL 输出:闪存的存储器映射设置@地址0x0CortexR4:初始化闪存编程时出错:目标无法读取0xFFFFFFF0
CortexR4:加载程序:程序的一个或多个部分落入不可写的存储器区域。 这些区域实际上不会写入目标。 检查链接器配置和/或存储器映射。
CortexR4:文件加载程序:验证失败:地址0x00020100的值不匹配请验证目标存储器和存储器映射。

第一行是新的
这是器件的存储器映射。

以下是映射文件的内容:
名称源长度使用未使用的属性填充
------------ ---- ------ ---- ---- --------
向量00020100 00000020 00000020 00000000 X
内核00020120 00008000 00005558 00002aa8 R X
FLASH0 00028120 00037fe0 00012ab4 0002552c R X
堆栈08000000 00000800 00000000 00000800 RW
Kram 08000800 00000800 00000104 000006fc RW
RAM 08001000 00007000 00002a1e 000045e2 RW
据此、闪存为28120 + 37FE0 = 60100
但数据表将第一个闪存区域限制为60000字节、即减少100h 字节。
这是导致误差的原因吗? 如果是、如何解决? 我尝试编辑映射文件、但显然这不起作用、因为 CCS 会覆盖映射文件
您在哪里以及如何解决此问题? 或者还有另一个我不知道的问题?
我也在这里设定了限制、但我运气不好。 我仍然会得到相同的错误。

在上图中、我禁用了扇区9-11、因此闪存与数据表匹配、同样无效。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="494336" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1064080/tms570lc4357-flash-verification-error "]这是导致错误的原因吗?

    问题听起来像是程序大于闪存的大小。

    您能否确认:

    A.使用的是哪种器件? 线程标题中的器件型号为 TMS570LC4357、但显示 了 TMS570LS0432的数据表存储器映射。

    b.是否正在使用 HALCoGen、如果是、为 HALCoGen 项目选择了哪个器件? 如果超过了闪存的大小、我本来希望链接器报告错误、但 HALCoGen 器件选择会告诉 HALCoGen 在生成的链接器命令文件中指定的闪存大小。

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

    您好、Depeng、

    请您回答 Chester 的问题吗?  

    TMS570LS0432的闪存大小为0x60000、但代码大小为0x60100、超出有效范围。 这就是您遇到程序错误或验证错误的原因。

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

    他们声称代码太大。 但情况并非如此。 这是分配错误的。 我想知道在哪里设置内存分配、如果他们可以指向我。

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

    这来自您的映射文件:

    ------------ ---- ------ ---- ---- --------
    向量00020100 00000020 00000020 00000000 X
    内核00020120 00008000 00005558 00002aa8 R X
    FLASH0 00028120 00037fe0 00012ab4 0002552c R X
    堆栈08000000 00000800 00000000 00000800 RW
    Kram 08000800 00000800 00000104 000006fc RW
    RAM 08001000 00007000 00002a1e 000045e2 RW

    请更改 CMD 文件中 FLASH0的长度:

    FLASH0 (RX): origin=0x00028120 length=0x37ee0