Hi everyone,
The startup file provided by TI setups the initial stack pointer at 0x20004000. I am wondering why it is not placed at the start of the RAM region which address is 0x20000000.. As the stack pointer goes upward I guess this makes us wasting 0x4000 bytes of RAM (16K), and therefore only use 0xC000 bytes. It is enough for me but it looks weird..
/* Interrupt vector table. Note that the proper constructs must be placed on this to */ /* ensure that it ends up at physical address 0x0000.0000 or at the start of */ /* the program if located at a start address other than 0. */ void (* const interruptVectors[])(void) __attribute__ ((section (".intvecs"))) = { (void (*)(void))((uint32_t)0x20004000), /* The initial stack pointer */ resetISR, /* The reset handler */ ... };
Thank you for helping me to understand this point (:
Best regards,