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: How to handle it???


Thanks RandyLin:

here is my mlt_arm_snds_rom.ldi and mlt_arm_snds_ram.ldi which you want to see:

mlt_arm_snds_ram.ldi:

#include <cyg/infra/cyg_type.inc>

MEMORY
{
   ram : ORIGIN = 0x000000, LENGTH = 0x01000000
}

SECTIONS
{
   SECTIONS_BEGIN
   SECTION_fixed_vectors (ram, 0x20, LMA_EQ_VMA)
   SECTION_rom_vectors (ram, 0x50000, LMA_EQ_VMA)
   SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
   CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
   SECTIONS_END
}

and mlt_arm_snds_rom.ldi:

#include <cyg/infra/cyg_type.inc>

MEMORY
{
   ram : ORIGIN = 0, LENGTH = 0x1000000
   rom : ORIGIN = 0x1800000, LENGTH = 0x80000
}

SECTIONS
{
   SECTIONS_BEGIN
   SECTION_rom_vectors (rom, 0x1800000, LMA_EQ_VMA)
   SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA)
   SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_fixed_vectors (ram, 0x20, LMA_EQ_VMA)
   SECTION_data (ram, 0x20000, FOLLOWING (.gcc_except_table))
   SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
   CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
   SECTIONS_END
}

I did as you said(Only modified ROM and RAM config as above ),and using GDB can load app and app works perfectly fine.But when loading app using redboot commands "load -m xmodem"("load -m tftp" is same),and using "go" to execute app,redboot still will display strange string as

"$T0a0f:86000000;0d:80060200;#17$T0a0f:86000000;0d:80060200;#17$T0a0f:86000000;0d:80060"

Even if added the macro "CYGSEM_HAL_USE_ROM_MONITOR" in file hal_arm_snds.cdl,the result were same.What is your detail steps in your successful executing app under redboot commands?

Thanks lot!

zheng




From: RandyLin@mxic.com.tw
To: ecos-discuss@sources.redhat.com
CC: wj_zheng10@hotmail.com
Subject: [ECOS] How to handle it???
Date: Wed, 3 Dec 2003 10:05:08 +0800


Can you use "load -m ymodem" or "load -m xmodem" to load ap?? I saw your mlt_arm_snds_rom.ldi and mlt_arm_snds_ram.ldi....it may be wrong... I assume your redboot is ROM mode, so redboot's data section is at 0x20000 when u use arm-elf-gdb to load ap(RAM mode), it overwrite the redboot's data section, because your mlt_arm_snds_ram.ldi locate the rom_vectors and following section to 0x20000 so that's why u got the "Ignoring packet error, continuing..", I modify the SECTION_rom_vectors (ram, 0x00050000, LMA_EQ_VMA) in mlt_arm_snds_ram.ldi "-r" option is for binary data, your ap is elf format, don't use "-r" can u post the whole mlt_arm_snds_rom.ldi? I don't know why you got the message "0x20000 which is not in RAM" wish this help.




Thanks RandyLin:
Now my redboot can work,and I can use redboot command "load ......-m


tftp....."to download app to snds board.
       Howerer, if not using -r option,the error as displayed "***Abort!
Attempt to load ELF data to address: 0x00020000 which is not in RAM".
       If using  -r option,app looks like to be downloaded correctly,but
the
display is "Raw file loaded 0x00300000-0x003c6116, assumed entry at
0x00300000",and then if  using redboot command "go 0x00300000" to execute
the app,the redboot will display some strange strings as
"
$T0a0f:86000000;0d:80060200;#17$T0a0f:86000000;0d:80060200;
#17$T0a0f:8600"on
console.

to above,the config is SECTION_fixed_vectors (ram, 0x20, LMA_EQ_VMA)   and
SECTION_rom_vectors (ram, 0x20000, LMA_EQ_VMA) in file mlt_arm_snds_ram.ldi

and SECTION_fixed_vectors (ram, 0x20, LMA_EQ_VMA) and SECTION_data (ram,

0x20000, FOLLOWING (.gcc_except_table)) in mlt_arm_snds_rom.ldi

If using arm-elf-gdb to download app,the steps is as following:
1 [root@zheng root]#arm-elf-gdb
2(gdb) target remote /dev/ttyS0
Remote debugging using /dev/ttyS0
0x01804b30 in ?? ()
(gdb) load /tftpboot/hello
Loading section .rom_vectors, size 0x40 lma 0x20000
Loading section .text, size 0xfe00 lma 0x20040
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...

and gdb use the same serial line as the hyperspatial,the baudrate is 38400.


Why did these error happen?Can some one have good idea to handle it?


Thanks a lot!

_________________________________________________________________
Help STOP SPAM with the new MSN 8 and get 2 months FREE*
http://join.msn.com/?page=features/junkmail


-- Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos and search the list archive: http://sources.redhat.com/ml/ecos-discuss







--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


_________________________________________________________________
Winterize your home with tips from MSN House & Home. http://special.msn.com/home/warmhome.armx



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