From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23015 invoked by alias); 12 Dec 2003 09:35:23 -0000 Mailing-List: contact ecos-discuss-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@sources.redhat.com Received: (qmail 23000 invoked from network); 12 Dec 2003 09:35:19 -0000 Received: from unknown (HELO mailgate5.cinetic.de) (217.72.192.165) by sources.redhat.com with SMTP; 12 Dec 2003 09:35:19 -0000 Received: from web.de (fmomail02.dlan.cinetic.de [172.20.1.46]) by mailgate5.cinetic.de (8.11.6p2/8.11.2/SuSE Linux 8.11.0-0.4) with SMTP id hBC9ZGQ05918; Fri, 12 Dec 2003 10:35:16 +0100 Date: Fri, 12 Dec 2003 10:35:00 -0000 Message-Id: <200312120935.hBC9ZGQ05918@mailgate5.cinetic.de> MIME-Version: 1.0 Organization: http://freemail.web.de/ From: "Ricardo Andrino" To: "GaryThomas" Cc: ecos-discuss@sources.redhat.com, "NickGarnett" Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Subject: Re: [ECOS] Run Redboot from flash X-SW-Source: 2003-12/txt/msg00185.txt.bz2 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. "Ricardo Andrino" 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 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 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 , 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 schrieb am 11.12.03 12:35:45: > > > > > > > > > > > > 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 > > > > MLB Associates > > > > > > > > > > > > > ______________________________________________________________________________ > > > Horoskop, Comics, VIPs, Wetter, Sport und Lotto im WEB.DE Screensaver1.2 > > > Kostenlos downloaden: http://screensaver.web.de/?mc=021110 > > -- > > Gary Thomas > > 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 -- Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos and search the list archive: http://sources.redhat.com/ml/ecos-discuss