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 + 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


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