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,