LPC Link2 clearing RAM

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LPC Link2 clearing RAM

391 次查看
ironlionzion
Contributor I

volatile int __attribute__ ((section(".noinit"))) persistentVar; int bssVar; int main(void) { SystemCoreClockUpdate(); InitSysTimer(); // makes the Sleep() function work Chip_GPIO_SetPinDIR(LPC_GPIO, 2, 16, TRUE); // green LED Chip_GPIO_SetPinDIR(LPC_GPIO, 2, 17, TRUE); // red LED Chip_GPIO_SetPinDIR(LPC_GPIO, 2, 18, TRUE); // blue LED Chip_GPIO_SetPinOutHigh(LPC_GPIO, 2, 16); // green LED = off Chip_GPIO_SetPinOutHigh(LPC_GPIO, 2, 17); // green LED = off Chip_GPIO_SetPinOutHigh(LPC_GPIO, 2, 18); // green LED = off if (!(LPC_SYSCTL->SYSRSTSTAT & 0x10)) { // this IS *NOT* a software reset (NVIC_SystemReset()) // it's probably power on (or something lese) // persistentVar is garbage, initialize it to 0 persistentVar = 0; Chip_GPIO_SetPinOutLow(LPC_GPIO, 2, 16); // green LED = on } else { // this IS a software reset (NVIC_SystemReset()) // persistentVar was initialized, keep its value Chip_GPIO_SetPinOutLow(LPC_GPIO, 2, 17); // green LED = on } LPC_SYSCTL->SYSRSTSTAT |= 0x1f; // is this necessary? if (persistentVar == 0) Chip_GPIO_SetPinOutLow(LPC_GPIO, 2, 18); // green LED = on persistentVar++; bssVar++; Sleep(500000); // sleeps 0.5 milliseconds NVIC_SystemReset(); return 0; }

0 项奖励
1 回复

287 次查看
Carlos_Mendoza
NXP Employee
NXP Employee

Hi John,

Could you give us more information on what you are trying to achieve? Which MCU are you using? Are you using MCUXpresso IDE?


Thanks in advance!

Best Regards,
Carlos Mendoza
Technical Support Engineer

0 项奖励