Hello, I use the option '--code-loc 0x3000' when running the linker so my program get's placed in the flash of a Silab C8051F132 starting at address 0x3000.
The hex file I get is fine and installs itself starting at code location 0x3000; as expected. When I download the AOMF file by Silab's IDE, code _below_ address 0x3000 gets overwritten. My first idea was that this could be a bug in Silab's IDE, so I wrote a 'little' program to dump the contents of the AOMF file. That dump now shows that there is in fact a so called 'content record' (record type 0x06) at location 0x0A60; an address which is definitely below 0x3000. The code in this content record has a length of 23809 bytes. When my AOMF dumper cumulates all sizes of code in all content records of the AOMF file, it returns exactly 23809 _more_ then can be found in the map file created by the linker. I think that this content record (located at 0x0A60 having 23809 bytes) gets into the AOMF file by mistake. What am I doing wrong or could this be a bug in the linker/locater? Many thanks, Felix PS: My SDCC version: mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.5.0 #1020 (May 8 2005) (MINGW32) ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user