ARM Technical Support Knowledge Articles

PROBLEMS WHEN CODE START IS 0X20 - 0X7FFF

Applies to: GNU C Compiler for ARM

Answer


Information in this article applies to:


QUESTION

When I specify a starting address between 0x0020 and 0x8000, downloading code fails. How can I solve this problem?

ANSWER

This problem is caused by a GNU Linker error. Fortunately, there is a work-around. When code (.text) start in Project - Options - Linker is between 0x0020 and 0x7FFF, set the code origin in the Linker Script to 0. The linker will then produce a correct ELF file. For example, when the text start is specified as follows:

Project - Options - Linker - Text Start: 0x1000

The correct linker script should be:

MEMORY
  {
    CODE (rx) : ORIGIN = 0x00000000, LENGTH = 0x0001E000
    DATA (rw) : ORIGIN = 0x40000000, LENGTH = 0x00004000
  }

Also, you may need to add the option -N under Options for Target - Linker - Misc Controls.

Article last edited on: 2006-07-10 18:29:36

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