Yahoo Groups archive

Lpc2000

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

Thread

LPC2138 Data Abort problem

LPC2138 Data Abort problem

2005-03-06 by david_z_lawson

I'm new to ARM / embedded / Philips. I've got some code that I've been
stepping through and one instruction is causing a data abort, I think,
since execution goes to 0x00000010 (the data abort vector). But core
interrupts are disabled. I guess that a data abort is not really an
interrupt. But what could cause this to happen?

on the MCB2130 / LPC2138:

r0 =    0x00000000
r1 =    0x4000f6f4
cpsr =	0x800000df
pc =	0x400000b4

strcc   r0, [r1], #4    <<<< causes 'data abort', goes to 0x00000010

thanks,
David

Re: [lpc2000] LPC2138 Data Abort problem

2005-03-06 by Robert Adsett

At 03:23 PM 3/6/05 +0000, david_z_lawson wrote:
>I'm new to ARM / embedded / Philips. I've got some code that I've been
>stepping through and one instruction is causing a data abort, I think,
>since execution goes to 0x00000010 (the data abort vector). But core
>interrupts are disabled. I guess that a data abort is not really an
>interrupt. But what could cause this to happen?
>
>on the MCB2130 / LPC2138:
>
>r0 =    0x00000000
>r1 =    0x4000f6f4
>cpsr =  0x800000df
>pc =    0x400000b4
>
>strcc   r0, [r1], #4    <<<< causes 'data abort', goes to 0x00000010

Doesn't the 2138 only have 32K RAM?  R1 is well above that point.  You are 
trying to access an area to no memory.

Robert

" 'Freedom' has no meaning of itself.  There are always restrictions,
be they legal, genetic, or physical.  If you don't believe me, try to
chew a radio signal. "

                         Kelvin Throop, III

LPC 2xxx - Databus speed ?

2005-03-06 by Lasse Madsen

Hi All,

I have a quick "on the fly" question concerning the devices with external
data bus is their speed limited to the I/O speed of about 3,58MHz as well?

Best regards
Lasse Madsen

Re: LPC2138 Data Abort problem

2005-03-06 by david_z_lawson

--- In lpc2000@yahoogroups.com, Robert Adsett <subscriptions@a...> wrote:
> At 03:23 PM 3/6/05 +0000, david_z_lawson wrote:
> >I'm new to ARM / embedded / Philips. I've got some code that I've been
> >stepping through and one instruction is causing a data abort, I think,
> >since execution goes to 0x00000010 (the data abort vector). But core
> >interrupts are disabled. I guess that a data abort is not really an
> >interrupt. But what could cause this to happen?
> >
> >on the MCB2130 / LPC2138:
> >
> >r0 =    0x00000000
> >r1 =    0x4000f6f4
> >cpsr =  0x800000df
> >pc =    0x400000b4
> >
> >strcc   r0, [r1], #4    <<<< causes 'data abort', goes to 0x00000010
> 
> Doesn't the 2138 only have 32K RAM?  R1 is well above that point. 
You are 
> trying to access an area to no memory.
> 
> Robert
> 
> " 'Freedom' has no meaning of itself.  There are always restrictions,
> be they legal, genetic, or physical.  If you don't believe me, try to
> chew a radio signal. "
> 
>                          Kelvin Throop, III


You're right. I just tried defining 32k memory size in my linker file
and it works fine now. I thought that I read somewhere that this
processor had 64k of ram. I just looked it up and is says 32k.

David

LPC2138 Data Abort problem

2005-03-06 by Owen Mooney

And the real beauty of the LPC series is you can put a long jump at the data abort vector (or any other vector) - jump back to "main" (or where ever) and put up a little helpful message on your LCD display (or what ever) saying "Memory Error please contact your supplier." :-)



Owen
Show quoted textHide quoted text
Subject: Re: 


--- In lpc2000@yahoogroups.com, Robert Adsett <subscriptions@a...> wrote:

>> At 03:23 PM 3/6/05 +0000, david_z_lawson wrote:
>  
>
>>> >I'm new to ARM / embedded / Philips. I've got some code that I've been
>>> >stepping through and one instruction is causing a data abort, I think,
>>> >since execution goes to 0x00000010 (the data abort vector). But core
>>> >interrupts are disabled. I guess that a data abort is not really an
>>> >interrupt. But what could cause this to happen?
>>> >
>>> >on the MCB2130 / LPC2138:
>>> >
>>> >r0 =    0x00000000
>>> >r1 =    0x4000f6f4
>>> >cpsr =  0x800000df
>>> >pc =    0x400000b4
>>> >
>>> >strcc   r0, [r1], #4    <<<< causes 'data abort', goes to 0x00000010
>>    
>>
>> 
>> Doesn't the 2138 only have 32K RAM?  R1 is well above that point. 
>  
>
You are 

>> trying to access an area to no memory.
>> 
>> Robert
>> 
>> " 'Freedom' has no meaning of itself.  There are always restrictions,
>> be they legal, genetic, or physical.  If you don't believe me, try to
>> chew a radio signal. "
>> 
>>                          Kelvin Throop, III
>  
>


You're right. I just tried defining 32k memory size in my linker file
and it works fine now. I thought that I read somewhere that this
processor had 64k of ram. I just looked it up and is says 32k.

David






__________

Re: [lpc2000] LPC2138 Data Abort problem

2005-03-06 by Robert Adsett

At 08:57 AM 3/7/05 +1300, Owen Mooney wrote:
>And the real beauty of the LPC series is you can put a long jump at the 
>data abort vector (or any other vector) - jump back to "main" (or where 
>ever) and put up a little helpful message on your LCD display (or what 
>ever) saying "Memory Error please contact your supplier." :-)

It sounds like you've just re-invented the Blue Screen of Death :)

Robert

" 'Freedom' has no meaning of itself.  There are always restrictions,
be they legal, genetic, or physical.  If you don't believe me, try to
chew a radio signal. "

                         Kelvin Throop, III

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.