#define SRC_ADDR 0xFFF00000 // The BootROM Mirror #define DEST_ADDR 0x40009000 // A different safe spot #define COPY_SIZE 0x100 // Just a tiny 256-byte sniff #define PMC_SCRATCH0 0x7000e450 void _start() { unsigned int *src = (unsigned int *)SRC_ADDR; unsigned int *dest = (unsigned int *)DEST_ADDR; for (int i = 0; i < (COPY_SIZE / 4); i++) { dest[i] = src[i]; } *(volatile unsigned int *)PMC_SCRATCH0 = 0x90909090; while (1) ; }