ARM Technical Support Knowledge Articles

USING LPC2378 ETHERNET MEMORY AS RAM

Applies to: MCB2300 Evaluation Board

Answer


Information in this knowledgebase article applies to:


QUESTION

My application does not require Ethernet connectivity, and I want to use the additional 16 Mbytes of memory at 0x7FE00000 as data RAM available on the LPC2378 device. I enabled the Ethernet RAM as follows:

    PCONP |= 0x40000000;   /* Enable Ethernet RAM Block */

but when I debug my application. I get Data Abort(DAbt) exceptions that point to the Ethernet RAM.

What can cause this?

ANSWER

You are enabling the Ethernet RAM block in your C code, which means it was not enabled during the application startup initialization code. Because the LPC2378 disables this RAM during a reset, you must enable it in the LPC2300.S startup module. To do this, add the following code to the start of the Reset_Handler routine:

; Reset Handler

                EXPORT  Reset_Handler
Reset_Handler

PCONP           EQU     0xE01FC0C4      ; Power Control for Peripherals
                LDR     R0, =PCONP
                LDR     R1, [R0]
                ORRS    R1, R1, #0x40000000 ; Turn on Ethernet RAM Block
                STR     R1, [R0]
                .
                .
                .

Now the initialization code can access the Ethernet RAM.

MORE INFORMATION

SEE ALSO

ATTACHED FILES

Request the files attached to this knowledgebase article.

Article last edited on: 2008-08-16 07:20:34

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential