I'm writing a serial boot loader for ARM920T with OMAP1510.
I have written a basic bootloader which has a .s file which does the
hardware initializations. (I have disabled the MMU and Chaches) and
jumps to a main() in a .c file. which calls the BootloaderMain(). I have
implemented only the OEMPlatformInit() which initializes the io such as
UART, flash and EdbgOutputDebugString() is called with a print.
The restof the OEMxxx files are just the stubs for the time being.
My boot.bib file looks like this :-
MEMORY
; Name Start Size Type
; ------- -------- -------- ----
RAM 10000100 00e00000 RAM
;Set aside 128 KB for loader; finalize later.
SBOOT 10e00100 00020000 RAMIMAGE
CONFIG
COMPRESSION=OFF
PROFILE=OFF
KERNELFIXUPS=ON
; SBOOT + ROMOFSET = 0x0
ROMOFFSET=EF1FFF00
SRE=ON
ROMSTART=10e00100
ROMWIDTH=32
ROMSIZE=20000
MODULES
; Name
Path Memory
Type
; --------------
----------------------------------------------
-----------
nk.exe
$(_TARGETPLATROOT)\target\$(_TGTCPU)\$(WINCEDEBUG)\sboot.exe SBOOT
-----------------------------------------------------------------------------------------------------------------------
When i call the build -c, the .bin file is not produced. Its created but
with 0KB.
The build.log gives and exception as this :-
-------------------------------------------Start -------------------
BUILD: Computing Include file dependencies:
BUILD: Examining e:\wince420\platform\eshaarm920t\sboot directory for
files to compile.
Linking e:\wince420\platform\eshaarm920t\sboot directory
********************
'NMAKE.EXE -i -c BUILDMSG=Stop. LINKONLY=1 NOPASS0=1 NTTEST= UMTEST='
makefile.def: BUILDROOT is E:\WINCE420\PLATFORM\EshaArm920T
makefile.def: including E:\WINCE420\PLATFORM\EshaArm920T\sources.cmn
romimage boot.bib
Windows CE ROM Image Builder v4.0.120 Copyright (c) Microsoft
Corporation
Built: Mar 14 2003 09:05:35
Copying E:\wince420\platform\EshaArm920T\target\ARMV4I\retail\sboot.exe
to E:\wince420\platform\EshaArm920T\target\ARMV4I\retail\nk.exe for
debugger
Found pTOC at 00001690
No imports for nk.exe
Processing SBOOT
MODULES Section
Module Section Start Length psize vsize Filler
---------------------- -------- --------- ------- ------- ------- ------
nk.exe .text 10e02000 12288 10752 10668
o32_rva=00001000
nk.exe .pdata 10e05000 4096 512 304
o32_rva=00005000
nk.exe .data 10e049ac 0 0 332
FILLER->10000100
nk.exe E32 10e049ac 108 FILLER
nk.exe O32 10e04a18 72 FILLER
MODULES Section
Module Section Start Length psize vsize Filler
---------------------- -------- --------- ------- ------- ------- ------
nk.exe FileName 10e04a60 7 FILLER
Unfilled ROM holes (address, length):
10e05130 3792 10e04a68 1432
total space 5224 in 2 ranges
Writing E:\wince420\platform\EshaArm920T\target\ARMV4I\retail\SBOOT.bin
Error: Could not find rva 00001690 in nk.exe
o32[0].o32_rva = 00001f00 (len = 00002a00)
o32[1].o32_rva = 00004000 (len = 00000000)
o32[2].o32_rva = 00004f00 (len = 00000200)
Assertion failed: !"rva2ptr() error", file
g:\mckendric\private\winceos\coreos\nk\tools\romimage\romimage\.\module.cpp,
line 155
This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.
Stop.
BUILD: Done
---------------------------------------------------END---------------------
What is this Assertion ??? and what should i do to get a .bin and .nb0
files ?
I have created the source and the makefile.inc as required to generate a
boot image. (based on the sample eboot of samsung board - SMDK2410 )
Regards
Esha