This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
RTC or DSR problems and kernel naming conventions
- From: "Yi Tang" <yitang at itee dot uq dot edu dot au>
- To: "eCos-discuss" <ecos-discuss at ecos dot sourceware dot org>
- Date: Tue, 16 Jan 2007 19:44:33 +1000
- Subject: [ECOS] RTC or DSR problems and kernel naming conventions
- Reply-to: "Yi Tang" <yitang at itee dot uq dot edu dot au>
Hello,
I'm now doing some eCos device driver programming for leon processor
(SPARC). The problem is everytime an RTC (real-time clock) interrupts, it
cause an segmentation fault in the kernel (we do have hard timer enabled for
real-time clock use). Following is what I get from the insight debug stack:
intr.cxx interrupt_end()
sched.cxx cyg_scheduler::unlock()
sched.cxx cyg_scheduler::unlock_inner(unsigned int)
intr.cxx cyg_interrupt::call_pending_DSRs()
intr.hxx hal_interrupt_stack_call_pending_DSRs
intr.cxx cyg_interrupt_call_pending_DSRS
intr.cxx cyg_Interrupt:call_pending_DSR_inner() ,segmentation fault at:
dsr_list[cpu] = intr->next_dsr;
I have tried to use dsr table instead, but it cause the same problem. It
looks like after the RTC DSR returns, it then tries to call the next pending
DSRs(), which is NULL. But somehow the system are not aware of that, then
cause a dereference to invalid pointer address.
Another question concerning the naming conventions for functions and
variables. I don't know whether that confuse you guys. But it does cause a
great trouble to me. Can anyone explain me what's the implicit differnce
between those "__XXX__", "_XX_", "__XX", "~XX" and "XXX", either in
lowercase or uppercase.
I really appreciate your help.
Regards,
Yi Tang
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss