MCB2300: USING LPC2378 ETHERNET MEMORY AS RAM
Information in this knowledgebase article applies to:
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?
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.
Last Reviewed: Saturday, August 16, 2008
of your data.