ARM Technical Support Knowledge Articles


Applies to: GNU C Compiler for ARM


Information in this article applies to:


The GCC linker creates ARM libraries with an .a extension. However an *.a file extension is treated as an assembly file by uVision3. So the assembler tries to assemble any ARM library file included in the project. How do I correct this?


The environment settings must be changed for your project in order for the libraries to be linked correctly. Go to Project -> 'Components, Environment and Books' -> 'Folders/Extensions' tab. There is a box labeled 'Default File Extensions'. Remove *.a from the 'Asm Source' Section, and add *.a to the 'Library' section. Now all *.a files will be treated as library files for this project.

An alternative solution is to add the ARM library file to the project workspace window. To change the file association, right click on the ARM library file, and select 'Options for File'. On the 'Properties' tab, change the file type from 'Assembly language file' to 'Library file'. Uvision3 will now treat this file as a library file. Each ARM library file added in this way must have the file type changed in this fashion.

Article last edited on: 2006-07-10 18:32:38

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