2019-06-25 04:57 AM
I have seen many examples to use external memory as heap but for it they have modified the linker and added section of needed memory. But I am curious if I can access the external memory using standard communication interfaces like I2c, SPI, etc then why to edit linker? What are the benefits of modifying linker vs the accessing the memory using I2C?
2019-06-25 06:41 AM
The processor can access all available memory.
The linker's job is place code/data, and the script defines where the regions to use are situated. External memory is not functional unless the CPU sets them up with code you supply, so in the non-board specific cases it typically doesn't describe memories that aren't available.
Perhaps review texts on Assemblers, Compilers, Linkers and Loaders to understand the function of each.
Peripherals in this context have fixed/absolute addresses, and the linkers job is not to assign them addresses.
2019-06-26 12:25 AM
I have read this answer on SO : https://stackoverflow.com/a/22684093
So I was confused.