Documentation for get_rom_sects.pl

NAME

get_rom_sects.pl

SYNOPSIS

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 */ 
   SECTIONS {

      .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

   get_rom_sects.pl linker_xml_file -t=DSECT|NOLOAD -s=.rom_sect1 -s=.rom_sect2

ADDITIONAL OPTIONS

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

PERL VERSION DETAILS

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

 Documentation for get_rom_sects.pl