This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Run Redboot from flash
- From: Gary Thomas <gary at mlbassoc dot com>
- To: Ricardo Andrino <ricardo_andrino at web dot de>
- Cc: eCos Discussion <ecos-discuss at ecos dot sourceware dot org>
- Date: 12 Dec 2003 06:03:05 -0700
- Subject: Re: [ECOS] Run Redboot from flash
- Organization: MLB Associates
- References: <200312121251.hBCCpYQ17140@mailgate5.cinetic.de>
Please copy the list so that all may benefit. Private email will be
ignored.
On Fri, 2003-12-12 at 05:51, Ricardo Andrino wrote:
> Gary Thomas <gary@mlbassoc.com> schrieb am 12.12.03 13:12:23:
> >
> > On Fri, 2003-12-12 at 05:05, Ricardo Andrino wrote:
> > > Here is..
> > > thanks
> > >
> > > ****************************************************************************
> > > basic: file format elf32-littlearm
> > >
> > > Sections:
> > > Idx Name Size VMA LMA File off Algn
> > > 0 .debug_aranges 00001528 00000000 00000000 0000ad00 2**0
> > > CONTENTS, READONLY, DEBUGGING
> > > 1 .debug_pubnames 00003680 00000000 00000000 0000c228 2**0
> > > CONTENTS, READONLY, DEBUGGING
> > > 2 .debug_info 0006444c 00000000 00000000 0000f8a8 2**0
> > > CONTENTS, READONLY, DEBUGGING
> > > 3 .debug_abbrev 00009f5c 00000000 00000000 00073cf4 2**0
> > > CONTENTS, READONLY, DEBUGGING
> > > 4 .debug_line 00015094 00000000 00000000 0007dc50 2**0
> > > CONTENTS, READONLY, DEBUGGING
> > > 5 .debug_frame 000039cc 00000000 00000000 00092ce4 2**2
> > > CONTENTS, READONLY, DEBUGGING
> > > 6 .debug_str 00009032 00000000 00000000 000966b0 2**0
> > > CONTENTS, READONLY, DEBUGGING
> > > 7 .fixed_vectors 00000140 00000020 00000020 0009f700 2**5
> > > CONTENTS, READONLY
> > > 8 .rom_vectors 00000040 0000c000 0000c000 00004000 2**0
> > > CONTENTS, ALLOC, LOAD, READONLY, CODE
> > > 9 .text 00006628 0000c040 0000c040 00004040 2**2
> > > CONTENTS, ALLOC, LOAD, READONLY, CODE
> > > 10 .fini 00000000 00012668 00012668 0009f840 2**0
> > > CONTENTS
> > > 11 .rodata 000003ec 00012668 00012668 0000a668 2**2
> > > CONTENTS, ALLOC, LOAD, READONLY, DATA
> > > 12 .rodata1 00000000 00012a54 00012a54 0009f840 2**0
> > > CONTENTS
> > > 13 .fixup 00000000 00012a54 00012a54 0009f840 2**0
> > > CONTENTS
> > > 14 .gcc_except_table 00000000 00012a54 00012a54 0009f840 2**0
> > > CONTENTS
> > > 15 .data 000002ac 00012a54 00012a54 0000aa54 2**2
> > > CONTENTS, ALLOC, LOAD, DATA
> > > 16 .bss 00004284 00012d00 00012d00 0000ad00 2**5
> > > ALLOC
> > > 17 .debug_ranges 000003b0 00000000 00000000 0009f840 2**0
> > > CONTENTS, READONLY, DEBUGGING
> > >
> > > ***************************************************************************
> > >
> >
> > Are you sure that this is the program you tried to load? In particular,
> > from the map above you can see that it will only load into locations
> > 0xc000..0xc03f, 0xc040..0x12667, 0x12668..0x12a53, 0x12a54..0x12cff
> > There's nothing in there in the area of 0x8054.
>
> Yes it is,
> in Redboot> load -m xmodem
> then Ctrl A Z (minicom) and Send file, i go to the path and select the
> basic file. I don't know if there is something worng in the minicom
> configuration but i don't think so.38000 8N1 no software/hardware flow control.
Minicom and/or X-modem have nothing to do with *where* code gets loaded.
That's up to the ELF image itself.
>
> Can i convert the file into .bin and use the -r option and say to
> download from the 0xc000 and then go -b 0xc040 ? or must be the
> start addresse 0x20000?
You could certainly try this. Or you could try using GDB.
>
> I am really confused.
>
> Thanks in advance
>
> > >
> > >
> > >
> > > Gary Thomas <gary@mlbassoc.com> schrieb am 12.12.03 12:53:51:
> > > >
> > > > On Fri, 2003-12-12 at 04:51, Ricardo Andrino wrote:
> > > > > Hello,
> > > > > I have followed your instructions and the same error occurred.
> > > >
> > > > Please send the output from:
> > > > % arm-elf-objdump -h install/tests/hal/common/current/tests/basic
> > > >
> > > > >
> > > > > Thanks
> > > > > Gary Thomas <gary@mlbassoc.com> schrieb am 12.12.03 12:36:37:
> > > > > >
> > > > > > On Fri, 2003-12-12 at 02:35, Ricardo Andrino wrote:
> > > > > > > Hello,
> > > > > > > I have success installed the Redboot on flash, run good and i have tried agian to run the hello program with this new enviorment.Now the RAM memory map is 0x0000000-0x00040000, 0x0000a960-0x00040000 available). So what i don't understand is why when i type this:
> > > > > > > Redboot>load -m xmodem
> > > > > > > Send my hello (compiled and linked when a RAM startup mode)
> > > > > > > Redboot>go
> > > > > > > i send the same message as before "!Attempt to load ELF data to address :0x00008054 whih is not in RAM. Why this address? It's not suppose that should it beginn at 0x00020000?Where can i see this?(vectors.o ?).
> > > > > > >
> > > > > > > Below can you see the target.ld file
> > > > > > >
> > > > > > > Thanks in advance and sorry for ask this again.
> > > > > >
> > > > > > Try running some of the standard tests and see if that works.
> > > > > > Do this in a whole new directory:
> > > > > > % mkdir /tmp/test_eb40a
> > > > > > % cd /tmp/test_eb40a
> > > > > > % ecosconfig new eb40a
> > > > > > % ecosconfig tree
> > > > > > % make
> > > > > > % make -C hal/common/current tests
> > > > > >
> > > > > > Now, try running "install/tests/hal/common/current/tests/basic"
> > > > > > and see what happens.
> > > > > >
> > > > > > >
> > > > > > >
> > > > > > > "Ricardo Andrino" <ricardo_andrino@web.de> schrieb am 11.12.03 17:18:37:
> > > > > > > >
> > > > > > > > Hello again,
> > > > > > > > I have built a RAM application for the EB40A (RAM startup, easy i think) and i have differents directories for the RAM application and the redboot image(RAM startup too).All seem to be good configured ( as described in the manuals). The only thing i ccan suggest is to take a look to the linker file.I am really confused.
> > > > > > > >
> > > > > > > > Thanks a lot
> > > > > > > >
> > > > > > > > My taget.ld is as follow:
> > > > > > > > ***************************************************************************
> > > > > > > >
> > > > > > > > STARTUP(vectors.o)
> > > > > > > > ENTRY(reset_vector)
> > > > > > > > INPUT(extras.o)
> > > > > > > >
> > > > > > > > GROUP(libtarget.a libgcc.a libsupc++.a)
> > > > > > > > MEMORY
> > > > > > > > {
> > > > > > > > ram : ORIGIN = 0x00000000, LENGTH = 0x40000
> > > > > > > > }
> > > > > > > >
> > > > > > > > SECTIONS
> > > > > > > > {
> > > > > > > > .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } .debug_info 0 : { *(.debug_info) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } .note.arm.ident 0 : { KEEP (*(.note.arm.ident)) }
> > > > > > > > .fixed_vectors 0x20 : { . = .; KEEP (*(.fixed_vectors)) } > ram
> > > > > > > > .rom_vectors 0xc000 : { __rom_vectors_vma = ABSOLUTE(.); . = .; KEEP (*(.vectors)) } > ram __rom_vectors_lma = LOADADDR(.rom_vectors);
> > > > > > > > .text ALIGN (0x4) : { _stext = ABSOLUTE(.); PROVIDE (__stext = ABSOLUTE(.)); *(.text*) *(.gnu.warning) *(.gnu.linkonce.t.*) *(.init) *(.glue_7) *(.glue_7t) } > ram _etext = .; PROVIDE (__etext = .);
> > > > > > > > .fini ALIGN (0x4) : { . = .; *(.fini) } > ram
> > > > > > > > .rodata ALIGN (0x4) : { . = .; *(.rodata*) *(.gnu.linkonce.r.*) } > ram
> > > > > > > > .rodata1 ALIGN (0x4) : { . = .; *(.rodata1) } > ram
> > > > > > > > .fixup ALIGN (0x4) : { . = .; *(.fixup) } > ram
> > > > > > > > .gcc_except_table ALIGN (0x4) : { . = .; *(.gcc_except_table) } > ram
> > > > > > > > .data ALIGN (0x4) : { __ram_data_start = ABSOLUTE (.); *(.data*) *(.data1) *(.gnu.linkonce.d.*) . = ALIGN (4); KEEP(*( SORT (.ecos.table.*))) ; . = ALIGN (4); __CTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.ctors*))) __CTOR_END__ = ABSOLUTE (.); __DTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.dtors*))) __DTOR_END__ = ABSOLUTE (.); *(.dynamic) *(.sdata*) *(.gnu.linkonce.s.*) . = ALIGN (4); *(.2ram.*) } > ram __rom_data_start = LOADADDR (.data); __ram_data_end = .; PROVIDE (__ram_data_end = .); _edata = .; PROVIDE (edata = .); PROVIDE (__rom_data_end = LOADADDR (.data) + SIZEOF(.data));
> > > > > > > > .bss ALIGN (0x4) : { __bss_start = ABSOLUTE (.); *(.scommon) *(.dynsbss) *(.sbss*) *(.gnu.linkonce.sb.*) *(.dynbss) *(.bss*) *(.gnu.linkonce.b.*) *(COMMON) __bss_end = ABSOLUTE (.); } > ram
> > > > > > > > __heap1 = ALIGN (0x8);
> > > > > > > > . = ALIGN(4); _end = .; PROVIDE (end = .);
> > > > > > > > }
> > > > > > > >
> > > > > > > > ***************************************************************************
> > > > > > > >
> > > > > > > > Gary Thomas <gary@mlbassoc.com> schrieb am 11.12.03 16:34:14:
> > > > > > > > >
> > > > > > > > > On Thu, 2003-12-11 at 08:30, Ricardo Andrino wrote:
> > > > > > > > > > Please see my comments below
> > > > > > > > > > Thanks
> > > > > > > > > >
> > > > > > > > > > Gary Thomas <gary@mlbassoc.com> schrieb am 11.12.03 15:09:45:
> > > > > > > > > > >
> > > > > > > > > > > On Thu, 2003-12-11 at 06:57, Ricardo Andrino wrote:
> > > > > > > > > > > > Hello and thank you again, I will do what you say.
> > > > > > > > > > > > Now i am running redboot fron RAM and try to run the hello program. I have made the following:
> > > > > > > > > > > >
> > > > > > > > > > > > 1)Convert the elf image (with no extension or .elf or .exe) to Binary (.bin) image:
> > > > > > > > > > > > for ARM:
> > > > > > > > > > > > $arm-elf-objcopy -O binary hello hello.bin
> > > > > > > > > > > >
> > > > > > > > > > > > 2)Open terminal:
> > > > > > > > > > > > for Linux: Open minicom
> > > > > > > > > > > > $ minicom
> > > > > > > > > > > >
> > > > > > > > > > > > 3)Set the baud rates & other Uart parameters:
> > > > > > > > > > > > usualy 38400 baud + 8bits + no parity + no handshake. Hardware and Software flow control NO.
> > > > > > > > > > > >
> > > > > > > > > > > > 4)RedBoot> load -r -m xmodem -b 0x000200c0 ( first memory zone available after download redboot_RAM.elf)
> > > > > > > > > > > >
> > > > > > > > > > > > 5)After issuing the command send the .bin file using XMODEM protocol:
> > > > > > > > > > > > for Linux (minicom):
> > > > > > > > > > > > issue send file command <Cntl+A, S>, select "send xmodem", type the path to the file (.bin) & send
> > > > > > > > > > > >
> > > > > > > > > > > > 6)At the Redboot prompt "RedBoot> " issue the 'go' command:
> > > > > > > > > > > > RedBoot> go 0x20100( after 40 position for vectors, i am not sure about this, should be 0x000200c0?)
> > > > > > > > > > > >
> > > > > > > > > > > > I should see the application running & the outputs on the terminal window but no output is diplayed but the led D3 light.........(EB40A)
> > > > > > > > > > > >
> > > > > > > > > > > > I have made correct the redboot_RAM.elf, connecto to redboot, a hello RAM aplication etc, etc....
> > > > > > > > > > > >
> > > > > > > > > > > > Any ideas?
> > > > > > > > > > >
> > > > > > > > > > > This doesn't work because the eCos application will be linked to run
> > > > > > > > > > > at 0x20000, but you've loaded it to 0x200C0. If your RedBoot is truly
> > > > > > > > > > > using all of that RAM, you'll need to adjust the memory layout for RAM
> > > > > > > > > > > applications to start higher.
> > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Much simpler would be to tune your RedBoot so that it's memory use is
> > > > > > > > > > > less. There are a number of simple things that you can do to help this.
> > > > > > > > > > > Try reducing the number of history lines - that should get it down
> > > > > > > > > > > quickly.
> > > > > > > > > > ***************************************************************************
> > > > > > > > > > Now I have downloaded redboot_RAM.elf file( i have followed your instructions) and the avalible memory is (0x0001f0a0-0x000400000) so i could run a Ram program from 0x00020000 couldn't i? But i load the .bin file instead the .elf file ( RedBoot> load -r -m xmodem -b 0x00020000) and no output is displayed too.
> > > > > > > > > > ****************************************************************************
> > > > > > > > > > > Also, don't load ELF images (I assume that's what you tried) with -r.
> > > > > > > > > > > This option tells RedBoot not to interpret the image at all. What you
> > > > > > > > > > > ended up doing was executing the ELF header - not exactly ARM code!
> > > > > > > > > > > If things are set up correctly, you should be able to just:
> > > > > > > > > > > RedBoot> load -m xm
> > > > > > > > > > > ... send file
> > > > > > > > > > > RedBoot> go
> > > > > > > > > > ****************************************************************************
> > > > > > > > > > If i do that ( download the ELF file instead the .bin) the download is interrupted and display the following message: Attempt to load ELF data to address :0x00008054 whih is not in RAM
> > > > > > > > > > ***************************************************************************
> > > > > > > > > > How could i change the traget.ld to run the aplications in higher address?
> > > > > > > > >
> > > > > > > > > You shouldn't need to now.
> > > > > > > > >
> > > > > > > > > The fact that you are getting this error tells all! The program is not
> > > > > > > > > configured to be a RAM eCos application. My guess is that you tried to
> > > > > > > > > use the ROM RedBoot configuration for this. You need to create a
> > > > > > > > > completely new build tree for your RAM application, separate from the
> > > > > > > > > one that you used to build RedBoot.
> > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Thanks in advance.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Nick Garnett <nickg@ecoscentric.com> schrieb am 11.12.03 12:35:45:
> > > > > > > > > > > > >
> > > > > > > > > > > > > <ricardo_andrino@web.de> writes:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > Hello,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > I have built redboot (RAM start up mode) and i have followed
> > > > > > > > > > > > > > all the instructions for EB40A board.All run correct but after
> > > > > > > > > > > > > > programming the flash memory( fi wr -f 0x01100000 -b %{FREEMEMLO} -l
> > > > > > > > > > > > > > 0x10000), the Prompt Redboot> doesn't allow me to type any command
> > > > > > > > > > > > > > (hangs up)and when i set JP1 to the user position and make a reset,
> > > > > > > > > > > > > > all leds light and redboot doesn't allow me to type any command
> > > > > > > > > > > > > > too. Any idea?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Once Redboot is good installed in flash the way to run it is typing
> > > > > > > > > > > > > > minicom and a redboot prompt must on the screen?
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > If you are seeing RedBoot output the prompt then it should be ready to
> > > > > > > > > > > > > accept input. It is very rare for one direction to work and the other
> > > > > > > > > > > > > not. Check that minicom is not set up to expect hardware flow
> > > > > > > > > > > > > control. Presumably you loaded a RAM RedBoot via Angel and then
> > > > > > > > > > > > > downloaded and flashed the ROM RedBoot using that. If the RAM RedBoot
> > > > > > > > > > > > > worked I cannot see why the ROM one fails. Try rebuilding the ROM
> > > > > > > > > > > > > RedBoot from scratch, in a clean directory, it's a longshot but maybe
> > > > > > > > > > > > > it was misconfigured in some way.
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > --
> > > > > > > > > > > > > Nick Garnett eCos Kernel Architect
> > > > > > > > > > > > > http://www.ecoscentric.com The eCos and RedBoot experts
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > --
> > > > > > > > > > > > > Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> > > > > > > > > > > > > and search the list archive: http://sources.redhat.com/ml/ecos-discuss
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > ______________________________________________________________________________
> > > > > > > > > > > > WEB.DE FreeMail wird 5 Jahre jung! Feiern Sie mit uns und
> > > > > > > > > > > > nutzen Sie die neuen Funktionen http://f.web.de/features/?mc=021130
> > > > > > > > > > > --
> > > > > > > > > > > Gary Thomas <gary@mlbassoc.com>
> > > > > > > > > > > MLB Associates
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > ______________________________________________________________________________
> > > > > > > > > > Horoskop, Comics, VIPs, Wetter, Sport und Lotto im WEB.DE Screensaver1.2
> > > > > > > > > > Kostenlos downloaden: http://screensaver.web.de/?mc=021110
> > > > > > > > > --
> > > > > > > > > Gary Thomas <gary@mlbassoc.com>
> > > > > > > > > MLB Associates
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> > > > > > > > > and search the list archive: http://sources.redhat.com/ml/ecos-discuss
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > ______________________________________________________________________________
> > > > > > > > WEB.DE FreeMail wird 5 Jahre jung! Feiern Sie mit uns und
> > > > > > > > nutzen Sie die neuen Funktionen http://f.web.de/features/?mc=021130
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> > > > > > > > and search the list archive: http://sources.redhat.com/ml/ecos-discuss
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > ______________________________________________________________________________
> > > > > > > Horoskop, Comics, VIPs, Wetter, Sport und Lotto im WEB.DE Screensaver1.2
> > > > > > > Kostenlos downloaden: http://screensaver.web.de/?mc=021110
> > > > > > --
> > > > > > Gary Thomas <gary@mlbassoc.com>
> > > > > > MLB Associates
> > > > > >
> > > > >
> > > > >
> > > > > ______________________________________________________________________________
> > > > > WEB.DE FreeMail wird 5 Jahre jung! Feiern Sie mit uns und
> > > > > nutzen Sie die neuen Funktionen http://f.web.de/features/?mc=021130
> > > > --
> > > > Gary Thomas <gary@mlbassoc.com>
> > > > MLB Associates
> > > >
> > > >
> > > > --
> > > > Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> > > > and search the list archive: http://sources.redhat.com/ml/ecos-discuss
> > > >
> > >
> > >
> > > ______________________________________________________________________________
> > > WEB.DE FreeMail wird 5 Jahre jung! Feiern Sie mit uns und
> > > nutzen Sie die neuen Funktionen http://f.web.de/features/?mc=021130
> > --
> > Gary Thomas <gary@mlbassoc.com>
> > MLB Associates
> >
> >
> > --
> > Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> > and search the list archive: http://sources.redhat.com/ml/ecos-discuss
> >
>
>
> ______________________________________________________________________________
> Horoskop, Comics, VIPs, Wetter, Sport und Lotto im WEB.DE Screensaver1.2
> Kostenlos downloaden: http://screensaver.web.de/?mc=021110
--
Gary Thomas <gary@mlbassoc.com>
MLB Associates
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss