Specifications
AMD Geode™ GeodeROM Functional Specification 257
20
Build Utilities 32087C
20.0Build Utilities
This chapter discusses the usage of custom and off-the-shelf build utilities, each of which is required for building and
debugging GeodeROM.
20.1 Custom Build Utilities by AMD
• X2ROM.EXE - Converts a .EXE file to a zero-based binary image.
• FLASHROM.COM - Updates the contents of a memory-mapped Flash ROM device.
• RLE.EXE - Compresses a file using a Run Length Encoding algorithm.
• BMPFLIP.EXE - Flips the order of the bytes that appear in the OEM splash screen bitmap file.
• CPRPAD.EXE - Pads out the concatenated rle files to 192 KB.
— which.pl - a perl implementation used to locate from where files are being executed (downloaded from: http://
language.perl.com/ppt/what.html).
— buildtool.pl - a perl script used by the build to generate the date and time of the build to be used in the display screen.
It maintains the file userdir.txt that ensures all files are rebuilt correctly when building from different user directories.
• ROMPAD.EXE - Adjusts a ROM image to be 64 KB in size, padding the file with FFhs at the beginning.
• BINCOPY.EXE - Concatenates files together from a list of files.
20.1.1 X2ROM.EXE – .EXE to .ROM Conversion Utility Version 1.0
Converts a .EXE file to its zero-based, .ROM equivalent. As part of this conversion process, X2ROM performs the following
sequence of operations on the .EXE file:
1) Calculates the binary image size based on information within the .EXE header.
2) Strips off .EXE relocation header.
3) Pads the file with trailing FFh bytes according to the user-specified size argument.
4) Prepends the file with leading FFh bytes if the user has so specified.
5) Checksums the file image and places the checksum in the last location.
6) Writes the resulting binary file image to the user-specified filename.
Additionally, X2ROM.EXE provides a mode compatible with DOS.
Example of usage:
X2ROM filename /F:xxxx /O:xxxx /S:xxxx /V /X /Y
Filename = .EXE file to convert (No Extension):
/F:xxxx = Hex fixup segment – Default F000h
/O:xxxx = Hex code origin in .ROM – Default 0
/S:xxxx = Hex size .ROM to make – Hex size .ROM to make
/V = Verbose – Default OFF
/X = EXE2BIN mode – Default OFF
/Y = EXE2BIN mode w/padding – Default OFF
The usage for each command line parameter is as follows: