Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: Handling interrupts on RAM (debug) version

2006-05-30 by stefano_m_a

Good news !
If i use this code for vectors table it works !

...
#if ROM_RUN
	ldr   pc, [pc,#-0xFF0]	/* .18 IRQ - read the VIC	*/
#else
	ldr   pc, _irq		/* .18 IRQ - _irq		*/
	//ldr   pc, [pc,#-0xFF0] /* .18 IRQ - read the VIC	*/
#endif

	ldr   pc, _fiq		/* .1c FIQ - _fiq		*/

_undf:  .word __undf     /* undefined		*/
_swi:   .word __undf     /* SWI			*/
_pabt:  .word __pabt     /* program abort	*/
_dabt:  .word __dabt     /* data abort		*/
_fiq:   .word __fiq      /* FIQ			*/

__undf:
	b     .       /* undefined		*/
__pabt:
	b     .       /* program abort		*/
__dabt:
	b     .       /* data abort		*/
__fiq:
	b     .       /* FIQ			*/
_irq:
	b timer0ISR
...
	
So the problem seems to be into:
	ldr   pc, [pc,#-0xFF0]
If i break the code when pc==0x18 and i inspect register 0xffff.f030 
i found the address of my routine timer0ISR() !!!
--
SM

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.