打印

MSP430下载一次之后不能再下载!!!!

[复制链接]
2967|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xqy281|  楼主 | 2015-10-10 16:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
情况是这样的,这几天刚上手MSP430F247然后试着熟悉一下。
接着邪恶的事情就发生了,下载官方的时钟配置实例程序,第一次下载很成功接着就再也下载不了了:'(:'(

时钟是配置VOL的。我也不懂刚上手,迷迷糊糊就干掉了5个片子。

哪位大神出来指导指导啊!!(这样的开发代价太高了啊)

附送邪恶代码一份(有勇气的人可以尝试一下):
/* --COPYRIGHT--,BSD_EX
* Copyright (c) 2012, Texas Instruments Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* *  Redistributions of source code must retain the above copyright
*    notice, this list of conditions and the following disclaimer.
*
* *  Redistributions in binary form must reproduce the above copyright
*    notice, this list of conditions and the following disclaimer in the
*    documentation and/or other materials provided with the distribution.
*
* *  Neither the name of Texas Instruments Incorporated nor the names of
*    its contributors may be used to endorse or promote products derived
*    from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*******************************************************************************
*
*                       MSP430 CODE EXAMPLE DISCLAIMER
*
* MSP430 code examples are self-contained low-level programs that typically
* demonstrate a single peripheral function or device feature in a highly
* concise manner. For this the code may rely on the device's power-on default
* register values and settings such as the clock configuration and care must
* be taken when combining code from several examples to avoid potential side
* effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware
* for an API functional library-approach to peripheral configuration.
*
* --/COPYRIGHT--*/
//******************************************************************************
//  MSP430x24x Demo - Software Toggle P1.0, MCLK = VLO/8
//
//  Description; Pulse P1.0 with a 1/100 active duty cycle using software.
//  Ultra-low frequency ~ 1.5kHz, ultra-low power active mode demonstrated. All
//  the 6 I/O ports are configured as low outputs to eliminate floating inputs.
//  ACLK = VL0, MCLK = VLO/8 ~ 1.5kHz, SMCLK = n/a
//
//                MSP430F249
//             -----------------
//         /|\|              XIN|-
//          | |                 |
//          --|RST          XOUT|-
//            |                 |
//            |             P1.0|-->LED
//            |        P5.4/MCLK|-->MCLK = VLO/8
//            |        P5.6/ACLK|-->ACLK = VLO
//
//  B. Nisarga
//  Texas Instruments Inc.
//  July 2007
//  Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.42A
//******************************************************************************
#include <msp430.h>

volatile unsigned int i;                    // volatile to prevent optimization

int main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  BCSCTL3 |= LFXT1S_2;                      // LFXT1 = VLOCLK
  IFG1 &= ~OFIFG;                           // Clear OSCFault flag
  
  __bis_SR_register(SCG1 + SCG0);           // Stop DCO
  BCSCTL2 |= SELM_3 + DIVM_3;               // MCLK = VLO/8
  
  P1DIR = 0xFF;                             // All P1.x outputs
  P1OUT = 0;                                // All P1.x reset
  P2SEL = 0;                                // All P2.x GPIO function
  P2DIR = 0xFF;                             // All P2.x outputs
  P2OUT = 0;                                // All P2.x reset
  P3DIR = 0xFF;                             // All P3.x outputs
  P3OUT = 0;                                // All P3.x reset
  P4DIR = 0xFF;                             // All P4.x outputs
  P4OUT = 0;                                // All P4.x reset
  P5DIR = 0xFF;                             // All P5.x outputs
  P5OUT = 0;                                // All P5.x reset
  P6DIR = 0xFF;                             // All P6.x outputs
  P6OUT = 0;                                // All P6.x reset
  
  P5SEL |= 0x50;                            // P5.4= MCLK option select
                                            // P5.6= ACLK option select
  for (;;)
  {
    P1OUT |= 0x01;                          // P1.0 set
    for (i = 10; i > 0; i--);               // Delay 1x
    P1OUT &= ~0x01;                         // P1.0 reset
    for (i = 1000; i > 0; i--);             // Delay 100x
  }
}
第一次用msp430就遇上这种事也是很闹心的啊!:'(:'(:'(

相关帖子

沙发
xqy281|  楼主 | 2015-10-10 16:15 | 只看该作者
顶起来

使用特权

评论回复
板凳
dirtwillfly| | 2015-10-10 16:27 | 只看该作者
越是刚开始用越容易出这类奇葩问题,淡定啊

使用特权

评论回复
地板
dirtwillfly| | 2015-10-10 16:29 | 只看该作者
你用的什么烧写工具?

使用特权

评论回复
5
xqy281|  楼主 | 2015-10-10 16:29 | 只看该作者
用的IAR版本是6.3的!

使用特权

评论回复
6
dirtwillfly| | 2015-10-10 16:35 | 只看该作者
xqy281 发表于 2015-10-10 16:29
用的IAR版本是6.3的!

仿真器或者烧写器哪?

使用特权

评论回复
7
dirtwillfly| | 2015-10-10 16:41 | 只看该作者
你是不是烧断熔丝了?

使用特权

评论回复
8
xqy281|  楼主 | 2015-10-10 16:47 | 只看该作者
dirtwillfly 发表于 2015-10-10 16:41
你是不是烧断熔丝了?

应该不是把熔丝位烧断了,仿真器是MSP—FET430UIF

使用特权

评论回复
9
xqy281|  楼主 | 2015-10-10 20:11 | 只看该作者
终于知道为什么了!!我用的是MSP430f247,但是我用的实例却是MSP430F2471。
虽然设备列表已经改过来了,但是可以flash地址上有些差别,所以就导致了被锁的现象。唉唉唉唉~~~

都怪自己文件名没看完就试。(附图)


那么接着问题就来了,哪位大神知道这种操作要怎么恢复啊!!(虽说是样品,但也觉得挺浪费的)

使用特权

评论回复
10
冰河w| | 2015-10-10 21:05 | 只看该作者
楼主能把IAR6.3分享一下吗

使用特权

评论回复
11
dirtwillfly| | 2015-10-10 21:44 | 只看该作者
xqy281 发表于 2015-10-10 20:11
终于知道为什么了!!我用的是MSP430f247,但是我用的实例却是MSP430F2471。
虽然设备列表已经改过来了,但 ...

应该没有太大的区别

使用特权

评论回复
12
xyz549040622| | 2015-10-11 08:24 | 只看该作者
dirtwillfly 发表于 2015-10-10 21:44
应该没有太大的区别

430是否有对应的flash擦除工具呢?可以擦除flash看看

使用特权

评论回复
13
X61BGA| | 2015-10-11 08:41 | 只看该作者
感觉你的时钟配置有问题呢?
代码的第75~79行。

你对时钟的设置,是什么目的或者用途?

使用特权

评论回复
14
xqy281|  楼主 | 2015-10-11 09:59 | 只看该作者
X61BGA 发表于 2015-10-11 08:41
感觉你的时钟配置有问题呢?
代码的第75~79行。

这是官方的例程,我也不太清楚。刚上手

使用特权

评论回复
15
zhixiaoyuhong| | 2015-10-11 14:21 | 只看该作者
好像是把芯片锁住了。。。

使用特权

评论回复
16
X61BGA| | 2015-10-12 07:22 | 只看该作者
xqy281 发表于 2015-10-11 09:59
这是官方的例程,我也不太清楚。刚上手

一、你准备主时钟MCLK用多少MHz的频率?
二、一般SMCLK的频率使用与MCLK的相同的,这样简单一些;
三、低频率的ACLK,准备采用多少的频率?是外部的32768Hz还是内部的12KHz?

使用特权

评论回复
17
dirtwillfly| | 2015-10-12 08:25 | 只看该作者
xyz549040622 发表于 2015-10-11 08:24
430是否有对应的flash擦除工具呢?可以擦除flash看看

如果没烧断熔丝,用jtag擦除就可以。我不太认为这是锁死了,
因为msp430在上电时,相关烧写用到的io引脚都是在默认的工作状态

使用特权

评论回复
评分
参与人数 1威望 +10 收起 理由
xyz549040622 + 10
18
尤彼卡| | 2015-10-13 21:47 | 只看该作者
见过程序擦除的,没见过工具

使用特权

评论回复
19
科研小甲虫| | 2015-10-14 09:25 | 只看该作者
仿真器可能怀了

使用特权

评论回复
20
二姨公| | 2015-10-15 13:29 | 只看该作者
你一片不行了,继续下一片,再来,再来,再来,同样的错误重复5次,厉害厉害,样片不要钱,用的真爽.
我1片不行,最多再试1片,绝对不会有第三片,同一个坑能掉5次,佩服

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

71

帖子

1

粉丝