Documentation for



Perl script that reads in an XML file representation of a linker map file and spits out something like as follows: -

   /* This file is *auto-generated*. Do not edit. Mods risk being overwritten */ 

      .dummy_rom_rts_out1 { -lrts6400.lib<div.obj> (.text:_ldiv) } > 0x3e8c0, type=NOLOAD
      .dummy_rom_rts_out2 { -lrts6400.lib<fixdi.obj> (.text:__fixdi) } > 0x3f760, type=NOLOAD


The end output is the list of all the sections that were ROM'ed from a library and their end-ROM-placement.

The file generated by this script (output goes to STDOUT which can be piped to a file) gets passed into the user's RAM application link stage, simply to correctly resolve the link, ensuring that the ROM functions are used instead of RAM ones.

By calling out each function separately, we enable per-function patchability (simply comment out that function to use a new RAM version instead)

Note that the i/p XML version of map file can be obtained via linker option --xml_link_info=<file>

USAGE linker_xml_file -t=DSECT|NOLOAD -s=.rom_sect1 -s=.rom_sect2


 --cg_xml_version : Print out the version of the cg_xml package in use


This script was written using Perl version 5.8.3. It may not work with earlier revisions of Perl.

 Documentation for