ARM Technical Support Knowledge Articles


Applies to: BL51 Code-banking Linker/Locator


Information in this article applies to:


I tried using any one the following Philips chips, 89C660, 89C662, 89C664, and the Linker Control String on the bottom of the "BL51 Locate" tab reads RAMSIZE(512), RAMSIZE(1024), RAMSIZE(2048) respectively.

When I build my program, I get a "Fatal error L228, RAMSIZE parameter out of range."

How do I change the Linker Control String to read RAMSIZE(256)?


This is a problem in uVision and will be addressed in the next release. In the meantime, each individual can correct this problem by performing the steps listed in the RESOLUTION section below


The linker is complaining of "Fatal error L228, RAMSIZE parameter out of range"


The Internal RAMSIZE range for the Philips 89C chips in the device database was wrongly set to (0 - 0x1FF)


  1. Click on File -> Device Database in uVision and double click on any one of the Philips 89C chips (660, 662, 664) you are going to use.
  2. Edit the first line to read: CPU=IRAM(0 - 0xFF) IROM(0 - 0x3FFF) CLOCK(33000000) MODP2
  3. Click on Update and then click on OK.
  4. Go to the project window, right click on the already existing target and then choose "Select Device for Target #".
  5. Reselect your device (89C660, 89C662, or 89C664) by clicking once and then clicking OK.

This should fix the problem

Article last edited on: 2004-06-28 11:00:02

Rate this article

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