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.

[参考译文] MSP430FR5859:MSP430FR5859

Guru**** 2538950 points
Other Parts Discussed in Thread: MSP-GANG, MSP430FR5859, MSP430FR5739

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/637778/msp430fr5859-msp430fr5859

部件号:MSP430FR5859
主题中讨论的其他部件:MSP-GangMSP430FR5739

对于此设备,是否可以使用CRC进行验证? 或不受支持?  

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该设备具有16位循环冗余检查器(CRC),如数据表的6.10 第15节和家庭用户指南的第15章所述,这是否可以回答您的问题?

    此致,
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我正在尝试植入"Verify_PSA"函数,但CRC不匹配。 这似乎都是正确的。 可能不支持此功能?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您正在使用什么编程工具和软件? 您能否更详细地解释您的问题?

    此致,
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我正在使用我的编程工具(FlashRunner LAN)并尝试开发此MSP430FR系列。 我可以编程和验证(读出),但不能验证CRC。 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我没有使用FlashRunner LAN的经验,但《MSP430 JTAG编程用户指南》详细介绍了PSA验证协议,请确保您的工具具有相同的功能: www.tij.co.jp/.../slau320z.pdf

    您还可以参考MSP-Gang资源以获取更多示例:
    e2e.ti.com/.../45.8438万
    processors.wiki.ti.com/.../MSP430_FAQ

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

    感谢您的支持。 在链接的pdf中,"verify_psa"位于闪存章节中,而不是FRAM中。 是否也可用于FRAM设备? 我不清楚。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    用于MSP430(X)体系结构的VerifyPSA/VerifyPSA_430X,用于MSP430Xv2体系结构的VerifyPSA_430Xv2 (包括FRxx器件)。 SLAU320的1.3 7节描述了两者之间的区别。

    此致,
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    适用于MSP430Xv2体系结构的VerifyPSA_430Xv2您确认它在MSP430FR5859上运行? 因为在我的测试中,设备读取的PSA_CRC值(在“IR_SHIFT_OUT _PSA”命令之后)始终是start_addres-2 (= PSA_CRC的起始值)。
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    也许,如果可能,您能否将Verify_PSA程序的整个示波器帧发送给我? 所以我可以尝试检查并复制到我的工具。

    谢谢。 此致

    Enrico

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我正在尝试联系一位工具团队成员,以帮助进一步解决您的问题。

    此致,
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们的工具团队正在请求您的PSA序列代码进行验证。

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

    //这是我的代码。 如果您需要更多信息,请向我咨询。 作为"JTAG_write_INSTR_REG","JTAG_SET_TCLK",...的命令适用于我们的FPGA,因此它是打包的数据。

    UINT16 READ_DATA,RECOD_DATA,ERROR_CODE;
    UINT16 *** = ***;
    PSA_CRC =(UINT16)(start_addr-2);

    IF(MSP430Xv2_EXECUTE_POR()!=RET_OK)//执行开机重置的函数

    IF (MSP430Xv2_Set_PC (start_addr)!=RET_OK)

    IF (JTAG_SET_TCLK()!=RET_OK)

    IF (JTAG_WRIT_INSTR_REG (IR_CNTRL_SIG_16BIT,NULL,***)!= RET_OK)

    IF (JTAG_WRITE16_DATA_REG (0x0501,空,脉冲关闭)!= RET_OK)

    IF (JTAG_WRIT_INSTR_REG (IR_DATA_16BIT,NULL,***)!=RET_OK)

    IF (JTAG_WRITE16_DATA_REG ((UINT16)(START_ADDR-2),NULL,***)!= RET_OK)

    IF (JTAG_write_INSTR_REG (IR_DATA_PSA,空,脉冲关闭)!=RET_OK)

    while (word_length)//while循环发送数据字

    字长--;
    if (!word_length)//最后一个读取周期

    puls_ENA=脉冲关闭;
    }
    IF (JTAG_SEND_PSA_CONF (PULSE_ENA)!=RET_OK)//将行设置为TI代码。 FPGA的命令

    ERROR_CODE=OS_DAT_READ (&REGESS_BUFFER[0],2);
    IF (ERROR_CODE!=RET_OK)

    IF (ERROR_CODE=FAT_EOF)//源文件结束

    程序数据=0xFFFF;
    }
    }
    否则{  
    程序数据=(UINT16) REDEST_BUFFER[0]|(((UINT16) REDEST_BUFFER[1])<8);
    }
    //计算PSA CRC
    MSP430_CALCULATE_PSA_CRC(REPS_DATA);//这将使用TI多项法计算PSA值

    IF (JTAG_Clear_TCLK()!=RET_OK)

    IF (JTAG_SET_TCLK()!=RET_OK)

    }

    IF (JTAG_write_INSTR_REG (IR_SHIFT_OUT _PSA,NULL,PULG_OFF)!=RET_OK)
    }
    //读取PSA值
    IF (JTAG_WRITE16_DATA_REG (0x0000,&READ_DATA,PULG_OFF)!= RET_OK)

    IF(MSP430Xv2_EXECUTE_POR()!=RET_OK)

    如果(READ_DATA!= PSA_CRC)//使用计算得出的PSA检查读取PSA

    返回(RET_OK); //结束
    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的新闻?
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已向您传递了代码,但尚未收到回复,更新将在可用时提供。

    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,是否可以获得正在工作的Verify_PSA程序的示波器图像? 所以我可以一步一步地和我的一起尝试复制你的。 因为我无法用仪器捕捉所有步骤。
    谢谢。
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    或者,您可以给我发送一个msp430fr5739的项目,以便我可以使用演示板测试Verify_PSA?
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我有为您提供的更新...对于msp430fr5739,我的代码正在工作,对于msp430fr5859,我的代码没有工作。 这是否可行? 为什么?
    谢谢
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    MSP430FR5859是一款大型内存模型器件,具有20位寻址和MSP430Xv2架构和指令。

    此致,
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用JTAG时一切正常工作;使用SBW时,我遇到了麻烦。
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,我希望问题按以下顺序出现:

    #ifdef SPYBIWIRE_MODE

    tmsh_tdih();
    tmsl_tdih();
    tmsl_tdih();
    tmsh_tdih();
    tmsh_tdih();
    tmsl_tdih();

    请给我发送一个示波器,说明此序列? 因为我正在尝试复制它,但不清楚。

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

    我使用Saleae Analyzer和Logic v 1.2 从SLAA754捕获MSP432 SBW复制器固件的逻辑数据,附件供您查看。 e2e.ti.com/.../MSP432_5F00_SBW.logicdata

    此致,Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这还包括写,ecc..或仅用于验证PSA? 我猜是第一个。 我对吗??
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它包含编程设备的整个SBW过程,包括写入设备内存的命令。

    此致,
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,我正在尝试解决这个问题。
    您是否可以尝试在逻辑数据中仅隔离以下代码部分?
    如果可以,我需要尽快。
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    DR_Shift16 (PSA_CRC);

    IR_Shift (IR_DATA_PSA);

    用于(I = 0;I <长度;I++)

    //计算PSA (伪签名分析)值
    如果((PSA_CRC和0x8000)= 0x8000)

    PSA_CRC ^= Poly;
    PSA_CRC <<= 1;
    PSA_CRC |= 0x0001;
    }
    否则

    PSA_CRC <<= 1;
    }
    //如果指针为0,则使用擦除检查掩码,否则使用数据
    &DataArray[0]==0? (PSA_CRC ^= 0xFFFF):(PSA_CRC ^= DataArray[I]);

    ClrTCLK();

    #ifdef SPYBIWIRE_MODE

    tmsh_tdih();
    tmsl_tdih();
    tmsl_tdih();
    tmsh_tdih();
    tmsh_tdih();
    tmsl_tdih();

    #否则
    //通过PSA时钟

    ClrTCK();

    SetTMs();
    SetTCK(); //选择DR扫描
    ClrTCK();
    ClrTMS();

    SetTCK(); //捕获灾难恢复
    ClrTCK();

    SetTCK(); //移动DR
    ClrTCK();

    SetTMs();
    SetTCK(); //退出DR
    ClrTCK();

    //将JTAG FSM设置回运行测试/空闲
    SetTCK();
    ClrTMS();
    ClrTCK();
    SetTCK();

    #endif
    SetTCLK();
    }

    IR_Shift (IR_SHIFT_OUT _PSA);
    /////////////////////////////////////////////////////////////////////////////////////////////
    谢谢
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法根据我对给定资源的有限经验联系应用报告的作者,但同时我建议您查看MSP432Host_SBW_MSP430FR项目的SBW430FR.c内的VerifyPSA_430Xv2函数。

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

    e2e.ti.com/.../25-MHz_2C00_-1-B-Samples-PSA.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这只是我通过Saleae捕获的验证PSA。 您需要更多信息?
    谢谢
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    附件是整个第一个VerifyPSA_4320Xv2函数的屏幕截图  。e2e.ti.com/.../VerifyPSA_5F00_430Xv2.logicdata

    此致,Ryan

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

    现在它开始工作了。

    谢谢。

    此致