This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
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