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]

RE: Bootup and Redboot


I don't as yet have a working debugger stub, so I have had to rely on diag_printf and turning on/off certain LEDs. Using this technique, I know that the RTC isr is installed/attached but Cyg_RealTimeClock::isr is never called. I believe that the minute the scheduler is started and interrupts are unmasked, an RTC interrupt is generated, the default interrupt vsr is called and after some register and stack manipulation, a jsr to a memory location is attempted and this is where everything goes wrong. This is within cyg_hal_default_interrupt_vsr. Unfortunately due to no debugger, I can't find out what this address is. My knowledge of assembler is very poor so I am not completely sure what is happening.
Have you done any work with eCos on the SH2? No one seems to have and so I am a bit stuck on my own.

	Many thanks for your help and if you think of anything else, I would really appreciate it.

			James Yates

 

-----Original Message-----
From: Satish Kumar [mailto:satish@bvt.sc.sanyo.co.jp]
Sent: 29 October 2003 10:08
To: James Yates
Cc: Ecos Discuss (E-mail)
Subject: Re: [ECOS] Bootup and Redboot


For every RTC interrupt generated ; is the ISR routine called ..? put a
break point in the ISR routine and check what happens there after..
generally DSR routines are followed by ISR routines, so when ur DSR
routine is called, the ticks are initialised and u can get ur schedular
running, else the tick is always zero, and ur code hangs after that..

  if ur DSR routines are not called, check with ur hal_clock_xxxx
routines..in ur target_misc.c file..may be u have to recheck ur
intialisation procedure.

satish

On Wed, 29 Oct 2003 09:59:36 -0000
"James Yates" <j.yates@quartzuk.com> wrote:

> I am currently trying to get a custom board up and running with eCos and I am have hit a brick wall. It seems that as soon as the scheduler is started and interrupts are enabled, and the installed RTC causes and Interrupt, and exception is raised and the code dies. I believe the problem is with the Vector table/VSR table but can't figure out why.
> 
> I assume that the each entry in the Vector table, the entry point for each available ISR, should point to the default VSR handler which then looks up to see if an interrupt has been attached to this and if so then call the relevant ISR.
> I am not running Redboot since I am required to use a custom bootloader. Am I right in saying that Redboot sets up the Vector table correctlt and so my bootloader should do the same. On startup, before the scheduler is started, I print out the vector table pointed to by the VBR.
> The first 32 entries correctly point at the default_exception_vsr but the entries for peripheral Interrupts don't seem to point to anything valid. So I initialise as part of the platform init these entries to point to the default VSR handler. Is this correct? I am really stuck and don't know where to go from here.  This is running on an SH2 platform.
> 
> 
> 		I will be very gratefuly for any help.
> 
> 
> 				James Yates
> 
> -- 
> Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> and search the list archive: http://sources.redhat.com/ml/ecos-discuss

-- 
Satish Kumar <satish@bvt.sc.sanyo.co.jp>


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


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