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.

[参考译文] MSP430G2553:在定制电路板上未运行的示例

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1314237/msp430g2553-example-not-running-on-custom-board

器件型号:MSP430G2553

我设计了一个电路板、使用 MSP430通过 FTDI UART 转 USB 转换器与计算机相连。 我将以位绑定模式使用 GPIO 访问 BSL、然后使用弃用的 BSLDEMO 对器件进行编程。 编程后、我希望使用切换开关访问 MSP430的 USCI 端口。 我多次尝试使用以下声明的不同版本对设备进行编程:

BSLDEMO-2.01c.exe -CCOM*-M1 -ijevpr ${BuildArtifactFileBaseName}.txt

最终成功的方法是:

BSLDEMO-2.01c.exe -cCOM10 -M1 +evpr ${BuildArtifactFileBaseName}.txt
 

我的问题是 、当我运行 TI 代码示例库中的 msp430g2xx3_uscia0_uart_01_9600.c 文件时、我在终端上什么也得不到。 我担心我可能会意外删除我的信息存储器。 我该怎么办? 是否有方法可以检查我是否擦除 CALBC1_1MHZ?

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

    我的经验是、使用 BSL 意外擦除校准常量(InfoA)非常容易、因为它(有意)会清除 LOCKA、因此批量擦除(例如密码 GOOF)会擦除 InfoA。 如果是这样,你的程序在 while (1)在 main ()的第4行旋转。

    下一步可能是尝试运行一个更简单的程序(例如 msp430g2xx3_1.c)、以确保下载序列中的所有其他内容都正常。  

    此外:您是否具有对 TEST/RST (SBW)引脚的物理访问权限? 如果您有 G2 Launchpad、则可以在不使用 BSL 的情况下使用它们进行编程/调试、至少在您开始之前。

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

    我运行了  msp430g2xx3_1.c、我可以看到 P1.0进行切换(不是良好的时钟信号、更加零星)。 下一步应该是什么? 是否可以在没有 InfoA 的情况下运行 UART/ADC 程序? 应该是什么? 对于我的电路、它是否可以恢复?

    TEST/RST 连接到 FT230X GPIO、因此我可以使用原理图中的 U3运行它们。 我没有 LaunchPad

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

    我的观察结果是、F2器件上的未校准 DCO 运行频率可能为0.9 -1.1 MHz、且会因各个芯片而异。 这对于 UART 而言不够精确。 您可以使用某种自动波特率机制来调整位速率(BR0/MCTL)。

    ADC 通常由 ADC10OSC (~5MHz)运行、该 SOC 独立且本身不是很准确(我模糊地记得是10%)、因此 ADC 可用时钟工作正常。

    示例 msp430g2xx3_DCO_flashcal.c 重新计算(DCO)校准常数。 它通过根据外部(假定)高质量时钟信号动态调整 DCO、然后存储结果来实现这一点。 根据编码、此信号来自 LFXT1振荡器(通过 ACLK)、假定该振荡器连接到您没有的32kHz 晶体(XIN/XOUT)。 看到程序正在执行什么操作后、很容易想象使用不同的输入信号来执行相同的过程、但我还没有尝试过。

    我不知道如何重新计算 ADC 校准常数。 校准生成的输出信号可能更容易。

    如果您不确定、DCO 校准常数无法从其他芯片移植(我已尝试)。

    主动提供:G2ET Launchpad 非常便宜(Mouser 为13美元)、可能会为您节省一些调试时间。

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

    我懂了。 更换我拥有的 MSP430似乎更容易一些。 您能否确认我当前使用的命令是否擦除信息存储器? 我真的不明白 BSLDEMO 命令。。。

    BSLDEMO-2.01c.exe -cCOM10 -M1 +evpr ${BuildArtifactFileBaseName}.txt

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

    10多年前、我调查了 G2 BSL、因此忘记了细节。 我不记得(并且似乎无法找到)这些选项是什么。 我们最终找到了另一种方法来做我们需要的事情(风险太多)。

    对于 F2/G2 BSL、批量擦除始终擦除 InfoA。 密码错误会触发批量擦除。 除非您非常小心、否则您可能不知道正确的密码。 BSL (我不知道 BSLDEMO)可以由闪存段(512字节)擦除、而不擦除 InfoA、但这需要密码。 Cat-22出现。

    您可在没有经校准 DCO 的情况下完成大量应用、但那些需要准确真实定时的应用却十分困难。  

    看了这么多年的论坛,似乎有些人已经能够使这一工作做得很好。 你可以尝试搜索 BSLDEMO2、看看人们遇到了什么以及他们是如何处理的。 请务必关注 F2/G2器件、因为其他产品系列(如 F1、F4、F5)的工作方式不同。