JTAG解锁
LM3S9B92板子里有个看门狗计时器的程序#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/rom.h"
#include "driverlib/sysctl.h"
#include "driverlib/watchdog.h"
#include "utils/uartstdio.h"
// 看门狗定时器中断服务程序,执行喂狗和闪烁用户指示灯功能。
void WatchdogIntHandler(void)
{
//清看门狗定时器中断服务程序
ROM_WatchdogIntClear(WATCHDOG0_BASE);
//翻转GPIOB6
ROM_GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_6,ROM_GPIOPinRead(GPIO_PORTB_BASE,GPIO_PIN_6)^GPIO_PIN_6);
}
// 该例程演示看门狗定时器的用法。
int main(void)
{
ROM_SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ);
// 使能本例程用到的外设功能单元UART1 GPIOB
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPinConfigure(GPIO_PB4_U1RX);
GPIOPinConfigure(GPIO_PB5_U1TX);
ROM_GPIOPinTypeUART(GPIO_PORTB_BASE, GPIO_PIN_4 | GPIO_PIN_5);
// 配置UART1为115200波特率、8-N-1 数据模式。
UARTStdioInit(1);
UARTprintf("Watchdog example\n");
// 使能本例程用到的外设。
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG0);
// 使能全局中断。
ROM_IntMasterEnable();
// 设置GPIO B6 为输出口
ROM_GPIOPinTypeGPIOOutput (GPIO_PORTB_BASE, GPIO_PIN_6);
ROM_GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6, 0<<6);
// 使能看门狗定时器中断。
ROM_IntEnable(INT_WATCHDOG);
// 设置看门狗定时器的重载值
ROM_WatchdogReloadSet(WATCHDOG0_BASE, SysCtlClockGet()/100);
// 使能看门狗定时器的复位功能。
ROM_WatchdogResetEnable(WATCHDOG0_BASE);
// 启动看门狗定时器。
ROM_WatchdogEnable(WATCHDOG0_BASE);
// 死循环。
while(1);
}
然后现在不能debug了 我怀疑是这个程序不断产生中断然后导致JTAG锁死
按楼主的操作
未成功,现在板子里看门狗的程序不断运行 用CCS debug就是
CORTEX_M3_0: Error connecting to the target: (Error -2062 @ 0x0) Unable to halt device. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.762.0)
麻烦楼主给个参考意见