Hello
>1) Find below some lines of my .ROM.elf.xmap file obtained after compiling with CodeWarrior.
> I was wondering why some functions are allocated (there is an address in memory) but have no size...
Function having a size of 0 are functions, which are not part of the image. They have been removed from the application as they are not used (linker is performing dead stripping).
>2) Why are some variables (indicated as ".rodata"
described with the notation @number...
> what is the meaning of such number?
The constants @xxxx are constants generated internally by the compiler. Compiler might generate such constants while optimizing code. For instance jump addresses in a switch block. You do not have to care about them If they are linked to your application, they are needed.
>3) In the summary of the application memory map, there is a distinction between v_address (virtual
> memory address, I suppose) and p_address (physical memory address, I suppose). Can you explain
>me this difference for Coldfire MCF52235? Or alternatively, can you suggest an appropriate document
> reference to understand such distinction?
v_addr stands for virtual address , p_addr stands for physical address.
Usually p_addr is similar to v_addr. Only case where they can differ is if you decide to copy data (or code) from ROM to RAM at startup. If you wish to do that you have to adjust your .lcf file.
If you are using CodeWarrrior for Coldfire V6.3, refer to {Install\Help\PDF\ColdFire_Build_Tools_Reference.pdf, Chapter "Coldfire Linker", section "LCF Syntax" -> "ROM-RAM Copying" for more information.
CrasyCat