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]

running application problem [IXDP425]


Hi,
I have configured (with ecosconfig tool) and build default kernel for
ixdp425 board.
I have also build application in examples directory (hello, twothreads
ecc.).
The build process work fine.
When i download and run any application (with gdb and/or load command from
RedBoot prompt) the application "not exit".
For the hello program, the output of redboot is following:
----------------------------------------------------------------------------
-----
+IP: 192.168.1.55/255.255.255.0, Gateway: 192.168.1.1
Default server: 192.168.1.202

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 14:32:40, Sep 24 2004

Platform: IXDP425 Development Platform (XScale) BE
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

RAM: 0x00000000-0x10000000, [0x0001fe20-0x0ffd0000] available
FLASH: 0x50000000 - 0x51000000, 128 blocks of 0x00020000 bytes each.
RedBoot> load hello
Using default protocol (TFTP)
Entry point: 0x00080040, address range: 0x00080000-0x00088644
RedBoot> go
Hello, eCos world!
----------------------------------------------------------------------------
-----
The redboot does not return the prompt and I must reset the bord!

I enable tracing, and the output is the following:
----------------------------------------------------------------------------
-----
 +Ethernet eth0: MAC address 00:12:34:56:78:9a
IP: 192.168.1.55/255.255.255.0, Gateway: 192.168.1.1
Default server: 192.168.1.202

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 14:32:40, Sep 24 2004

Platform: IXDP425 Development Platform (XScale) BE
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

RAM: 0x00000000-0x10000000, [0x0001fe20-0x0ffd0000] available
FLASH: 0x50000000 - 0x51000000, 128 blocks of 0x00020000 bytes each.
RedBoot> load hello
Using default protocol (TFTP)
Entry point: 0x00080040, address range: 0x00080000-0x00098fe8
RedBoot> go
TRACE:
<FFFF>[89]Cyg_Scheduler_Implementation::Cyg_Scheduler_Implementation() enter
TRACE:
<FFFF>[110]Cyg_Scheduler_Implementation::Cyg_Scheduler_Implementation()
return void
TRACE: <FFFF>[95]Cyg_Exception_Control::Cyg_Exception_Control() enter
TRACE: <FFFF>[107]Cyg_Exception_Control::Cyg_Exception_Control() return void
TRACE: <FFFF>[87]Cyg_Counter::Cyg_Counter() enter
TRACE: <FFFF>[87]Cyg_Counter::Cyg_Counter() RETURNING UNSET!
TRACE: <FFFF>[432]Cyg_Clock::Cyg_Clock() enter
TRACE: <FFFF>[432]Cyg_Clock::Cyg_Clock() RETURNING UNSET!
TRACE: <FFFF>[86]Cyg_Interrupt::Cyg_Interrupt() enter
TRACE: <FFFF>[86]Cyg_Interrupt::Cyg_Interrupt() vector=5, priority=1,
data=0009ce54, isr=0008fbcc, dsr=0008fbf8
TRACE: <FFFF>[109]Cyg_Interrupt::Cyg_Interrupt() return void
TRACE: <FFFF>[838]Cyg_RealTimeClock::Cyg_RealTimeClock() enter
TRACE: <FFFF>[395]void Cyg_Interrupt::attach() enter
TRACE: <FFFF>[456]void Cyg_Interrupt::attach() return void
TRACE: <FFFF>[659]static void Cyg_Interrupt::unmask_interrupt() enter
TRACE: <FFFF>[672]static void Cyg_Interrupt::unmask_interrupt() return void
TRACE: <FFFF>[838]Cyg_RealTimeClock::Cyg_RealTimeClock() RETURNING UNSET!
TRACE:
<FFFF>[578]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()
enter
TRACE:
<FFFF>[578]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()
sched_info=0000001f
TRACE:
<FFFF>[592]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()
return void
TRACE: <FFFF>[468]Cyg_SchedThread::Cyg_SchedThread() enter
TRACE: <FFFF>[468]Cyg_SchedThread::Cyg_SchedThread() RETURNING UNSET!
TRACE: <FFFF>[647]Cyg_Alarm::Cyg_Alarm() enter
TRACE: <FFFF>[647]Cyg_Alarm::Cyg_Alarm() RETURNING UNSET!
TRACE: <FFFF>[200]Cyg_Thread::Cyg_Thread() enter
TRACE: <FFFF>[420]void Cyg_Scheduler_Implementation::register_thread() enter
TRACE: <FFFF>[420]void Cyg_Scheduler_Implementation::register_thread()
thread=0009abf0
TRACE: <FFFF>[423]void Cyg_Scheduler_Implementation::register_thread()
return void
TRACE: <FFFF>[238]Cyg_Thread::Cyg_Thread() return void
TRACE: <FFFF>[1288]Cyg_IdleThread::Cyg_IdleThread() enter
TRACE: <1>[611]void Cyg_Thread::resume() enter
TRACE: <1>[202]void Cyg_Scheduler_Implementation::add_thread() enter
TRACE: <1>[202]void Cyg_Scheduler_Implementation::add_thread()
thread=0009abf0
TRACE: <1>[263]void Cyg_Scheduler_Implementation::add_thread() return void
TRACE: <1>[642]void Cyg_Thread::resume() return void
TRACE: <1>[1295]Cyg_IdleThread::Cyg_IdleThread() return void
TRACE: <1>[92]Cyg_Mutex::Cyg_Mutex() enter
TRACE: <1>[130]Cyg_Mutex::Cyg_Mutex() return void
TRACE: <1>[122]malloc() enter
TRACE: <1>[122]malloc() size=256
TRACE: <1>[247]cyg_uint8* Cyg_Mempolt2<T>::try_alloc() enter
TRACE: <1>[395]cyg_bool Cyg_Mempolt2<T>::check_this() enter
TRACE: <1>[395]cyg_bool Cyg_Mempolt2<T>::check_this() RETURNING UNSET!
TRACE: <1>[395]cyg_bool Cyg_Mempolt2<T>::check_this() enter
TRACE: <1>[395]cyg_bool Cyg_Mempolt2<T>::check_this() RETURNING UNSET!
TRACE: <1>[247]cyg_uint8* Cyg_Mempolt2<T>::try_alloc() RETURNING UNSET!
TRACE: <1>[147]malloc() returning pointer 0009d3f0
TRACE: <1>[92]Cyg_Mutex::Cyg_Mutex() enter
TRACE: <1>[130]Cyg_Mutex::Cyg_Mutex() return void
TRACE:
<1>[578]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()
enter
TRACE:
<1>[578]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()
sched_info=0000000a
TRACE:
<1>[592]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()
return void
TRACE: <1>[468]Cyg_SchedThread::Cyg_SchedThread() enter
TRACE: <1>[468]Cyg_SchedThread::Cyg_SchedThread() RETURNING UNSET!
TRACE: <1>[647]Cyg_Alarm::Cyg_Alarm() enter
TRACE: <1>[647]Cyg_Alarm::Cyg_Alarm() RETURNING UNSET!
TRACE: <1>[200]Cyg_Thread::Cyg_Thread() enter
TRACE: <1>[420]void Cyg_Scheduler_Implementation::register_thread() enter
TRACE: <1>[420]void Cyg_Scheduler_Implementation::register_thread()
thread=0009cd70
TRACE: <1>[423]void Cyg_Scheduler_Implementation::register_thread() return
void
TRACE: <1>[238]Cyg_Thread::Cyg_Thread() return void
TRACE: <1>[88]cyg_iso_c_start() enter
TRACE: <1>[88]cyg_iso_c_start() (void)
TRACE: <1>[92]void cyg_iso_c_start() Resuming cyg_libc_main_thread
TRACE: <1>[611]void Cyg_Thread::resume() enter
TRACE: <1>[202]void Cyg_Scheduler_Implementation::add_thread() enter
TRACE: <1>[202]void Cyg_Scheduler_Implementation::add_thread()
thread=0009cd70
TRACE: <1>[263]void Cyg_Scheduler_Implementation::add_thread() return void
TRACE: <1>[642]void Cyg_Thread::resume() return void
TRACE: <1>[95]cyg_iso_c_start() return void
TRACE: <1>[122]malloc() enter
TRACE: <1>[122]malloc() size=256
TRACE: <1>[247]cyg_uint8* Cyg_Mempolt2<T>::try_alloc() enter
TRACE: <1>[395]cyg_bool Cyg_Mempolt2<T>::check_this() enter
TRACE: <1>[395]cyg_bool Cyg_Mempolt2<T>::check_this() RETURNING UNSET!
TRACE: <1>[395]cyg_bool Cyg_Mempolt2<T>::check_this() enter
TRACE: <1>[395]cyg_bool Cyg_Mempolt2<T>::check_this() RETURNING UNSET!
TRACE: <1>[247]cyg_uint8* Cyg_Mempolt2<T>::try_alloc() RETURNING UNSET!
TRACE: <1>[147]malloc() returning pointer 0009d4f8
TRACE: <1>[92]Cyg_Mutex::Cyg_Mutex() enter
TRACE: <1>[130]Cyg_Mutex::Cyg_Mutex() return void
TRACE: <1>[92]Cyg_Mutex::Cyg_Mutex() enter
TRACE: <1>[130]Cyg_Mutex::Cyg_Mutex() return void
TRACE: <1>[94]void cyg_start() enter
TRACE: <1>[94]void cyg_start() (void)
TRACE: <1>[75]void cyg_prestart() enter
TRACE: <1>[75]void cyg_prestart() (void)
TRACE: <1>[78]void cyg_prestart() This is the system default cyg_prestart()
TRACE: <1>[82]void cyg_prestart() return void
TRACE: <1>[85]void cyg_package_start() enter
TRACE: <1>[85]void cyg_package_start() (void)
TRACE: <1>[88]void cyg_package_start() This is the system default
cyg_package_start()
TRACE: <1>[96]void cyg_package_start() return void
TRACE: <1>[75]void cyg_user_start() enter
TRACE: <1>[75]void cyg_user_start() (void)
TRACE: <1>[78]void cyg_user_start() This is the system default
cyg_user_start()
TRACE: <1>[82]void cyg_user_start() return void
TRACE: <1>[318]static void Cyg_Scheduler::start() enter
TRACE: <1>[344]static void Cyg_Scheduler::start_cpu() enter
TRACE: <1>[119]Cyg_Thread* Cyg_Scheduler_Implementation::schedule() enter
TRACE: <1>[192]Cyg_Thread* Cyg_Scheduler_Implementation::schedule()
returning thread 0009cd70
TRACE: <2>[87]static void Cyg_HardwareThread::thread_entry() enter
TRACE: <2>[101]cyg_libc_invoke_main() enter
TRACE: <2>[101]cyg_libc_invoke_main() argument is ignored
TRACE: <2>[80]__strlen() enter
TRACE: <2>[80]__strlen() s=000936c8
TRACE: <2>[127]__strlen() returning length 18
TRACE: <2>[216]cyg_bool Cyg_Mutex::lock() enter
TRACE: <2>[322]cyg_bool Cyg_Mutex::lock() returning 1
TRACE: <2>[382]void Cyg_Mutex::unlock() enter
TRACE: <2>[705]void Cyg_SchedThread::disinherit_priority() enter
TRACE: <2>[628]void Cyg_SchedThread::clear_inherited_priority() enter
TRACE: <2>[628]void Cyg_SchedThread::clear_inherited_priority() RETURNING
UNSET!
TRACE: <2>[705]void Cyg_SchedThread::disinherit_priority() RETURNING UNSET!
TRACE: <2>[447]void Cyg_Mutex::unlock() return void
TRACE: <2>[78]fputc() enter
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() enter
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() RETURNING UNSET!
TRACE: <2>[78]fputc() c = 10, stream=0009ce10
TRACE: <2>[216]cyg_bool Cyg_Mutex::lock() enter
TRACE: <2>[322]cyg_bool Cyg_Mutex::lock() returning 1
TRACE: <2>[216]cyg_bool Cyg_Mutex::lock() enter
TRACE: <2>[322]cyg_bool Cyg_Mutex::lock() returning 1
Hello, eCos world!
TRACE: <2>[382]void Cyg_Mutex::unlock() enter
TRACE: <2>[447]void Cyg_Mutex::unlock() return void
TRACE: <2>[382]void Cyg_Mutex::unlock() enter
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() enter
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() RETURNING UNSET!
TRACE: <2>[705]void Cyg_SchedThread::disinherit_priority() enter
TRACE: <2>[628]void Cyg_SchedThread::clear_inherited_priority() enter
TRACE: <2>[628]void Cyg_SchedThread::clear_inherited_priority() RETURNING
UNSET!
TRACE: <2>[705]void Cyg_SchedThread::disinherit_priority() RETURNING UNSET!
TRACE: <2>[447]void Cyg_Mutex::unlock() return void
TRACE: <2>[93]fputc() wrote char 10
TRACE: <2>[116]void cyg_libc_invoke_main() main() has returned with code 0.
Calling exit()
TRACE: <2>[77]void exit() enter
TRACE: <2>[77]void exit() status=0
TRACE: <2>[87]cyg_libc_invoke_atexit_handlers() enter
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() enter
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() RETURNING UNSET!
TRACE: <2>[87]cyg_libc_invoke_atexit_handlers() (void)
TRACE: <2>[106]cyg_libc_invoke_atexit_handlers() return void
TRACE: <2>[93]void exit() Calling fflush( NULL )
TRACE: <2>[333]cyg_bool Cyg_Mutex::trylock() enter
TRACE: <2>[372]cyg_bool Cyg_Mutex::trylock() returning 1
TRACE: <2>[382]void Cyg_Mutex::unlock() enter
TRACE: <2>[705]void Cyg_SchedThread::disinherit_priority() enter
TRACE: <2>[628]void Cyg_SchedThread::clear_inherited_priority() enter
TRACE: <2>[628]void Cyg_SchedThread::clear_inherited_priority() RETURNING
UNSET!
TRACE: <2>[705]void Cyg_SchedThread::disinherit_priority() RETURNING UNSET!
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() enter
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() RETURNING UNSET!
TRACE: <2>[447]void Cyg_Mutex::unlock() return void
TRACE: <2>[333]cyg_bool Cyg_Mutex::trylock() enter
TRACE: <2>[372]cyg_bool Cyg_Mutex::trylock() returning 1
TRACE: <2>[382]void Cyg_Mutex::unlock() enter
TRACE: <2>[705]void Cyg_SchedThread::disinherit_priority() enter
TRACE: <2>[628]void Cyg_SchedThread::clear_inherited_priority() enter
TRACE: <2>[628]void Cyg_SchedThread::clear_inherited_priority() RETURNING
UNSET!
TRACE: <2>[705]void Cyg_SchedThread::disinherit_priority() RETURNING UNSET!
TRACE: <2>[447]void Cyg_Mutex::unlock() return void
TRACE: <2>[80]void _exit() enter
TRACE: <2>[80]void _exit() status=0
TRACE: <2>[750]static void Cyg_Thread::exit() enter
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() enter
TRACE: <2>[421]cyg_bool Cyg_Scheduler::check_this() RETURNING UNSET!
TRACE: <2>[271]void Cyg_Scheduler_Implementation::rem_thread() enter
TRACE: <2>[271]void Cyg_Scheduler_Implementation::rem_thread()
thread=0009cd70
TRACE: <2>[325]void Cyg_Scheduler_Implementation::rem_thread() return void
TRACE: <2>[119]Cyg_Thread* Cyg_Scheduler_Implementation::schedule() enter
TRACE: <2>[192]Cyg_Thread* Cyg_Scheduler_Implementation::schedule()
returning thread 0009abf0
TRACE: <2>[87]static void Cyg_HardwareThread::thread_entry() enter
TRACE: <1>[1239]void idle_thread_main() enter
TRACE: <1>[421]cyg_bool Cyg_Scheduler::check_this() enter
TRACE: <1>[421]cyg_bool Cyg_Scheduler::check_this() RETURNING UNSET!
TRACE: <1>[421]cyg_bool Cyg_Scheduler::check_this() enter
TRACE: <1>[421]cyg_bool Cyg_Scheduler::check_this() RETURNING UNSET!
TRACE: <1>[421]cyg_bool Cyg_Scheduler::check_this() enter
TRACE: <1>[421]cyg_bool Cyg_Scheduler::check_this() RETURNING UNSET!
TRACE: <1>[421]cyg_bool Cyg_Scheduler::check_this() enter
TRACE: <1>[421]cyg_bool Cyg_Scheduler::check_this() RETURNING UNSET!
                                          <infinite loop>
----------------------------------------------------------------------------
-----
Using insight I see that the execution break in the exit (rc) function, in
the incokemain.cxx file line 123.
What is the problem?


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