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.

[参考译文] CC2652R7:使用UNIFLAASH CLI,图像验证时出错

Guru**** 2939240 points

Other Parts Discussed in Thread: CC2652R7, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1101207/cc2652r7-with-uniflash-cli-getting-error-while-image-verification

部件号:CC2652R7
主题中讨论的其他部分: UNIFLAASH

您好,

我正在使用CC2652R7。 我要将配置设置为启用“锁定调试接口”的设备编程。 我正在遵循 快速入门指南。 在“独立命令行”中,我创建了一个zip文件。 运行 “dslite.bat”后,编程成功,但在验证阶段,我在CLI上收到以下错误

验证程序:user_files/images/buttonled lP_CC2652R7_tirtos_CCS.out
正在准备...
文本:0x0处2.2648万的0
数据:0 of 88 at 0xaffa8:99 %
错误:Cortex_M4_0:文件加载器:验证失败:地址0x000AFFE6的值不匹配请验证目标内存和内存映射。
完成:99 %
失败:文件:user_files/images/buttonled lP_CC2652R7_tirtos_CCS.out:发生数据验证错误,文件加载失败。

问题1. 我只是想知道它是预期行为,因为 "锁定调试接口",还是应该允许验证,然后锁定设备?

请参阅流程的屏幕截图。

问题2. 我还想添加命令,首先擦除芯片,然后执行进一步操作。 如何做到这一点?

谢谢!

桑基特C

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

    您好,
    我已指派一名专家发表意见。

    此致,

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

    你好,桑基特:

    问题1:
    是的,使用“锁定调试接口”(或其它将覆盖CCFG的选项)时也会出现验证错误。 这是因为验证是针对源图像执行的(在您的情况下为user_files/images/buttonled _LP_CC2652R7_torrtos_CCS.out)。 源映像不包含锁定调试接口的已覆盖CCFG字段。
    如果启用“在程序加载期间使用CRC验证”选项,则在程序加载期间将验证闪存(使用修改的CCFG字段),并且验证步骤不是必需的。  
    如果要保留验证步骤且不存在验证错误,则需要源映像包含一个CCFG,该CCFG可锁定调试接口(并且不需要启用“锁定调试接口”选项)。

    问题2:
    如果您选择“所有未受保护的扇区”擦除选项,则芯片将在程序加载之前被擦除。 遗憾的是,如果调试接口被锁定,则此操作将不起作用。 如果需要使用锁定的调试接口擦除芯片,可以使用以下命令(如果使用XDS110调试探测器):

    dslite --mode cc13xx-cc26xx-mass-erase -d XDS110

    此致,
    Nikolaj

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

    感谢Nikolaj的回复。  

    对于上述陈述,我有一个问题

    如果启用“在程序加载期间使用CRC验证”选项,则在程序加载期间将验证闪存(使用修改的CCFG字段),并且验证步骤不是必需的。  

    问题3:如何删除或跳过验证步骤? 在dslite.bat中,我可以看到显示"无验证"的命令,但它仍进入验证阶段并给出错误。

    以下是dslite.bat中的命令

    set generated_command=-c user_files/configs/cc2652r7.ccXML -l user_files/settings/generated.ufsettings -s VerifyAfterProgramLoad="No verification"-e -f -v "user_files/images/buttonled_lP_CC2652R7_tos_CCS.out  

    如果启用“在程序加载期间使用CRC验证”选项,则在程序加载期间将验证闪存(使用修改的CCFG字段),并且验证步骤不是必需的。

    问题4: 是否可以在使用"在程序加载期间使用CRC验证"进行闪存验证时启用输出日志以获得确认。 在当前设置中,此选项已启用,我没有收到任何日志。

    此致,

    桑基特C  

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

    你好,桑基特:

    问题3:
    如果您删除-v选项(验证选项),则我希望将跳过验证步骤。 我不知道 VerifyAfterProgramLoad设置有什么作用,您在哪里读到过这方面的信息? 我认为  -s VerifyAfterProgramLoad="No verification"这 
    是没有必要的,可以删除。  
    因此,我认为这将有效:

    set GENERATED_COMMAND=-c user_files/configs/cc2652r7.ccxml -l user_files/settings/generated.ufsettings -e -f "user_files/images/buttonled_LP_CC2652R7_tirtos_ccs.out" 

    问题4:
    没有明确的日志表明CRC检查成功,但如果CRC检查失败,将会出现错误消息。
    可以通过在生成独立命令行之前启用UniFlash GUI中的详细设置来启用详细输出。 请参阅下文。

    您也可以编辑生成的设置文件(user_files/settings/generated.ufsettings)以将 FlashVerboseMode设置为true,或者通过添加 -s FlashVerboseMode="true"在命令本身中执行此操作。

    如果启用了CRC验证,并且FlashVerboseMode为true,则将获得类似如下的日志行:

    info: Cortex_M4_0:   Chunk 1: addr=0x00000000, length=8192, crc=0x07EE44A8 (using block 1)
     

    仅  当启用CRC验证时,行中的CRC字段才会包括在内。

    此致,
    Nikolaj