This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: How to load a RedBoot(RAM) through RedBoot(ROM)
- From: "Gary Thomas" <gary at mlbassoc dot com>
- To: "yzj" <yzj at chinadigipro dot com>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Tue, 9 Mar 2004 02:32:41 -0700 (MST)
- Subject: Re: [ECOS] How to load a RedBoot(RAM) through RedBoot(ROM)
- References: <014c01c405b1$d6362740$483b0dd2@YZJ>
yzj said:
> My target board is SNDS100, i made a RedBoot(starup from ROM),
> and the RedBoot(ROM) is running OK!
> The following is the boot message.
>
> RedBoot(tm) bootstrap and debug environment [ROM]
> Non-certified release, version UNKNOWN - built 09:36:00, Mar 9 2004
>
> Platform: Samsung SNDS (ARM 7TDMI)
> Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
>
> RAM: 0x00000000-0x01000000, [0x000059d8-0x01000000] available
> RedBoot>
>
>
> the memory layout of my RedBoot(ROM) is bellow:
>
> section size addr
> .rom_vectors 0x40 0x1800000
> .text 0xbdf8 0x1800040
> .fini 0x0 0x180be38
> .rodata 0x1a8c 0x180be38
> .rodata1 0x0 0x180d8c4
> .fixup 0x0 0x180d8c4
> .gcc_except_table 0x0 0x180d8c4
> .fixed_vectors 0x140 0x20
> .data 0x474 0x200
> .bss 0x5360 0x674
> Total 0x131d8
>
>
> then i made a RedBoot(RAM), memory layout:
>
> section size addr
> .fixed_vectors 0x140 0x10200
> .rom_vectors 0x40 0x20000
> .text 0x8034 0x20040
> .fini 0x0 0x28074
> .rodata 0x1a44 0x28074
> .rodata1 0x0 0x29ab8
> .fixup 0x0 0x29ab8
> .gcc_except_table 0x0 0x29ab8
> .data 0x3ec 0x29ab8
> .bss 0x33c0 0x29ea4
> Total 0xd3a4
>
>
> and i loaded this RedBoot(RAM) through xModem, it seem OK!
>
> RedBoot> load -m xm
> CCCCCCCCCEntry point: 0x00020040, address range: 0x00020000-0x00029ea4
> xyzModem - CRC mode, 676(SOH)/0(STX)/0(CAN) packets, 9 retries
>
> but when i type go i get the following
>
> RedBoot> go
> $T050f:88130000;0d:00000000;#e1$T050f:88130000;0d:00000000;#e1
>
> it looks like the GDB stub.
Then why not use GDB to figure out what's wrong? Just connect via
GDB and start debugging.
>
> i guess this is because of the memory loyout of the RedBoot(RAM)
> how can i do??
Quite possibly. Can you run other RAM programs, like the standard
tests?
Also, why is the .fixed_vector segment in the RAM version not at
0x20? As is, this will not work with the ARM HAL.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss