#define GPIO_BASE 0x6000d000 #define CLK_RST_BASE 0x60006000 void _start() { *(volatile unsigned int *)(CLK_RST_BASE + 0x10) |= (1 << 8); *(volatile unsigned int *)(0x7000e400 + 0x0) |= (1 << 16); // Force CPU Power On for (int i = 0; i < 100; i++) { *(volatile unsigned int *)(GPIO_BASE + 0x418) = 0xFF; // Pulse High for (volatile int j = 0; j < 1000; j++) ; *(volatile unsigned int *)(GPIO_BASE + 0x418) = 0x00; // Pulse Low for (volatile int j = 0; j < 1000; j++) ; } *(volatile unsigned int *)(0x7000e400 + 0x30) = 0x10; }