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.

[参考译文] UNIFLASH:UniFlash F2800133 加载成功、但验证错误

Guru**** 2873840 points

Other Parts Discussed in Thread: UNIFLASH, C2000WARE, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1622948/uniflash-uniflash-f2800133-load-success-but-verify-error

器件型号: UNIFLASH
Thread 中讨论的其他器件: C2000WARESysConfig

您好:

我在使用 UniFlash Load 和 Verify F2800133 程序时遇到问题。

你能解释和找出原因吗?

详情如下:

 

UniFlash:版本:9.4.1.5566  

 

1、将工程导入 CCS12.8.1 并进行构建。 (来自 C2000Ware_4_03_00_00、示例 GPIO_ex2_toggle)

  (通用/配置:CPU1_FLASH)  

2、使用 UniFlash 加载并验证程序到 F2800137 PCBA ,两者都是成功的。       

3、将 DSP 更改为 F2800133(修改 cmd 文件、cxxml 文件、syscfg...)

4、使用 UniFlash 将程序加载并验证到 F2800133 PCBA:

  加载映像:成功

  验证图像: 错误:

    【错误】C28xx_CPU1:文件加载程序:验证失败:地址为 0x080000@Program Do 的值        不匹配(预期值:0x0048、实际值:0x0000)请验证目标存储器和存储器映射。  

PS:DSP 可以切换 GPIO 偶数验证错误。

5、关闭电源、然后打开电源、验证图像: 成功。

6、或选中“Run Target After Program Load/Flash Operation“加载并验证成功。

 

PPS:通过 CCS 进行调试,检查内存浏览器,地址 0x080000 处的值为 0x0048。

 

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

    您好 Jacky、
    如果您有任何疑问、我们会尽快回复您。
    此致、
    Lakshya

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

    尊敬的 Lakshya:

    感谢您的回复、

    复制以下 cmd 文件的内容以了解更多信息:

    移动数据

    begin:origin = 0x00080000、length = 0x00000002
    BOOT_RSVD:origin = 0x00000002、length = 0x00000126

    RAMM0:原点= 0x00000128、长度= 0x000002D8
    RAMM1:origin = 0x00000400、length = 0x000003F8
    // RAMM1_RSVD:origin = 0x000007F8、length = 0x00000008 /*根据勘误表公告“存储器:在有效存储器之外预取“保留并不用于代码*/

    RAMLS0:origin = 0x00008000、长度= 0x00002000
    RAMLS1:origin = 0x0000A000、length = 0x00001FF8
    // RAMLS1_RSVD:origin = 0x0000BFF8、length = 0x00000008 /*根据勘误表公告“内存:在有效内存之外预取“保留并不用于代码*/

    重置:origin = 0x003FFFC0、length = 0x00000002

    /*闪存扇区*/
    FLASH_BANK0_SEC_0_7:origin = 0x080002、length = 0x1FFE /*片上闪存*/
    FLASH_BANK0_SEC_8_15:origin = 0x082000、length = 0x2000 /*片上闪存*/
    FLASH_BANK0_SEC_16_23:origin = 0x084000、length = 0x2000 /*片上闪存*/
    FLASH_BANK0_SEC_24_31:origin = 0x086000、length = 0x1FF0 /*片上闪存*///length = 0x2000 -> 0x1FF0 //jacky 修改以确保安全

    //jacky mask 下面

    // FLASH_BANK0_SEC_32_39:origin = 0x088000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_40_47:origin = 0x08A000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_48_55:origin = 0x08C000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_56_63:origin = 0x08E000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_64_71:origin = 0x090000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_72_79:origin = 0x092000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_80_87:origin = 0x094000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_88_95:origin = 0x096000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_96_103:origin = 0x098000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_104_111:origin = 0x09A000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_112_119:origin = 0x09C000、length = 0x2000 /*片上闪存*/
    // FLASH_BANK0_SEC_120_127:origin = 0x09E000、length = 0x1FF0 /*片上闪存*/

    ////// FLASH_BANK0_SEC_127_RSVD:origin = 0x0A0FF0、length = 0x0010 /*根据勘误表公告“存储器:在有效存储器之外进行预取“、保留并不用于代码*/
    }

    很重要

    codestart:> begin

    //.text:>> FLASH_BANK0_SEC_8_15 | FLASH_BANK0_SEC_16_23 | FLASH_BANK0_SEC_24_31、ALIGN (8)//Jacky 掩码
    .text:>> FLASH_BANK0_SEC_8_15 | FLASH_BANK0_SEC_16_23、ALIGN (8)//jacky add

    .cinit:> FLASH_BANK0_SEC_0_7、ALIGN (8)
    .switch:> FLASH_BANK0_SEC_0_7、align (8)

    .reset:> reset、type = DSECT /*未使用、*/

    .stack :> RAMM1

    #if defined (__TI_EABI__)
    .bss :> RAMLS0
    .bss:output :> RAMLS0
    .init_array:>> FLASH_BANK0_SEC_0_7、ALIGN (8)
    .const:>> FLASH_BANK0_SEC_24_31、align (8)//FLASH_BANK0_SEC_32_39 //jacky modify
    .data :> RAMLS0
    .sysmem :> RAMLS0
    .bss:CIO:> RAMLS0
    #else
    .pinit:>> FLASH_BANK0_SEC_0_7、ALIGN (8)
    .ebss :> RAMLS0
    .econst:>> FLASH_BANK0_SEC_24_31、ALIGN (8)//FLASH_BANK0_SEC_32_39 //jacky modify
    .esysmem :> RAMLS0
    .CIO:> RAMLS0
    #endif

    #if defined (__TI_EABI__)
    .TI.ramfunc:load = FLASH_BANK0_SEC_0_7、
    RUN = RAMLS0、
    LOAD_START (RamfuncsLoadStart)、
    load_size (RamfuncsLoadSize)、
    LOAD_END (RamfuncsLoadEnd)、
    RUN_START (RamfuncsRunStart)、
    RUN_SIZE (RamfuncsRunSize)、
    RUN_END (RamfuncsRunEnd)、
    对齐 (8)
    #else
    .TI.ramfunc:load = FLASH_BANK0_SEC_0_7、
    RUN = RAMLS0、
    LOAD_START (_RamfuncsLoadStart)、
    load_size (_RamfuncsLoadSize)、
    LOAD_END (_RamfuncsLoadEnd)、
    RUN_START (_RamfuncsRunStart)、
    RUN_SIZE (_RamfuncsRunSize)、
    RUN_END (_RamfuncsRunEnd)、
    对齐 (8)
    #endif

    /*分配 IQ 数学区域:*/
    IQMath:> FLASH_BANK0_SEC_24_31、ALIGN (8)//FLASH_BANK0_SEC_32_39 //jacky 修改
    IQmathTables:> FLASH_BANK0_SEC_24_31、align (8)//FLASH_BANK0_SEC_32_39 //jacky modify
    }

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

    您好、

    感谢您分享详细信息。 根据观察到的行为、这似乎并不是明显的编程失败、因为映像加载成功、GPIO 可以正确运行、正如您提到的、CCS 内存浏览器会在地址 0x080000 处显示预期值 (0x0048)。

    由于问题在修改 F2800133 的 F2800137 示例后出现、因此在转换期间可能错过了某些特定于器件的更改。 此外、由于验证操作在下电上电后或启用“Run Target After Program Load/Flash Operation“后成功、因此它可能与编程后立即进行的立即验证/回读条件、而不是实际的闪存编程故障有关。
    我建议直接使用原生 F2800133 示例、而不是移植 F2800137 示例。

    此致、
    Lakshya

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

    尊敬的 Lakshya:

    感谢您的答复。

    我从 C2000Ware 导入示例、输入 F2800137 示例、我可以获取 F2800133 示例吗?

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

    您好 Jacky、
    对不起,我忘记他们都属于同一个家庭。 两者都位于 f280013x 文件夹中。

    我有一个问题,当你开始新鲜。 就像直接导入 SDK 示例并直接选择 133 配置一样
    你是否仍然面临这一核查问题?



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

    尊敬的 Lakshya:

    我的项目从直接导入 SDK 示例开始、然后 在 137 PCBA 处加载并验证成功、

    然后我将 137 更改为 133、然后在 133 PCBA 出现问题、

    你可以尝试在你的身边吗?

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

    您好 Jacky、
    目前我没有 133 个、我需要先订购才能测试此问题。 完成这项工作大约需要 1 周时间。
    请问您是否在一段时间内遇到过此问题、或者此问题是否反复出现?

    也许我也知道你正在使用什么确切的 133 板,我会订购那一个用于测试  


     

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

    Lakshya、

    下午好、

    该问题是 反复出现的,它每次都发生.

    133 板是我们的产品的 PCBA,你不能订购它,对不起。

    PS:137 板也是我们的产品,它没有问题,几乎是大规模生产。

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

    BTW 、137 为 64 引脚 LQFP、133 为 48 引脚 LQFP。

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

    Jacky、  
    如果直接导入项目并将其配置为 133 而不是 137、然后在 133 上刷新。
    在 133 上直接刷新时、您是否仍然面临此问题。

    要么只有在您需要时才会发生
     
    导入工程并将其配置为 137、然后在 137 上刷写  
    然后将配置更改为 133 并在 133 上刷新。
    此问题仅在您执行此操作时发生?


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

    Lakshya、

    我很 困惑,你问什么,

    你能再读一遍我的问题吗?  我给了详细步骤 YB 步骤.

    或者您能否将问题发送给 UNIFLASH 团队寻求帮助?

    PS:C2000Ware 示例适用于 137(默认配置为 137)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您直接导入项目并将其配置为 133 而不是 137、然后在 133 上刷新。

    Lakshya — 您能解释一下这意味着什么吗? 工程显示为 F2800137 设置、并且显示为灰色、因为工程由 SysConfig 管理:

    您是指将 SysConfig 文件迁移到 F2800133 吗?

    3、将 DSP 更改为 F2800133(修改 cmd 文件、cxxml 文件、syscfg ...)

    Jacky — 假设您打开了 SysConfig 文件并迁移到 F2800133?

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1、将工程导入 CCS12.8.1 并进行构建。 (来自 C2000Ware_4_03_00_00、示例 GPIO_ex2_toggle)

    另请注意、您使用的是支持方面已弃用的旧版本 CCS 和 SDK。 最好转到当前版本。

    谢谢

    Ki

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

    KI、  

    我在 sysconfig 中将 DSP 更改为 133、并更改 cmd 文件和 cxxml 文件、

    (我使用 XDS200U)

    我们将 CCS12.8-1 和 C2000Ware_4_03_00_00 用于另一个工程切换使用 F2800137。 这个工程没有问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    I 将 SysConfig 中的 DSP 更改为 133、同时更改 cmd 文件和 cxxml 文件

    您能否在迁移后提供该项目? 如果您愿意、可以通过私人 E2E 消息发送。

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

    抱歉、我的计算机已加密

    你能按照我的 septs 检查你是否得到同样的错误?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1、将工程导入 CCS12.8.1 并进行构建。 (来自 C2000Ware_4_03_00_00、示例 GPIO_ex2_toggle)

    我尝试使用相同的 SDK 版本和 CCS 版本导入示例。 然后我做了同样的你下面:

    I 将 SysConfig 中的 DSP 更改为 133、同时更改 cmd 文件和 cxxml 文件

    在 CCS 12.8.1 和 UniFlash 9.4.1 中、我可以毫无错误地刷写 F2800137 LaunchPad。

    我没有要测试的 F2800133。

    Lakshya — 你能重现这个吗?