Hi, I am bit confused about VMA & LMA address for AVR. Virtual memory address & Load Memory Address. 1> What actually does it means ???????
What i got from reading is that VMA is passed to linker & .ELF is created. While avr-objcopy read .elf & creats the .hex in this hex file .crt code will place the data variable to LMA. & .eep file in this file epprom variables are placed to LMA. Because of harvard architectue to avoid confusion related to memory address ( because EEPROM, RAM & Flash all will start from 0x0000 i.e ZERO address) GCC does following :--- Add 0x800000 the to real SRAM --- if you want the .data section to start at 0x1100, pass 0x801100 at the address Add 0x810000 the to real EEPROM 2> What does it add for the ROM address, i am bit confused --- ???????? 3> Also why this typical number series are chosen 0x800000 .... ??????? This operation produces VMA. This is only my understanding & assumption. Please correct me for the above three question. BR
_______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list