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.

[参考译文] MSP430F5172:BSL 模式 UART 问题

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP430F5172, MSP430F5438A

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/970743/msp430f5172-bsl-mode-uart-issue

器件型号:MSP430F5172
主题中讨论的其他器件: MSP430F5438A

尊敬的 TI 团队:

我们使用 MSP430与 AMBA SoC 进行通信、通信接口为 UART。

当 SOC 升级 MCU 时、与 SOC 通信的代码是 BSL 模式代码。

我阅读了有关 BSL 的文档、其中指出 BSL 的 UART 设置是偶校验设置。

但我们 SoC 终端的 UART 设置没有奇偶校验。

我们想知道他们为什么仍然能够正常通信和升级?

Kirk Zhang /司机团队

串行通信

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

    你(们)好、Kirk

    你确定吗? 您能帮您捕获 UART 的一些波形吗?

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

    您好、Gary、

    是的、我确定。 在遇到 UART 通信问题之前、我们没有突出显示此详细信息。

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

    您好、Gary、

    到目前为止是否有任何更新?

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

    我有 Saleae、您可以将原始信号文件发送给我。

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

    您好、Gary、

    我问硬件工程师、他找不到文件、您能直接看一下我的屏幕截图吗?

    谢谢你。

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

    您好、Gary、

    在正常情况下、BSL   默认为偶校验、这意味着与 MCU 通信的 SOC 的 UART 设置必须具有偶 校验?

    否则 UART 通信将失败。

    对吗?

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

    是的、主机必须具有偶校验。

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

    您好、Gary、

    请帮我测试它吗? SoC 不启用偶 校验和 MCU BSL 通信。

    谢谢你。

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

    你(们)好、Kirk

    您可以在 BSL 用户指南 的第1.4节中找到这一点  

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

    您好、Gary、

    是的、我们已经看到了这个器件。 但是、我们的 SoC 通常可以与 BSL 进行通信、而无需 偶校验。 所以我们感到困惑。 因此、请帮助测试这种情况...

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

    你(们)好、Kirk

    我已经使用 BSL 源代码重新检查了、似乎我们没有检查奇偶校验位。 这是数据接收源代码。 它使用的是计时器 A、而不是硬件 UART

    char receiveByte()

    int bitCount = 9;//加载位计数器
    int dataByte = 0;
    TZNCCTL_RX = SCS + OUTMOD0 + CM1 + CAP;//同步、负边沿、电容
    while (!(TZNCCTL_RX & CCIFG));//等待第一个字符
    TZNCCTL_RX &=~Ω(CAP+CCIFG);//从捕捉切换到比较模式,关闭中断
    TZNCCR_RX += BitTime_5;
    while (bitCount >0)

    TZNCCR_RX +=位时间;
    TZNCCTL_RX &=~CCIFG;
    while (!(TZNCCTL_RX & CCIFG));//超时一个字符
    dataByte = dataByte >> 1;
    IF (TZNCCTL_RX 和 SCCI)//获取接收锁存中的等待位

    dataByte |= 0x100;

    bitCount --;

    返回(dataByte&0xFF);

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

    您好、Gary、

    您是说 CPU 为 BSL 配置 UART 设置时、BSL 会忽略奇偶校验位的 CPU 设置?

    或者在通信时、BSL 不检查奇偶校验位?

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

    你(们)好、Kirk

    BSL 不检查奇偶校验位。

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

    您好、Gary、

    是否可以将 BSL 模式设置为无奇偶校验位?

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

    是的、BSL 位于闪存存储器中、可对其进行重新编程。 我们还提供 BSL 的源代码,您可以更改 BSL 源代码并将其编程到 BSL 闪存中,有关操作步骤,请参阅文档

    e2e.ti.com/.../Download-_5F00_new_5F00_BSL_5F00_F5xx6xx.pdfe2e.ti.com/.../7077.Download_5F00_custom_5F00_BSL.pdf

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

    您好、Gary、

    BSL 源代码在哪里?

    我想补充一点、在我们生产的10、000块电路板中、大约1000块电路板的 UART 通信 CRC 验证失败出现问题。然后 CPU 侧打开 UART 设置中的奇偶校验功能、并可以进行通信。

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

    你(们)好、Kirk

    源代码位于此处 https://www.ti.com/tool/download/MSPBSL_CUSTOMBSL430 

    您可以使用 位于 C:\Myworks\Image_download\BSL\F5XX6XX_BSL\MSP430BSL_1_02_00_01\IAR_BSL_Source\IAR_v6_MSP430F543xA_TA_UART 的此版本

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

    您好、Gary、

    IAR_v6_MSP430F543xA_TA_UART 似乎只有.h 文件、而没有.c 文件。

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

    您好、Gary、

    您可以帮助我构建禁用奇偶校验的 BSL 映像吗?

    我想在我们的问题板上尝试一下。

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

    您好、Gary、

    我想在 CCS 上构建该项目。 我的芯片是 MSP430F5172、我应该导入哪个代码?

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

    你(们)好、Kirk

    您可以尝试 访问 e2e.ti.com/.../MSP430F543xA_5F00_TA_5F00_UART.txt

    我没有时间对其进行测试、您能帮您进行测试吗?

    这就是我在代码中更改的内容

    void sendByte (字符数据)

    Int tempData;
    int parity 掩码= 0x200;
    char bitCount = 0xA;//加载位计数器、8个数据+ ST/SP +奇偶校验
    TZNCCR_TX = TZNR;// TA 计数器的当前状态
    TZNCCR_TX +=位时间;
    // tempData = 0x200 +(int) data;//向数据添加标记停止位
    tempData =(int) data;//向数据添加标记停止位
    tempData = tempData << 1;
    //TZNCCTL_TX = OUTMOD0;

    while (bitCount!= 0)

    while (!(TZNCCTL_TX 和 CCIFG));
    TZNCCTL_TX &=~CCIFG;
    TZNCCR_TX +=位时间;
    TZNCCTL_TX |= OUTMOD2;// TX '0'
    IF (tempData & 0x01)

    // tempData ^=奇偶校验掩码;
    TZNCCTL_TX &=~ OUTMOD2;// TX '1'

    //奇偶校验掩码=奇偶校验掩码>> 1;
    tempData = tempData >> 1;
    bitCount --;

    while (!(TZNCCTL_TX 和 CCIFG));//等待计时器

    源代码位于此处   C:\Myworks\Image_download\BSL\F5XX6XX_BSL\MSP430BSL_1_02_00_01\IAR_BSL_Source\IAR_v6_MSP430F543xA_TA_UART

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

    您好、Gary、

    我能否使用 CCS 直接导入 MSP430BSL_1_02_00_01\ccs_BSL_Source\ccs_v7_MSP430F543xA_TA_UART?

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

    您好、Gary、

    我使用 您提供的映像和路径:C:\Users\11489\Desktop\MSP430BSL_1_02_00_01\Released_BSL_Images\MSP430F5438A_Family\BSL.00.07.05.04.txt、这两个映像甚至无法打开我们的摄像头 。  我们使用的 MCU 是 MSP430F5172、我是否应该使用 MSP430F5438A 中的内容? 我认为目前 BSL 似乎存在一些问题。

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

    你(们)好、Kirk

    您需要在固件末尾对部件进行脱体处理

    @FAE
    14 10.

    你试过这个吗?

    您能否必须获取捕获以查看失败的位置?

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

    您好、Gary、

    是的、我已经删除了它、但它也无法启动。

    是的、我有引导日志。

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

    该图像

    e2e.ti.com/.../7271.BSL.00.07.05.04.txt