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.

[参考译文] MSP-GANG:MSP-GANG430如何在使用 MSP430 dll 进行编程后验证器件/存储器校验和?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/771578/msp-gang-msp-gang430-how-to-verify-device-memory-checksum-after-programming-w-msp430-dll

器件型号:MSP-GANG
主题中讨论的其他器件: MSP430F2001

尊敬的 MSP430 Gang:

如何在使用 MSP430 dll 对 MSP430 w/ MSP-GANG 进行编程后验证器件校验和?  我看到该 API (VerifyPSAImageBlock)、但该 API 似乎 正在验证编程器上的映像是否正确、而不是编程到器件中的映像。  在 GUI 中查找与"Verify"按钮/步骤等效的内容。

参考(http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/332342)

谢谢、Merril

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

    我相信 MSPGANG_GET_Code_Info (whole_code_check_sum) API 会返回您所需的内容。 您能否进行测试和确认?

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

    [引用用户="JD Crutchfield]Hey Merril、

    我相信 MSPGANG_GET_Code_Info (whole_code_check_sum) API 会返回您所需的内容。 您能否进行测试和确认?

    谢谢、
    JD

    [/报价]

    MSPGAN_GET_Code_Info 似乎计算了我加载到编程器中的文件的校验和、而不是编程器件的内容。  我可以使用 MSPGANG_READ_Code_File、然后使用 MSPGANG_GET_Code_Info、它提供代码的校验和、校验和与 MSP-Gang GUI 中显示的校验和相匹配。   但是、当我这么做时、我没有将任何器件连接到编程器、因此它无法读取器件。

    供参考-我使用的是 MSP430F2001。

    然后、我尝试使用 MSPGANG_Interactive、Open_Target_Device、使用 MSPGANG_Interactive DefReadTargets (掩码:0x01、Start_addr:0xFC00、End_addr:0xFFFF)读取目标、然后使用 MSPGAN_GET_Code_Info。  但这始终返回校验和0。   我不确定如何将 MSPGAN_GET_Code 信息指向从器件读取的代码、而不是从 Read_Code 文件加载的代码。

    内部数据缓冲区是否与内部缓冲区不同? (请参阅下面两个 API 函数说明中的粗体文本)

    MSPGANG_Interactive DefReadTargets

    MSPGANG_Interactive DefReadTargets 同时从 Start_addr 读取所选目标器件(一到八个目标)的内容到 end_addr、并将其保存在内部数据缓冲区中

    MSPGANG_READ_Code_File

    MSPGANG_READ_Code_File 读取或附加代码文件或读取密码文件并将其保存在其内部缓冲区中。

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

    过程是:

    设置默认配置
    设置 MCU 名称
    设置配置
    读取代码文件
    设置温度配置(清除温度配置)
    设置临时配置(验证掩码)
    CreateGang 映像
    互动流程
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Kenny、

    我一直在与我们的一些工具专家交流。  正确、MSPGAN_GET_Code_info 仅检查 Gang 编程器上的固件映像、而不检查目标。  我仍在检查是否有一种方法可以在与 您建议的流程类似的交互模式下确定闪存校验和。    

    我确实发现,要使用 MSPGANG_MainProcess()仅运行验证过程,您必须使用 MSPGANG_SetTmpGANG_Config()函数配置 Gang,如下所示:

    MSPGANG_SetTmpGANG_Config (CFG_TMP_task_mask、(verify_task_bit + connect_task_bit));
    
    Error = MSPGANG_MainProcess (20);
    

    谢谢、

    JD

      

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

    验证任务位看起来与 MSP-Grang GUI 中的"所有存储器"等效。

    当通过 GUI 进行验证时、只有主存储器有存储器选项、但我似乎无法找到将在交互过程中启用此功能的位/掩码。

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

    仍在寻找有关此方面的帮助。

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

    我不确定如何使用交互过程指定存储器范围。 我已经向我的工具团队发送了另一条消息、以查看他们是否能够提供一些见解。 我可能需要1到2天的时间与他们进行讨论并得到回应。

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

    我仍在与团队讨论。 我们尚未找到明确的解决方案。 希望在1天或2天内收到回复。

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

    感谢您的更新、请随时向我发布。

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

    您好!

    可以使用函数在目标中读取校验和  

      MSPGANG_Interactive (long StartAddr、long EndAddr);

    应指定计算 CS 的起始地址和结束地址。 CS 与使用函数根据代码计算得出的 CS 不能相同

     MSPGANG_GET_Code_Info( parametre )例如 ,parameter -> whole_code_check_sum -> 8.,因为 MSPGANG_GET_Code_Info 正在计算代码文件中的指定数据,而忽略所有空位。 在闪存中、通常将空位编程为0xFF。

    使用代码验证闪存内容的最佳方法是将代码文件作为有效代码打开(与用于对 MCU 进行编程的代码相同)、并使用函数验证(类似于 GO)。 该函数将代码的已用 CS 部分与从闪存获取的代码的相同部分进行比较。 代码中的空内容(空-表示代码文件中未指定、而不仅仅是内容0xFF) 在闪存中未进行验证。 这意味着-如果某些数据如校准、修复表在编程期间被保存并且未被擦除、则不会被验证。

    如果没有代码文件、则无法使用代码验证 CS、因为代码文件中的差距未知。 因此-可以使用 MSPGANG_Interactive _CS (long StartAddr、long EndAddr)读取定义范围内的 CS;并检查 CS 在其他单元上是否相同。

    如果您有任何疑问、请告诉我。


    此致、
    Gregory Czajkowski
    Elprotronic Inc.
    gregory@elprotronic.com