public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] Timer tick dosen't work, when printf string > 24
       [not found] <dd9328150604110059j6587149ek81a127cff19e286@mail.gmail.com>
@ 2006-04-11  8:10 ` 廖友鍾
  2006-04-11  8:20   ` Andrew Lunn
  0 siblings, 1 reply; 3+ messages in thread
From: 廖友鍾 @ 2006-04-11  8:10 UTC (permalink / raw)
  To: ecos-discuss

Hi,
I used Sumsung s3c2410 development board(SMDK2410) to run simple-alarm
example program.
I add LED flash function in hal_clock_reset() and add one line printf
function in cyg_user_start() in simple-alarm.c file.


void cyg_user_start(void)
{
  printf("12345678901234567890123\n");//Add one line prinf function here

  cyg_thread_create(4, alarm_prog, (cyg_addrword_t) 0,
      "alarm_thread", (void *) stack[0],
      STACKSIZE, &thread[0], &thread_obj[0]);
  cyg_thread_resume(thread[0]);
}

If string lenth in prinf function is small than 24, the timer tick is
working correctly and LED flashing.

If I modify printf("123456789012345678901234\n"), now the string lenth
become 25 then time tick dosen't work and LED dosen's flashing.

This is very strange 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ECOS] Timer tick dosen't work, when printf string > 24
  2006-04-11  8:10 ` [ECOS] Timer tick dosen't work, when printf string > 24 廖友鍾
@ 2006-04-11  8:20   ` Andrew Lunn
  2006-04-11  8:42     ` Luke Liao
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Lunn @ 2006-04-11  8:20 UTC (permalink / raw)
  To: ??????; +Cc: ecos-discuss

On Tue, Apr 11, 2006 at 04:10:46PM +0800, ?????? wrote:

Hi ??????

> Hi,
> I used Sumsung s3c2410 development board(SMDK2410) to run simple-alarm
> example program.
> I add LED flash function in hal_clock_reset() and add one line printf
> function in cyg_user_start() in simple-alarm.c file.
> 
> 
> void cyg_user_start(void)
> {
>   printf("12345678901234567890123\n");//Add one line prinf function here
> 
>   cyg_thread_create(4, alarm_prog, (cyg_addrword_t) 0,
>       "alarm_thread", (void *) stack[0],
>       STACKSIZE, &thread[0], &thread_obj[0]);
>   cyg_thread_resume(thread[0]);
> }
> 
> If string lenth in prinf function is small than 24, the timer tick is
> working correctly and LED flashing.
> 
> If I modify printf("123456789012345678901234\n"), now the string lenth
> become 25 then time tick dosen't work and LED dosen's flashing.
> 
> This is very strange problem.

No, not really. Try enabling CYGPKG_INFRA_DEBUG

        Andrew

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ECOS] Timer tick dosen't work, when printf string > 24
  2006-04-11  8:20   ` Andrew Lunn
@ 2006-04-11  8:42     ` Luke Liao
  0 siblings, 0 replies; 3+ messages in thread
From: Luke Liao @ 2006-04-11  8:42 UTC (permalink / raw)
  To: ecos-discuss

[-- Attachment #1: Type: text/plain, Size: 238 bytes --]

> No, not really. Try enabling CYGPKG_INFRA_DEBUG
>
>        Andrew
>
I enable CYGPKG_INFRA_DEBUG and log will stop on
Cyg_Scheduler_Implementation::schedule().

Please see attach log file to get more detail infomation, than you.

[-- Attachment #2: trace_log.txt --]
[-- Type: text/plain, Size: 20039 bytes --]


SMDK2410 # go 0x30008040
## Starting application at 0x30008040 ...
TRACE: mlqueue.cxx         [  89] Cyg_Scheduler_Implementation::Cyg_Scheduler_Implementation()                                         {{enter
TRACE: mlqueue.cxx         [ 110] Cyg_Scheduler_Implementation::Cyg_Scheduler_Implementation()                                         }}return void
TRACE: except.cxx          [  95] Cyg_Exception_Control::Cyg_Exception_Control()                                                       {{enter
TRACE: except.cxx          [ 107] Cyg_Exception_Control::Cyg_Exception_Control()                                                       }}return void
TRACE: clock.cxx           [  87] Cyg_Counter::Cyg_Counter()                                                                           {{enter
TRACE: clock.cxx           [  87] Cyg_Counter::Cyg_Counter()                                                                           }}RETURNING UNSET!
TRACE: clock.cxx           [ 432] Cyg_Clock::Cyg_Clock()                                                                               {{enter
TRACE: clock.cxx           [ 432] Cyg_Clock::Cyg_Clock()                                                                               }}RETURNING UNSET!
TRACE: intr.cxx            [  86] Cyg_Interrupt::Cyg_Interrupt()                                                                       {{enter
TRACE: intr.cxx            [  86] Cyg_Interrupt::Cyg_Interrupt()                                                                         ((vector=14, priority=1, data=3001fbdc, isr=30014540, dsr=3001456c))
TRACE: intr.cxx            [ 109] Cyg_Interrupt::Cyg_Interrupt()                                                                       }}return void
TRACE: clock.cxx           [ 838] Cyg_RealTimeClock::Cyg_RealTimeClock()                                                               {{enter
TRACE: intr.cxx            [ 395] void Cyg_Interrupt::attach()                                                                           {{enter
TRACE: intr.cxx            [ 456] void Cyg_Interrupt::attach()                                                                           }}return void
TRACE: intr.cxx            [ 659] static void Cyg_Interrupt::unmask_interrupt()                                                          {{enter
TRACE: intr.cxx            [ 672] static void Cyg_Interrupt::unmask_interrupt()                                                          }}return void
TRACE: clock.cxx           [ 838] Cyg_RealTimeClock::Cyg_RealTimeClock()                                                               }}RETURNING UNSET!
TRACE: mlqueue.cxx         [ 578] Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()                                     {{enter
TRACE: mlqueue.cxx         [ 578] Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()                                       ((sched_info=0000001f))
TRACE: mlqueue.cxx         [ 592] Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()                                     }}return void
TRACE: sched.cxx           [ 493] Cyg_SchedThread::Cyg_SchedThread()                                                                   {{enter
TRACE: sched.cxx           [ 493] Cyg_SchedThread::Cyg_SchedThread()                                                                   }}RETURNING UNSET!
TRACE: clock.cxx           [ 647] Cyg_Alarm::Cyg_Alarm()                                                                               {{enter
TRACE: clock.cxx           [ 647] Cyg_Alarm::Cyg_Alarm()                                                                               }}RETURNING UNSET!
TRACE: thread.cxx          [ 186] Cyg_Thread::Cyg_Thread()                                                                             {{enter
TRACE: mlqueue.cxx         [ 420] void Cyg_Scheduler_Implementation::register_thread()                                                   {{enter
TRACE: mlqueue.cxx         [ 420] void Cyg_Scheduler_Implementation::register_thread()                                                     ((thread=3001d9b8))
TRACE: mlqueue.cxx         [ 423] void Cyg_Scheduler_Implementation::register_thread()                                                   }}return void
TRACE: thread.cxx          [ 224] Cyg_Thread::Cyg_Thread()                                                                             }}return void
TRACE: thread.cxx          [1275] Cyg_IdleThread::Cyg_IdleThread()                                                                     {{enter
TRACE: thread.cxx          [ 597] void Cyg_Thread::resume()                                                                              {{enter
TRACE: mlqueue.cxx         [ 202] void Cyg_Scheduler_Implementation::add_thread()                                                          {{enter
TRACE: mlqueue.cxx         [ 202] void Cyg_Scheduler_Implementation::add_thread()                                                            ((thread=3001d9b8))
TRACE: mlqueue.cxx         [ 263] void Cyg_Scheduler_Implementation::add_thread()                                                          }}return void
TRACE: thread.cxx          [ 628] void Cyg_Thread::resume()                                                                              }}return void
TRACE: thread.cxx          [1282] Cyg_IdleThread::Cyg_IdleThread()                                                                     }}return void
TRACE: mutex.cxx           [  92] Cyg_Mutex::Cyg_Mutex()                                                                               {{enter
TRACE: mutex.cxx           [ 130] Cyg_Mutex::Cyg_Mutex()                                                                               }}return void
TRACE: malloc.cxx          [ 122] malloc()                                                                                             {{enter
TRACE: malloc.cxx          [ 122] malloc()                                                                                               ((size=256 ))
TRACE: mempolt2.inl        [ 247] cyg_uint8* Cyg_Mempolt2<T>::try_alloc()                                                                {{enter
TRACE: mempolt2.inl        [ 247] cyg_uint8* Cyg_Mempolt2<T>::try_alloc()                                                                }}RETURNING UNSET!
TRACE: malloc.cxx          [ 147] malloc()                                                                                             }}returning pointer 00000000
TRACE: mutex.cxx           [  92] Cyg_Mutex::Cyg_Mutex()                                                                               {{enter
TRACE: mutex.cxx           [ 130] Cyg_Mutex::Cyg_Mutex()                                                                               }}return void
TRACE: mlqueue.cxx         [ 578] Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()                                     {{enter
TRACE: mlqueue.cxx         [ 578] Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()                                       ((sched_info=0000000a))
TRACE: mlqueue.cxx         [ 592] Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()                                     }}return void
TRACE: sched.cxx           [ 493] Cyg_SchedThread::Cyg_SchedThread()                                                                   {{enter
TRACE: sched.cxx           [ 493] Cyg_SchedThread::Cyg_SchedThread()                                                                   }}RETURNING UNSET!
TRACE: clock.cxx           [ 647] Cyg_Alarm::Cyg_Alarm()                                                                               {{enter
TRACE: clock.cxx           [ 647] Cyg_Alarm::Cyg_Alarm()                                                                               }}RETURNING UNSET!
TRACE: thread.cxx          [ 186] Cyg_Thread::Cyg_Thread()                                                                             {{enter
TRACE: mlqueue.cxx         [ 420] void Cyg_Scheduler_Implementation::register_thread()                                                   {{enter
TRACE: mlqueue.cxx         [ 420] void Cyg_Scheduler_Implementation::register_thread()                                                     ((thread=3001fafc))
TRACE: mlqueue.cxx         [ 423] void Cyg_Scheduler_Implementation::register_thread()                                                   }}return void
TRACE: thread.cxx          [ 224] Cyg_Thread::Cyg_Thread()                                                                             }}return void
TRACE: cstartup.cxx        [  88] cyg_iso_c_start()                                                                                    {{enter
TRACE: cstartup.cxx        [  88] cyg_iso_c_start()                                                                                      (((void)))
TRACE: cstartup.cxx        [  92] void cyg_iso_c_start()                                                                                 'Resuming cyg_libc_main_thread'
TRACE: thread.cxx          [ 597] void Cyg_Thread::resume()                                                                              {{enter
TRACE: mlqueue.cxx         [ 202] void Cyg_Scheduler_Implementation::add_thread()                                                          {{enter
TRACE: mlqueue.cxx         [ 202] void Cyg_Scheduler_Implementation::add_thread()                                                            ((thread=3001fafc))
TRACE: mlqueue.cxx         [ 263] void Cyg_Scheduler_Implementation::add_thread()                                                          }}return void
TRACE: thread.cxx          [ 628] void Cyg_Thread::resume()                                                                              }}return void
TRACE: cstartup.cxx        [  95] cyg_iso_c_start()                                                                                    }}return void
TRACE: malloc.cxx          [ 122] malloc()                                                                                             {{enter
TRACE: malloc.cxx          [ 122] malloc()                                                                                               ((size=256 ))
TRACE: mempolt2.inl        [ 247] cyg_uint8* Cyg_Mempolt2<T>::try_alloc()                                                                {{enter
TRACE: mempolt2.inl        [ 247] cyg_uint8* Cyg_Mempolt2<T>::try_alloc()                                                                }}RETURNING UNSET!
TRACE: malloc.cxx          [ 147] malloc()                                                                                             }}returning pointer 00000000
TRACE: mutex.cxx           [  92] Cyg_Mutex::Cyg_Mutex()                                                                               {{enter
TRACE: mutex.cxx           [ 130] Cyg_Mutex::Cyg_Mutex()                                                                               }}return void
TRACE: mutex.cxx           [  92] Cyg_Mutex::Cyg_Mutex()                                                                               {{enter
TRACE: mutex.cxx           [ 130] Cyg_Mutex::Cyg_Mutex()                                                                               }}return void
TRACE: startup.cxx         [  94] void cyg_start()                                                                                     {{enter
TRACE: startup.cxx         [  94] void cyg_start()                                                                                       (((void)))
TRACE: prestart.cxx        [  75] void cyg_prestart()                                                                                    {{enter
TRACE: prestart.cxx        [  75] void cyg_prestart()                                                                                      (((void)))
TRACE: prestart.cxx        [  78] void cyg_prestart()                                                                                      'This is the system default cyg_prestart()'
TRACE: prestart.cxx        [  82] void cyg_prestart()                                                                                    }}return void
TRACE: pkgstart.cxx        [  85] void cyg_package_start()                                                                               {{enter
TRACE: pkgstart.cxx        [  85] void cyg_package_start()                                                                                 (((void)))
TRACE: pkgstart.cxx        [  88] void cyg_package_start()                                                                                 'This is the system default cyg_package_start()'
TRACE: pkgstart.cxx        [  96] void cyg_package_start()                                                                               }}return void
TRACE: strlen.cxx          [  80] __strlen()                                                                                             {{enter
TRACE: strlen.cxx          [  80] __strlen()                                                                                               ((s=300183f0))
TRACE: strlen.cxx          [ 127] __strlen()                                                                                             }}returning length 25
TRACE: mutex.cxx           [ 216] cyg_bool Cyg_Mutex::lock()                                                                             {{enter
TRACE: mutex.cxx           [ 322] cyg_bool Cyg_Mutex::lock()                                                                             }}returning 1
TRACE: mutex.cxx           [ 382] void Cyg_Mutex::unlock()                                                                               {{enter
TRACE: sched.cxx           [ 730] void Cyg_SchedThread::disinherit_priority()                                                              {{enter
TRACE: sched.cxx           [ 653] void Cyg_SchedThread::clear_inherited_priority()                                                           {{enter
TRACE: sched.cxx           [ 653] void Cyg_SchedThread::clear_inherited_priority()                                                           }}RETURNING UNSET!
TRACE: sched.cxx           [ 730] void Cyg_SchedThread::disinherit_priority()                                                              }}RETURNING UNSET!
TRACE: mutex.cxx           [ 447] void Cyg_Mutex::unlock()                                                                               }}return void
TRACE: fputc.cxx           [  78] fputc()                                                                                                {{enter
TRACE: fputc.cxx           [  78] fputc()                                                                                                  ((c = 10, stream=3001fb9c))
TRACE: mutex.cxx           [ 216] cyg_bool Cyg_Mutex::lock()                                                                               {{enter
TRACE: mutex.cxx           [ 322] cyg_bool Cyg_Mutex::lock()                                                                               }}returning 1
TRACE: mutex.cxx           [ 216] cyg_bool Cyg_Mutex::lock()                                                                               {{enter
TRACE: mutex.cxx           [ 322] cyg_bool Cyg_Mutex::lock()                                                                               }}returning 1
1234567890123456789012345
TRACE: mutex.cxx           [ 382] void Cyg_Mutex::unlock()                                                                                 {{enter
TRACE: mutex.cxx           [ 447] void Cyg_Mutex::unlock()                                                                                 }}return void
TRACE: mutex.cxx           [ 382] void Cyg_Mutex::unlock()                                                                                 {{enter
TRACE: sched.cxx           [ 730] void Cyg_SchedThread::disinherit_priority()                                                                {{enter
TRACE: sched.cxx           [ 653] void Cyg_SchedThread::clear_inherited_priority()                                                             {{enter
TRACE: sched.cxx           [ 653] void Cyg_SchedThread::clear_inherited_priority()                                                             }}RETURNING UNSET!
TRACE: sched.cxx           [ 730] void Cyg_SchedThread::disinherit_priority()                                                                }}RETURNING UNSET!
TRACE: mutex.cxx           [ 447] void Cyg_Mutex::unlock()                                                                                 }}return void
TRACE: fputc.cxx           [  93] fputc()                                                                                                }}wrote char 10
TRACE: mlqueue.cxx         [ 578] Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()                                       {{enter
TRACE: mlqueue.cxx         [ 578] Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()                                         ((sched_info=00000004))
TRACE: mlqueue.cxx         [ 592] Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation()                                       }}return void
TRACE: sched.cxx           [ 493] Cyg_SchedThread::Cyg_SchedThread()                                                                     {{enter
TRACE: sched.cxx           [ 493] Cyg_SchedThread::Cyg_SchedThread()                                                                     }}RETURNING UNSET!
TRACE: clock.cxx           [ 647] Cyg_Alarm::Cyg_Alarm()                                                                                 {{enter
TRACE: clock.cxx           [ 647] Cyg_Alarm::Cyg_Alarm()                                                                                 }}RETURNING UNSET!
TRACE: thread.cxx          [ 186] Cyg_Thread::Cyg_Thread()                                                                               {{enter
TRACE: mlqueue.cxx         [ 420] void Cyg_Scheduler_Implementation::register_thread()                                                     {{enter
TRACE: mlqueue.cxx         [ 420] void Cyg_Scheduler_Implementation::register_thread()                                                       ((thread=3001bfc4))
TRACE: mlqueue.cxx         [ 423] void Cyg_Scheduler_Implementation::register_thread()                                                     }}return void
TRACE: thread.cxx          [ 224] Cyg_Thread::Cyg_Thread()                                                                               }}return void
TRACE: thread.cxx          [ 597] void Cyg_Thread::resume()                                                                              {{enter
TRACE: mlqueue.cxx         [ 202] void Cyg_Scheduler_Implementation::add_thread()                                                          {{enter
TRACE: mlqueue.cxx         [ 202] void Cyg_Scheduler_Implementation::add_thread()                                                            ((thread=3001bfc4))
TRACE: mlqueue.cxx         [ 263] void Cyg_Scheduler_Implementation::add_thread()                                                          }}return void
TRACE: thread.cxx          [ 628] void Cyg_Thread::resume()                                                                              }}return void
TRACE: sched.cxx           [ 343] static void Cyg_Scheduler::start()                                                                     {{enter
TRACE: sched.cxx           [ 369] static void Cyg_Scheduler::start_cpu()                                                                   {{enter
TRACE: mlqueue.cxx         [ 119] Cyg_Thread* Cyg_Scheduler_Implementation::schedule()                                                       {{enter
TRACE: mlqueue.cxx         [ 192] Cyg_Thread* Cyg_Scheduler_Implementation::schedule()                                                       }}returning thread 3001bfc4


[-- Attachment #3: Type: text/plain, Size: 148 bytes --]

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-04-11  8:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <dd9328150604110059j6587149ek81a127cff19e286@mail.gmail.com>
2006-04-11  8:10 ` [ECOS] Timer tick dosen't work, when printf string > 24 廖友鍾
2006-04-11  8:20   ` Andrew Lunn
2006-04-11  8:42     ` Luke Liao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).