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: One question..


On Sat, 2004-06-26 at 06:26, anton yakovlev wrote:
> Gary Thomas wrote:
> 
> >On Sat, 2004-06-26 at 02:59, anton yakovlev wrote:
> >  
> >
> >>Gary Thomas wrote:
> >>    
> >>
> >>>On Fri, 2004-06-25 at 02:09, anton yakovlev wrote:
> >>>      
> >>>
> >>>>Hi, all!
> >>>>
> >>>>I have a programm:
> >>>>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> >>>>#include <stdio.h>
> >>>>#include <cyg/kernel/kapi.h>
> >>>>
> >>>>void first(cyg_addrword_t threadData) {
> >>>>
> >>>>   (void) threadData;
> >>>>   printf("the first thread\n");
> >>>>
> >>>>}
> >>>>
> >>>>static char stack_a[4096];
> >>>>static cyg_thread thread_a;
> >>>>static cyg_handle_t handle_a;
> >>>>
> >>>>void cyg_user_start(void) {
> >>>>  
> >>>>   cyg_thread_create(10, first, 0, "first", stack_a, 4096, &handle_a, 
> >>>>&thread_a);
> >>>>   cyg_thread_resume(handle_a);
> >>>>
> >>>>}
> >>>>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> >>>>but when i try to executing it, i see only following:
> >>>>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> >>>>RedBoot> load -r -m y -b 0x205000
> >>>>Raw file loaded 0x00205000-0x00210500
> >>>>xyzModem - CRC mode, 363(SOH)/0(STX)/0(CAN) packets, 3 retries
> >>>>RedBoot> go 0x205000
> >>>>        
> >>>>
> >>>Why did you specify raw mode (-r)?  When you do this, RedBoot loads the 
> >>>file directly into memory without any processing at all, probably not
> >>>what you want to do.
> >>>      
> >>>
> >>Because I upload exactly raw image.. neither elf-image, nor s-record..
> >>    
> >>
> >
> >That's fine (many people make mistakes here, but you've not). 
> >
> >Was the program linked to load at 0x205000?  eCos programs are *not* 
> >position independent and must be loaded to memory that matches how they
> >are built/linked.
> >  
> >
> Hm.. I did not think about this.. I use GNU ld with "-L <smth> 
> -Wl,--gc-sections -nostartfiles -Ttarget.ld -nostdlib" flags.. Simple 
> "hello, world" and some more complex programms work's properly.. How to 
> check, which way the program was linked?..

The command "XXX-objdump -h file.elf" will show how the program was
linked.

> 
> PS: When I turn on full kernel debug, that my above programm work's 
> fine.. but when I try to execute more complex multithreaded program, 
> this programm failed while system initialization with "ASSERT FAIL: 
> mutex.cxx cyg_bool Cyg_Mutex::lock()".. :(

This would be a separate problem.  Have you run the standard tests to 
see how they perform on your platform?

> 
> >>>How did you create the file that's being downloaded?  Is it an 
> >>>executable (ELF) image?  or possibly S-records?
> >>>      
> >>>
> >> From elf-image using objcopy..
> >>    
> >>
> >>>>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> >>>>i.e. thread want not to start.. Why so?..
> >>>>
> >>>>I have Falcom fx35xxlsi (based on NEC V850 processors family) platform 
> >>>>with eCos 2.0.. I build eCos from the sources.. Maybe I have broken 
> >>>>configuration?..
> >>>>        
> >>>>
-- 
Gary Thomas <gary@mlbassoc.com>
MLB Associates


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]