ARM Technical Support Knowledge Articles

FATAL ERROR (CAN'T OPEN FILE) WITH C HEADER FILES

Applies to: A51 Macro Assembler

Answer


Information in this article applies to:


QUESTION

When including C header files in assembly modules, the .H files cannot be found in some instances. For example, when including C header files as follows:

$include (reg52.h)

the assembler reports the following error message:

A51 FATAL ERROR -
  FILE:       REG51.H
  ERROR:      CAN'T OPEN FILE
A51 TERMINATED.

ANSWER

This problem may be caused by using the macro programming language (MPL) in your assembly modules.

To correctly include a C header file in an assembly program, you must use the C style include statement. For example:

#include "reg52.h"

When you use the C-style include statement, the header file is located and included.

The Keil A51 Assembler automatically includes the header file reg51.h. To stop the assembler from automaticlly including this file, go to:

Project -> 'Options for Target' -> the 'A51' tab -> and uncheck 'Define 8051 SFR Names'.

MORE INFORMATION

SEE ALSO

Article last edited on: 2005-07-15 14:07:24

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