This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: redboot RAM and it's memory address


> Holger Schurig wrote:
>> 
>> So, speaking of Linux: when I arm-elf-objdump vmlinux (that is what the 
>> current bootloader gets, in some WinCE NK.BIN format), then I see
>> 
>> c0008000 <stext>:
>> c0008000:       e1a0c000        mov     r12, r0
>> c0008004:       e3a000d3        mov     r0, #211        ; 0xd3
>> c0008008:       e121f000        msr     CPSR_c, r0
>> 
>> but when I arm-elf-objdump install/bin/redboot.elf, then I see
>> 
>> 00020000 <__exception_handlers>:
>> 20000:       e59ff018        ldr     pc, [pc, #18]   ; 20020 <vectors>
>> 20004:       e59ff018        ldr     pc, [pc, #18]   ; 20024 
>> <.undefined_instruction>
>> ...
>> 00020020 <vectors>:
>> 20020:       00020040        andeq   r0, r2, r0, asr #32
>> ...
>> 00020040 <reset_vector>:
>> 20040:       e3a00000        mov     r0, #0  ; 0x0
>> 20044:       e59f1388        ldr     r1, [pc, #388]  ; 203d4 
>> <_eCos_id+0x14>

...

>> My question:
>> 
>> I guess I have to simple edit 
>> ecos/packages/hal/arm/xscale/idppxa/current/include/pkgconf/mlt_arm_xscale_idppxa_ram.h 
>> and mlt_arm_xscale_idppxa_ram.ldi so that it uses 0xc0008000, too? 

Don't be fooled by the 0xc0008000 in vmlinux. That is a kernel virtual address
and tells you nothing about where the physical address may be. The vmlinux code
is position independent up to the point where linux turns on the MMU. RAM where
that code runs may or may not be 0xc0008000.

--Mark

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]