是使用时发现的,如果将JTAG那5根线用作GPIO功能,芯片就会加密,不过注意了,加密后,JTAG再也不
起作用了,除非有后门,否则芯片要重新下载软件,必须更换芯片。
下面是一段演示的代码:使用老大的LM3SXXX SmartBoard演示主板
void Init_cpu(void) {
//初始化系统时钟设置 SysCtlClockSet(SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_6MHZ);
/***********************GPIOB 初始化 *********************/ //使能GPIOB模块 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); //////////////////////////////////////////////////// ///////////加密演示:如果设置为GPIO,则JTAG不起作用了 //按键检测 if(GPIOPinRead(KEYPORT, K1)) //如果为高电平 GPIODirModeSet(PH5_PORT, PH5, GPIO_DIR_MODE_IN); //JTAG
if(GPIOPinRead(KEYPORT, K2)) //如果为高电平 { GPIODirModeSet(PH6_PORT, PH6, GPIO_DIR_MODE_IN); GPIODirModeSet(PH7_PORT, PH7, GPIO_DIR_MODE_IN); GPIODirModeSet(PH8_PORT, PH8, GPIO_DIR_MODE_IN); GPIODirModeSet(PH9_PORT, PH9, GPIO_DIR_MODE_IN); }
//设置GPIO B口的B4为输出引脚 GPIODirModeSet(LED_PORT, LED1, GPIO_DIR_MODE_OUT);
//设置连接LED1的引脚为高电平 GPIOPinWrite(LED_PORT, LED1, LED1); /*******************************************************/
}
说明:下载后,可以发现用JTAG无法通信了。要取消,同时按住K1及K2健,重开机就可以取消加密功能了
by lordor
|