打印
[ZLG-MCU]

我在用EASYJTAG-H对EASYARM615进行仿真的时候出现的问题:

[复制链接]
2104|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tinghai84|  楼主 | 2008-1-2 21:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
来自 2楼
zlgmcu| | 2008-1-3 08:53 | 只看该作者

请仔细排查故障

有多种方法您可以试试:
  重新连接、重装Cross软件、重启电脑,等等。

如果上述手段不能奏效,则有可能是程序当中误用了与JTAG接口复用的GPIO管脚。如果是这样,则只能换颗芯片了。以后在程序里防止JTAG失效的一种方法是:专门选定一个GPIO管脚作为按键输入,复位时如果不按键则正常工作,否则进入死循环以等待JTAG连接。以下是参考例程:

#include  "hw_types.h"
#include  "hw_memmap.h"
#include  "hw_sysctl.h"
#include  "hw_gpio.h"
#include  "src/sysctl.h"
#include  "src/gpio.h"

#define  SysCtlPeriEn       SysCtlPeripheralEnable
#define  GPIOPinTypeIn      GPIOPinTypeGPIOInput
#define  GPIOPinTypeOut     GPIOPinTypeGPIOOutput

#define  LED                GPIO_PORTB_BASE, GPIO_PIN_0
#define  KEY_JTAG           GPIO_PORTA_BASE, GPIO_PIN_2

void  waitJTAG (void)
{
    SysCtlPeriEn(SYSCTL_PERIPH_GPIOA);                  // 使能GPIOA端口
    GPIOPinTypeIn(KEY_JTAG);                            // 设置按键所在的PA2管脚为输入
    if ( GPIOPinRead(KEY_JTAG) == 0x00 ) {              // 如果有键按下,则进入
        for (;;);                                       // 死循环,以等待JTAG连接
    }
}

void  timeDelay (unsigned long  ulVal)
{
    do {
    } while ( --ulVal != 0 ) ;
}

int  main (void)
{
    unsigned char  ucPins = 0x00;

    waitJTAG( );                                        // 防止JTAG失效
    SysCtlPeriEn(SYSCTL_PERIPH_GPIOB);                  // 使能GPIOB端口
    GPIOPinTypeOut(LED);                                // 设置LED所在管脚为输出

    for (;;) {
        GPIOPinWrite(LED, ucPins);                      // 使LED不断闪烁发光
        ucPins ^= 0x01;
        timeDelay(200000UL);
    }
}

使用特权

评论回复
板凳
tinghai84|  楼主 | 2008-1-2 22:00 | 只看该作者

补充:

但是我的仿真器已经连接上了,而且那个指示电源的灯也是亮的,USB提供的电源的指示灯也是亮的,原来的仿真器是好使的,在我运行的时候,突然有一次死机了,重启以后就不好使了,我是不知道为了什么,为了这个已经耽误了好几天的进度,请求帮助,本人不胜感激

使用特权

评论回复
地板
逐风| | 2008-1-3 12:16 | 只看该作者

有没有用过看门狗或者把JTAG管脚复用了??

使用特权

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

本版积分规则

3

主题

4

帖子

0

粉丝