* [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).