By default, when using my link scripts, the standard runtime is initialised by crt0 as follows:
-
| Address | Size | Comment |
-
| ------- | ------- | ------- |
-
| `0x03fffe` | ~256k | Stack (SSP). Grows towards 0. At round about 0x0000400 it would start stomping all over the memory area used by the monitor |
-
| `0x040000` | n/a | Start of user program (.text), followed by initialised data (.data) and then unititialised data (.bss). The .bss area is initialised to all zeroes before main() is called. |
+
| Address | Size | Link Script Variable |Comment |
+
| ------- | ------- | ------- | ------- |
+
| `0x03fffe` | ~256k | `_STACK_SIZE` |Stack (SSP). Grows towards 0. At round about 0x0000400 it would start stomping all over the memory area used by the monitor |
+
| `0x040000` | n/a | `_RUN_ADDRESS` | Start of user program (.text), followed by initialised data (.data) and then unititialised data (.bss). The .bss area is initialised to all zeroes before main() is called. |