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: exception when calling reset_platform


On Thursday 13 June 2002 18:20, Roland Caßebohm wrote:
> Hi,
>
> my ARM7TDMI (SNDS100 Board) makes an abort prefetch exception when the
> application calls reset_platform().
>
> I added two nop's because I thought the processor prefetches the init_done
> value, but this doesn't help:
>
> ----------
>         .global reset_platform
>         .type   reset_platform,function
> reset_platform:
> #ifdef CYGSEM_HAL_ROM_MONITOR
>         // initialize CPSR (machine state register)
>         mov    
> r0,#(CPSR_IRQ_DISABLE|CPSR_FIQ_DISABLE|CPSR_SUPERVISOR_MODE) msr    
> cpsr,r0
>         b       warm_reset
> #else
>         mov     r0,#0
>         mov     pc,r0           // Jump to reset vector
>         //roland
>         mov     r0,r0           // nop
>         mov     r0,r0           // nop
> #endif
>
> init_done:
>         .long   0xDEADB00B
> ----------
>
> Does anybody know what's wrong?
>
> Roland

Hi:

  Looks like that the abort prefetch hapens somewhere else, not in the code 
You've sent. Take a look at the reset vector and the code that executes there 
( if it is in RAM). It may be corrupt for some reason. Anyhow, can You figure 
out the address of the exeption?

iz


-- 
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]