From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11285 invoked by alias); 3 Dec 2003 09:21:01 -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 11225 invoked from network); 3 Dec 2003 09:20:47 -0000 Received: from unknown (HELO mxic.com.tw) (203.66.160.36) by sources.redhat.com with SMTP; 3 Dec 2003 09:20:47 -0000 Received: by mxic.com.tw; id RAA20218; Wed, 3 Dec 2003 17:20:38 +0800 (CST) Received: from unknown(192.168.1.11) by mxsrv.mxic.com.tw via smap (V5.5) id xmata5699; Wed, 3 Dec 03 17:19:57 +0800 Received: from TWMAIL01.MXIC.COM.TW (twmail01.mxic.com.tw [192.168.11.4]) by mxmailbk.mxic.com.tw (8.9.3/8.8.7) with ESMTP id QAA26495; Wed, 3 Dec 2003 16:56:26 +0800 From: RandyLin@mxic.com.tw To: ecos-discuss@sources.redhat.com Cc: wj_zheng10@hotmail.com Message-ID: Date: Wed, 03 Dec 2003 09:21:00 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii Subject: RE: [ECOS] How to handle it??? X-SW-Source: 2003-12/txt/msg00044.txt.bz2 It's nice to hear that you can use gdb to run the ap:) your mlt_arm_snds_ram.ldi and mlt_arm_snds_rom.ldi seems fine. I add the following to hal_arm_snds.cdl, copy from hal_arm_at91.cdl ================================== + cdl_option CYGSEM_HAL_USE_ROM_MONITOR { + display "Work with a ROM monitor" + flavor booldata + legal_values { "Generic" "GDB_stubs" } + default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 } + parent CYGPKG_HAL_ROM_MONITOR + requires { CYG_HAL_STARTUP == "RAM" } + description " + Support can be enabled for different varieties of ROM monitor. + This support changes various eCos semantics such as the encoding + of diagnostic output, or the overriding of hardware interrupt + vectors. + Firstly there is \"Generic\" support which prevents the HAL + from overriding the hardware vectors that it does not use, to + instead allow an installed ROM monitor to handle them. This is + the most basic support which is likely to be common to most + implementations of ROM monitor. + \"GDB_stubs\" provides support when GDB stubs are included in + the ROM monitor or boot ROM." + } ==================================== and add the following to redboot_ROM.ecm, ======================== +cdl_option CYGSEM_HAL_USE_ROM_MONITOR { + inferred_value 0 0 +}; ======================== maybe you should recompile the redboot[ROM], and ap[RAM] then try again,good luck....^^ 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 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 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