This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: RedBoot + Configuration tool 2.11 question
On Tue, 2003-07-29 at 13:59, G.Muruganandam wrote:
> Hello,
>
> I traced the printf issue to the base address of UART on the IXP. I have
> forced it to use the
> physical base address 0xC0030000 in the serial getc and putc functions.
>
> Now I am seeing redboot messages on the hyper terminal screen. Also I have
> included
> more debug messages for testing.
>
> Issue:
> ====
>
> All the valid redboot commands are not getting executed and displayed as
> "illegal command"
> ( Please see the screen captured below for more information)
>
>
> When I debugged further. The parser ( packages/redboot/v1_24/src/parse.c)
> looks like returning the correct command to the cmd_search
> function. Inside the cmd_search function , while looking through the
> command table start and end, looks like they are equal. So the cmd_search
> function returns 0 and thus displaying it as a illegal command.
>
This says that you're having trouble with the HAL tables used by
RedBoot. Using 'objdump -h' you can see the sections that these
data live in. For example:
/work/iPAQ/redboot/ROM/redboot/current/src/redboot_cksum.o: file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000000 00000000 00000000 00000034 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00000000 00000000 00000034 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00000000 00000000 00000034 2**0
ALLOC
3 .debug_abbrev 0000021e 00000000 00000000 00000034 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_info 0000216c 00000000 00000000 00000252 2**0
CONTENTS, RELOC, READONLY, DEBUGGING
5 .debug_line 00000256 00000000 00000000 000023be 2**0
CONTENTS, RELOC, READONLY, DEBUGGING
6 .rodata 000000f4 00000000 00000000 00002614 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .ecos.table.RedBoot_commands.data.do_cksum 00000018 00000000 00000000 00002708 2**2
CONTENTS, ALLOC, LOAD, RELOC, DATA
8 .text.do_cksum 00000178 00000000 00000000 00002720 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
9 .debug_frame 00000034 00000000 00000000 00002898 2**2
CONTENTS, RELOC, READONLY, DEBUGGING
10 .debug_pubnames 00000035 00000000 00000000 000028cc 2**0
CONTENTS, RELOC, READONLY, DEBUGGING
11 .debug_aranges 00000028 00000000 00000000 00002901 2**0
CONTENTS, RELOC, READONLY, DEBUGGING
12 .debug_str 00000057 00000000 00000000 00002929 2**0
CONTENTS, READONLY, DEBUGGING
13 .comment 0000001e 00000000 00000000 00002980 2**0
CONTENTS, READONLY
You see the '.ecos.table.RedBoot_commands.data.do_cksum' entry?
Entries like that should get gathered together and then end up
in your data section. This mechanism is defined in the include
file <cyg/hal/hal_tables.h>
Note: HAL tables are defined by an architecture (ARM). You shouldn't
have problems with them on a specific platform, unless you've done
something to mess with the linker setup.
--
Gary D. Thomas <gary.thomas@mind.be>
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss