Re: Intel 80386EX interrupt service procedure
- From: spamtrap@xxxxxxxxxx
- Date: Mon, 16 May 2005 17:21:08 +0000 (UTC)
Thanks ED,
I am writing the whole assembly in FLASH. SRAm is used only for STACK.
Ed Beroset wrote:
> spamtrap@xxxxxxxxxx wrote:
>
> > ;The processor works in real mode. and it can access only 64MB of
> > memory. Is it correct to memory map Flash in this region 3FF
0000H-3FF
> > FFFFH?
> >
> > ;There are internal peripheral registers that need to be programmed
> >
> > ;At power-on, processor goes to address 3FF FFF0h. Since Flash is
only
> > 64Kx8 it goes to location FFF0H of Flash and fetches a JMP
instruction.
> >
> > ;When Flash is programmed , even without sending a hardware
interrupt
> > at INT0 pin, the program goes to ISR and turns on the LEDs.
> >
> > ;If I decomment the JMP Level1 loop then it never gets out of that
> > loop.
> >
> > ;Can someone suggest what is wrong? Is it that I not mapping the
> > memories correctly? Is it possible that interrupt service procedure
may
> > be wrong.
>
> The first thing I'd suggest is to remap the essential hardware
registers
> *before* the first jump. Read up on the reset processing for the
'386
> and you'll see that the first jump after reset causes special things
to
> happen, regarding internal registers relating to memory.
>
> >
> > MOV DX, 0F400H ;DEFINE SRAM CHIP SELECT CS0
> > MOV AX, 010FH ;SRAM FROM 000 0000H - 000 7FFFH
> > OUT DX, AX
>
> ... and if you were just executing at around address 200H, aren't you
> now executing from uninitialized RAM? You might want to move your
..ORG
> to 8000H instead of 200H.
>
> Ed
.
- References:
- Intel 80386EX interrupt service procedure
- From: spamtrap
- Re: Intel 80386EX interrupt service procedure
- From: Ed Beroset
- Intel 80386EX interrupt service procedure
- Prev by Date: Re: Access violation is confusing me.
- Next by Date: Re: Cache questions
- Previous by thread: Re: Intel 80386EX interrupt service procedure
- Next by thread: Cache questions
- Index(es):
Relevant Pages
|
Loading