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.

[参考译文] MSP430FR5043:BSL 频率问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1080289/msp430fr5043-bsl-frequency-issue

部件号:MSP430FR5043

大家好,团队

客户提出的问题可能需要您的帮助:

根据数据表,BSL 的工作频率必须低于8 MHz 的主频率。 但客户在主板上的调试结果如下:

如果芯片始终在8 MHz (包括8 MHz)范围内运行,则 BSL 不会出现问题。 但是,如果芯片先以16 MHz 运行,然后在 BSL 之前降至8 MHz 以下,则 BSL 将失败。

发送默认密码时,将报告以下错误:

[ACK_ERROR_MESSAGE]未知的 ACK 值!

客户希望知道如何解决此问题。  请帮您检查此案例? 谢谢。

此致,

樱桃

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

    你好,Cherry,

    客户如何在从16MHz 切换后验证主频率为8MHz?

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

    您好,丹尼斯,

    感谢你的帮助。

    [引用 userid="114745" url="~ë/support/microsofts/MSP-low-Power-microsoft-group/MSP4E/f/MSP-low-Power-microcontroller-forum/1080289/msp430fr5043-BSL-frequence-issue/3999654#3999654"]客户如何验证主频率是否为8MHz[从16MHz/16MHz]

    客户使用 MSP430库中的 CS_getMCLK()函数验证频率。 修改频率后的轻微延迟表明该函数返回8000000。

    在使用 MSP432之前,他们一直使用这种方法来监控单片频率,并且它可以正常工作。

    另外还有一个问题:

    尝试使用外部16 MHz 晶体,结果是如果您使用 HFXT,BSL 无论如何都不会成功,并且必须满足以下条件,BSL 才能成功:

    A.在 BSL 之前,以8 MHz 切换到 DCO 和 MCLK。

    B. 单片机不能随时使用 HFXT,并将 MCLK 设置为16 MHz (即,它可以使用 HFXT 和8 MHz MCLK 初始化,并在需要 BSL 时切换到 DCO)。

    MCLK/SMCLK/ACLK 直接从单片针脚输出的频率是正确的,BSL 是通过程序中的软件调用输入的。

    谢谢,此致,

    樱桃

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

    切瑞, 当客户以16MHz 运行时,他们应该使用1等待状态。  当降低到8MHz 时,它们是否会重置等待状态=0?

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

    您好,丹尼斯,

    系统初始化如下:

    CS_setDCOFreq (CS_DCORLSE_1,CS_DCOFFSEL_4);//高范围和16MHz

     cs_initBlockSignal (CS_MCLK,CS_DCOCLK_SELECT,CS_clock _diver_1);
    cs_initBlockSignal (CS_SMCLK,CS_DCOCLK_SELECT,CS_clock _diver_2);

    FRCTL0 =(FRCTLPW | NWITS_1);

    …………………………………………………………………………

    当需要 BSL 时,在降低频率后,等待状态已重置为0。 但问题仍然存在,BSL 仍然无法运行。 代码如下:

    CS_setDCOFreq (CS_DCORLSE_1,CS_DCOFFSEL_3);//高范围和8MHz
    cs_initBlockSignal (CS_MCLK,CS_DCOCLK_SELECT,CS_clock _diver_1);
    cs_initBlockSignal (CS_SMCLK,CS_DCOCLK_SELECT,CS_clock _diver_1);
    //配置等待状态以使用8 MHz MCLK
    FRCTL0 =(FRCTLPW | NWITS_0);
    __delay_cycles (16000);
    __disable_interrupt ();//消除 INT8_ts 的回波
    ((void (*)) 0x1000);//跳到 BSL 的 Z 区域

    谢谢,此致,

    樱桃

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

    您好,

    我是否可以知道有任何更新?

    谢谢,此致,

    樱桃

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

    你好,Cherry,

    我正在尝试重复此问题。

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

    您好,丹尼斯,

    谢谢,期待这些更新。

    此致,

    樱桃

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

    你好,Cherry,

    我无法重复此问题。  它使用 MSPFET 编程器为我工作。  客户使用什么工具?

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

    您好,丹尼斯,

    感谢你的工作。

    他们还使用 MSPFET 编程器调试和下载代码,并使用普通的 USB 到串行电缆通过 UART 3端口连接到 BSL。

    是否仅在使用 MSPFET 时才需要为 BSL 从16 MHz 切换到8 MHz? 另一根电缆始终只能在8 MHz 下使用?

    谢谢,此致,

    樱桃

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

    您好,

    我是否可以知道有任何更新? 谢谢。

    此致,

    樱桃

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

    你好,Cherry,

    由于我无法重复此问题,客户能否尝试将代码大小降至绝对最小值,并查看问题是否仍然存在。  我附上了我的项目作为示例。

    e2e.ti.com/.../main_5F00_smallest_5F00_code_5F00_size.c

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

    你好,丹尼斯,

    非常感谢,一切都很好!

    请帮助您指出此勘误表的位置?  

    谢谢,此致,

    樱桃

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

    你好,丹尼斯,

    我是否可以知道我在上一次答复中是否有关于该问题的任何更新?

    谢谢,此致,

    樱桃

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

    你好,Cherry,

    请参阅设备 勘误表中的 CS12