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