[ECOS] How to handle it???

RandyLin@mxic.com.tw RandyLin@mxic.com.tw
Thu Dec 4 20:45:00 GMT 2003


Can you check your project directory XXXX_install/include/pkgconf/hal.h
There should be
=======================
#define CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE 1
=======================
if not, maybe that's the problem.
I think your output is encode by mangler.
and gdb know the format, and works fine.
but hyperteminal know nothing about it, so ugly string output.



                                                                                                                       
                      "zheng wujun"                                                                                    
                      <wj_zheng10@hotmail.com>           收件人: RandyLin@mxic.com.tw                                 
                      寄件人:                           副本抄送:     ecos-discuss@sources.redhat.com                
                      ecos-discuss-owner@sources         主旨:   RE: [ECOS] How to handle it???                       
                      .redhat.com                                                                                      
                                                                                                                       
                                                                                                                       
                      2003/12/04 11:10 AM                                                                              
                                                                                                                       
                                                                                                                       






>From: RandyLin@mxic.com.tw
>To: ecos-discuss@sources.redhat.com
>CC: wj_zheng10@hotmail.com
>Subject: RE: [ECOS] How to handle it???
>Date: Wed, 3 Dec 2003 17:16:43 +0800
>
>
>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 <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
> >
> >
> >
> >
> >
> >
hi,RandyLin:
I don't know if you had done some other steps or made some other
modification,but I did as what you had said,it seems no use.why?

Thanks lot!

zheng

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

_________________________________________________________________
The new MSN 8: smart spam protection and 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






More information about the Ecos-discuss mailing list