Keil Logo

GCC: Problem with Initialized Variables on ADUC7000


Information in this article applies to:

  • GNU C Compiler for ARM Version 3.22

QUESTION

I have started using the Analog Devices ADuC7000 Quick Start Development Kit. Everything worked fine until I started using variables that are initialized at the file level. There seem to be two problems:

  1. When I use ULINK for Flash programming, I receive the following error:
    Error: No Algorithm found for Address 0x00010000
    
  2. When I use the simulator to debug the program, the variables have incorrect values. Why?

ANSWER

The configuration for the ADuC7000 that is part of DK-ARM version 1.3 has these problems. 

Download the configuration files in the Attached Files below and use them in your project.

  • The ADuC702X.ld linker script corrects a locating problem with the initialized variables.
  • The STARTUP.S startup code clears the memory before the initialized data are copied. This prevents the initialized data from being overwritten when the .bbs and .data sections are overlapping.

Note: There have been many different variants of the GCC compiler for ARM devices. Modern versions of Keil still support the GCC compiler, but now uses the GNU Arm Embedded Toolchain. To use this toolchain with Keil, see GCC: Using a GNU GCC Compiler Toolchain in the IDE.

MORE INFORMATION

SEE ALSO

ATTACHED FILES

Request the files attached to this knowledgebase article.

Last Reviewed: Friday, January 15, 2021


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.