RE: romimage problem

How bout this?

C:\WCE\PB6\WINCE600\PUBLIC\COMMON\OAK\BIN\I386>romimage.exe /?

Windows CE ROM Image Builder v4.0.000 Copyright (c) Microsoft Corporation
Built: Dec 27 2007 15:56:10

Usage: romimage [options] filename.bib

Valid options are:
-o output file - defaults to kernelname.bin
-g - auto launch (only used when generating an sre file)
/? - this usage statement

Romimage also checks various environment variables
To suppress various output:
ri_suppress_info = all,move,module,file,memory,hole,e32,o32,symbol

To comma delimit some of the output lists for easier parsing:
ri_comma_delimit = 1

Fatal error hit, exiting...


"Valter Minute" wrote:

I'm building the bootloader for my ARM-based board using romimage
and a bib file.
This is the output of viewbin -t on my eboot.bin:

ViewBin... EBOOT.bin
Image Start = 0x00070000, length = 0x0001634C
Start address = 0x00071000
Checking record #5 for potential TOC (ROMOFFSET = 0x00000000)
Found pTOC = 0x000848fc
ROMOFFSET = 0x00000000

ROMHDR ----------------------------------------
DLL First : 0x4001C001
DLL Last : 0x4001C001
Physical First : 0x00070000
Physical Last : 0x0008634C
RAM Start : 0x000B0000
RAM Free : 0x000B2000
RAM End : 0x000C0000
Kernel flags : 0x00000000
Prof Symbol Offset : 0x000B0000
Num Copy Entries : 3
Copy Entries Offset : 0x00084970
Num Modules : 1
Num Files : 0
MiscFlags : 0x00000002
CPU : 0x01c2 (Thumb)
Extensions : 0x00000000

COPY Sections ---------------------------------
Src: 0x000845C0 Dest: 0x00084000 CLen: 0x225 DLen:
Src: 0x000847E8 Dest: 0x00098000 CLen: 0x39 DLen: 0x48
Src: 0x00085000 Dest: 0x000B0000 CLen: 0x658 DLen:

MODULES ---------------------------------------
10/13/2008 16:46:11 80896 nk.exe

FILES ----------------------------------------

As you can see the first of the COPY sections overlaps the others.
I debug my bootloader using a jtag emulator and I see that when
KernelRelocate is invoked it parses the TOC, finds the copy entries
but as soon as it parses the first entry it fills the others with
zeros (DLEN is 121A0) and so it does not perform the remaining copy
operations and I fond some structures uninitialized inside my code.

In my map file address 0x98000 is g_oalAddressTable but I have no
entries for the other copy section elements (I suppose they should
re-map some static global variables in some modules).

It seems that romimage generates the wrong entry for the copy table.
There is a way to have "verbose" output from romimage?

I'll try to remove the static from all the global variables
declarations to be able to understand what's going to be mapped at

Thank you for any suggestion or hint you can provide.

Valter Minute
Training, support and development for Windows CE
(the reply address of this message is invalid)