I'm using the Embedded Artist LPC3250 development board. It has 64MB of external RAM. In my application, I need to create a few large global arrays. The internal memory of the 3250 is only 256KB so I'd like to relocate the zi-data or all the R/W data to the external SDRAM.
I used Project - Options - Target and added off-chip RAM1 and set it as the default. I then set "Use Memory Layout from Target Dialog" on the Linker tab. That creates a custom scatter file for me (shown below).
However when I build, the linker generates the error: .\output\armd.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
This error doesn't make sense to me because the section where First is used is the ROM portion.
Based on a SDRAM Phytec example, this project configuration and resulting scatter file should have worked.
Has anybody used the EA LPC3250 in this manner either relocating R/W or ZI to SDRAM? Does anyone have a suggestion on how to create the scatter file needed to put my data in SDRAM?
; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* LR_IROM1 0x00000000 0x00004000 { ; load region size_region ER_IROM1 0x00000000 0x00004000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_RAM1 0x80000000 0x04000000 { ; RW data .ANY (+RW +ZI) } }
Perhaps statup file is missing in your project
I have startup_entry.s and .asm files and after downloading, the debugger shows that I'm 'stuck' in the startup_entry.s This is generic code that is part of Embedded Artist's BSP. I am beginning to suspect a disconnect between the scatter file and the startup_entry.s.
Any thoughts on what the statup file must contain to work with the generated scatter file?
Why don't you try examples in MDK in folder c:\Keil\ARM\Boards\Embedded Artists\LPC3152\ ?
Thanks. Yes I looked at the examples for the 3152 and they do have an SDRAM example. The memory layout is much different than the 3250, however even if I apply the same concepts I could not execute out of SDRAM. I traded email with Embedded Artists. Basically it will take some assembly language coding changes and an initialization file change to get all the pieces to line up. In my opinion the board support package provided by EA is incomplete if they don't support executing out of external ram and have an example of how to do it. Next time we'll just buy the processor and make our own board since there's no advantage to buying the EA OEM module.
Hi John. I know that this thread is old, but can you tell me exactly how you resolved this issue? I have the same problem.