#include #include extern unsigned char start[]; extern unsigned char __data[]; extern unsigned char __ctors[]; extern unsigned char __dtors[]; extern unsigned char bss_start[]; extern unsigned char edata[]; extern unsigned char got_start[]; int main(int argc, char *argv[]) { uint32_t reg; printf("start %x\r", start); printf("__data %x\r", __data); printf("__ctors %x\r", __ctors); printf("__dtors %x\r", __dtors); printf("bss_start %x\r", bss_start); printf("edata %x\r", edata); printf("got_start %x\r", got_start); asm volatile("mov r15, %0" : "=r"(reg)); printf("r15(sp) %x\r", reg); asm volatile("stc vbr, %0" : "=r"(reg)); printf("vbr %x\r", reg); return 0; }