This is the mail archive of the ecos-discuss@sourceware.org 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]

RTC or DSR problems and kernel naming conventions


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


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