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-FET430UIF:MSP-FET430UIF 工具可对 MSP430F2013内部闪存进行刷写

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/847721/msp-fet430uif-msp-fet430uif-tool-trashes-msp430f2013-internal-flash

器件型号:MSP-FET430UIF
主题中讨论的其他器件: MSP430F4618MSP430F2013MSP-FETMSP-EXP430FG4618MSP430-FLASHER

我报告了一个 CCS 无法检测到我的 MSP-FET430UIF 的问题、尽管我遵循了 TI 支持向我提供的建议、但我无法解决这个问题。

我目前正在将 MSP-FET430UIF 与 MSP430F4618试验板一起使用。

我使用的是具有最新 MSP-elf-gcc 工具链(8.3.0.16)的 Ubuntu 19.10笔记本电脑

在跳过多个 HOPS 之后、我成功地使用 mspdebug 使所有内容正常运行、现在正在尝试使用一组软件包来配置我自己的基于 Emacs 的自定义 IDE、因为 CCS 对我来说是一个不可执行的操作、并导致我的笔记本电脑崩溃。

我现在面临一个非常难看的情况、在我看来、MSP-FET430UIF 工具已经以某种方式损坏了试验板上 MSP430F2013中的引导加载程序。

我已经阅读了很多关于类似问题的文章、其中似乎安全保险丝已经熔断、但是需要对片上闪存进行整体擦除。

由于 MSP430F2013没有串行 UART、因此无法推荐连接特殊电路并解决此问题的方法。

因此、我决定切换到第二个完全相同且全新的 MSP430F4618实验板。

由于我在此阶段的目标只是让我的工具链和调试环境可靠地工作、因此我只使用了一个简单的 blink.c 来执行我的测试:

#include

int main (void){
   WDTCTL = WDTPW | WDTHOLD;      //停止看门狗计时器
   P1DIR |= 0x01;                //将 P1.0设置为输出方向

   for (;;){
       volatile unsigned int i;   // volatile 以阻止优化

       P1OUT ^= 0x01;             //使用异或切换 P1.0

       I = 10000;                // SW 延迟
       我----
       while (i!= 0);
   }

   返回0;

我在做一些测试、使用 MSPDEBUG 作为存根、并连接 GDB。

经过多次测试、设置断点、运行并刚刚使用命令和选项后、我注意到、每次我加载 blink.out 并运行它时、它看起来像是设置了断点并且正在停止。 我终于重新启动了笔记本电脑并对电路板进行了下电上电、发现我的第二个实验板也发生了同样的情况。

在我看来很明显、损坏是由一些边际时序问题造成的、与在 MSP430F2013上将 MSP-FET430UIF JTAG 一起使用 Spy-bi-Wire 接口相关。

MSP-FET430UIF 工具的修订版本为1.4a。

我想请 TI 向我发送一个替换 FET 工具和两个试验板、它们都能可靠地工作。

提前感谢您。

Jonathan Roberts

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

    您好、Jonathan、

    很抱歉、您在使用该工具时遇到了太多问题。 让我做一些研究、然后通过解决方案返回给您。

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

    尊敬的 Dennis:

    感谢您回来。

    我期待你对这一问题的解决作出答复。

    谢谢、此致、

    Jonathan

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

    您好、Jonathan、

    对延迟答复表示歉意。  我花了一段时间来跟踪这个实验板。

    作为参考、我能够使用电路板上的 CCS 对您提供的代码片段进行编程和调试。

    我的第一个问题是在您加载闪烁之后。输出您表示代码似乎停止(即 LED 停止闪烁)。

    是否连接了调试器?  如果已连接、您是否已尝试卸下调试器并使用外部电源为电路板供电、并查看是否存在相同的问题?

    我提出这一问题的原因是、如果 JTAG 保险丝在此器件上熔断、MSP-FET 将无法对器件进行编程、并将提供错误消息或返回代码、指示编程未成功。  听起来您仍然能够对器件进行编程。

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

    尊敬的 Dennis:

    感谢您再次与我联系并确认您可以将代码加载到电路板上。

    在回答您的问题时、即使由外部电源供电、LED 也会停止完全闪烁。

    所以、是的、没错、我确实能够对 MSP430F2013进行编程。

    自从我们开始讨论以来、我担心编译器或配置有问题、并决定使用 TI 云工具进行测试。

    我使用 TI 编译器生成了 blink.hex 文件、并使用 mspdebug 加载该文件。 以下是响应:

    ============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    MSPDebug 0.25版-用于 MSP430 MCU 的调试工具
    版权所有(C) 2009-2017 Daniel Beer
    这是免费软件;请参阅复印条件的来源。  没有
    保修;甚至不适用于适销性或特定用途的适用性。
    来自 MSP430.dll v3.13.0.601的芯片信息数据库版权所有(C) 2013 TI、Inc.

    正在尝试以460800 bps 打开/dev/ttyUSB1 ...
    正在初始化 FET...
    FET 协议版本为20408002
    设置 Vcc:3000mV
    配置为 Spy-Bi-Wire
    器件 ID:0xf201
     代码起始地址:0xf800
     代码大小        :2048字节=2KB
     RAM 起始地址:0x200
     RAM 结束  地址:0x27f
     RAM 大小        :128字节= 0KB
    器件:MSP430F20x3
    断点数量:2.
    FET:FET 返回 NAK
    警告:器件不支持功耗性能评测
    芯片 ID 数据:
     ver_id:        01f2
     ver_sub_id:    0000
     版本:      30
     制造:           40
     自身:          0000
     配置:        03
     保险丝:         00
    器件:MSP430F20x3

    可用命令:
       !!               填充           功率          setwatch_r      
       =              gdb            prog           setwatch_w      
       别名          帮助           读取           simio           
       Blo_JTAG_fuse 六         角           规则步骤            
       中断          搜索        重置          sym             
       cgraph         加载           运行            验证          
       delbreak       load_raw       save_raw       verify_raw      
       DIS            MD             套件             
       擦除          MW             设置中断        
       退出           opt            setwatch        

    可用选项:
       颜色                      gdb_loop                    
       ENABLE_BSL_ACCESS          gdbc_xfer_size              
       ENABLE_FUSE_FLOW           IRadix                      
       enable_locked_flash_access lowercase_dis               
       FET_BLOCK_SIZE             安静                       
       gdb_default_port            

    键入"help "以了解更多信息。
    使用"opt"命令("help opt")设置选项。
    按 Ctrl+D 退出。

    (mspdebug)加载 blink.hex
    正在  F800处写入72字节...
    正在   将8个字节写入 ffe4...
    正在   将6个字节写入 fff0...
    在   fffc 写入4个字节...
    已完成、总共90字节
    (mspdebug)运行
    运行。 按 Ctrl+C 键中断...
       (PC:0f800) (R4:07f22) (R8:033aa) (R12:0f3a7)  
       (SP:009c1) (R5:0709e) (R9:0d2bb) (R13:043f7)  
       (SR:00000) (R6:0f3fb) (R10:0474a) (R14:07b77)  
       (R3:00000) (R7:0ed94) (R11:0773f) (R15:0c72e)  
    0xf800:
       0f800:00 BRA                        @PC
       0f802:00 BRA                        @PC
       0f804:20 00 00              BRA    &0x0000
       0f808:00 00                    BRA    @PC
       0f80a:00 BRA                        @PC
       0f80c:00 BRA                        @PC
       0f80e:20 00                     
    (mspdebug)

    ============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    您可以看到、它正在加载代码、但在我输入 run 命令时立即停止。

    我一直在尝试各种操作以达到此目的的底部、现在我正在尝试让 MSPFlasher 在 Ubuntu 下运行。

    我在处理了 Makefile 文件并定义了 LD_RUN_PATH 环境变量之后、设法从源代码编译它、以指向 libmsp430.so 库文件。

    但是、我在使用 MSPFlaser 和 CCS 工具以及云工具时发现的问题是、这些工具都无法检测到我的 MSP-FET430UIF 工具、而 mspdebug 会发现它并正常工作。

    就在不久之前、在 MSPFlasher 运行后、当我使用各种不同的"触发器"尝试它时、它根本无法检测到 FET 工具、并返回:

    ============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    Jona@bimbo:~/ti/msp430/boards/msp-exp430fg4618/2013-test msp430-flaser -i detect
    *---- /|-------------------------------------------------------- *
    *    /|_                                                                  *
    *   //MSP    Flasher v1.3.2                                            *
    *     |/                                                                   *
    *---- |/---------------------------------------------------------- *
    *
    *评估触发器...完成
    *执行 FET 检测扫描:
    *找不到任何连接的 USB FET!
    *断电...完成
    *正在从设备断开连接...完成
    *
    ***********************************************************************************************。
    *驱动程序     :已关闭(MSP DebugStack 未初始化)
    ***********************************************************************************************。
    *
    Jona@bimbo:~/ti/msp430/boards/msp-exp430fg4618/2013-test
    ============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    我不理解这些消息、因为我不理解如何返回:

    *断电...完成
    *正在从设备断开连接...完成

    如果它刚才回答了:

    *找不到任何连接的 USB FET!

    ============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    这使我对用于编写此工具的代码的质量持怀疑态度。

    虽然这对我来说是一个很好的学习体验、但在许多方面、我在 MSP430的编程方面没有取得任何进展。

    感谢您持续提供的帮助和支持。

    此致、

    Jonathan

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

    此主题已在以下主题中解决: