A Compiler Error Messages Parser (Cp6812) Error Messages
Total Page:16
File Type:pdf, Size:1020Kb
>B<82 Version 4.5 Software C Cross Compiler User’s Guide for Motorola MC68HC12 Copyright © COSMIC Software 1995, 2001 All Trademarks are the property of their respective owners Table of Contents Preface Organization of this Manual ....................................................... 1 Chapter 1 Introduction Introduction.................................................................................4 Document Conventions............................................................... 4 Typewriter font..................................................................... 4 Italics .................................................................................... 5 [ Brackets ] ........................................................................... 5 Conventions..........................................................................6 Command Line ..................................................................... 6 Flags ..................................................................................... 6 Compiler Architecture ................................................................ 8 Predefined Symbol...................................................................... 9 Linking........................................................................................ 9 Programming Support Utilities................................................... 9 Listings...................................................................................... 10 Optimizations............................................................................ 11 Support for Bank Switching ..................................................... 12 Support for ROMable Code...................................................... 12 Support for eeprom ................................................................... 13 Chapter 2 Tutorial Introduction Acia.c, Example file.................................................................. 16 Default Compiler Operation............................................... 17 Compiling and Linking............................................................. 18 Step 1: Compiling............................................................... 18 Step 2: Assembler............................................................... 19 Step 3: Linking ...................................................................20 Step 4: Generating S-Records file...................................... 22 Linking Your Application......................................................... 24 Generating Automatic Data Initialization................................. 25 Specifying Command Line Options ......................................... 27 Chapter 3 Programming Environments Introduction...............................................................................30 Modifying the Runtime Startup................................................ 31 (i) Description of Runtime Startup Code ................................ 31 Initializing data in RAM........................................................... 32 The const and volatile Type Qualifiers..................................... 34 Performing Input/Output in C................................................... 36 Placing Data Objects in The Bss Section ................................. 36 Placing Data Objects in The Zero Page Section....................... 37 Setting Zero Page Size ....................................................... 37 Placing Data Objects in the EEPROM Space........................... 38 Redefining Sections.................................................................. 39 Inlining Functions..................................................................... 41 Optimizing boolean functions .................................................. 41 Referencing Absolute Addresses.............................................. 42 Accessing Internal Registers .................................................... 43 Inserting Inline Assembly Instructions..................................... 44 Inlining with pragmas......................................................... 44 Inlining with _asm.............................................................. 45 Writing Interrupt Handlers ....................................................... 47 Placing Addresses in Interrupt Vectors .................................... 47 Calling a Bank Switched Function........................................... 48 Accessing Banked Data ............................................................ 51 Using Position Independent Code ............................................ 52 Fuzzy Logic Support ................................................................ 53 Interfacing C to Assembly Language ....................................... 53 Register Usage .......................................................................... 55 Stack Model........................................................................ 55 Stack Representation .......................................................... 56 Heap Management Control with the C Compiler..................... 57 Modifying The Heap Location........................................... 59 Data Representation.................................................................. 62 Chapter 4 Using The Compiler Invoking the Compiler.............................................................. 66 Compiler Command Line Options ..................................... 67 File Naming Conventions......................................................... 72 Generating Listings................................................................... 73 Generating an Error File ........................................................... 73 Return Status............................................................................. 73 Examples .................................................................................. 73 C Library Support..................................................................... 74 How C Library Functions are Packaged............................. 74 Inserting Assembler Code Directly .................................... 74 (ii) Linking Libraries with Your Program................................ 74 Integer Library Functions................................................... 74 Common Input/Output Functions....................................... 75 Functions Implemented as Macros..................................... 75 Functions Implemented as Builtins .................................... 76 Including Header Files ....................................................... 76 Descriptions of C Library Functions ........................................ 77 Generate inline assembly code ........................................... 78 Abort program execution.................................................... 79 Find absolute value............................................................. 80 Arccosine............................................................................ 81 Arcsine................................................................................ 82 Arctangent .......................................................................... 83 Arctangent of y/x................................................................ 84 Convert buffer to double .................................................... 85 Convert buffer to integer .................................................... 86 Convert buffer to long ........................................................87 Allocate and clear space on the heap.................................. 88 Round to next higher integer.............................................. 89 Verify the recorded checksum............................................ 90 Verify the recorded checksum............................................ 91 Verify the recorded checksum............................................ 92 Verify the recorded checksum............................................ 93 Cosine ................................................................................. 94 Hyperbolic cosine............................................................... 95 Divide with quotient and remainder................................... 96 Copy a buffer to an eeprom buffer .....................................97 Erase the full eeprom space................................................ 98 Propagate fill character throughout eeprom buffer ............99 Exit program execution .................................................... 100 Exponential....................................................................... 101 Find double absolute value............................................... 102 Copy a moveable code segment in RAM......................... 103 Round to next lower integer .............................................104 Find double modulus........................................................105 Free space on the heap...................................................... 106 Extract fraction from exponent part ................................. 107 Get character from input stream....................................... 108 Get a text line from input stream......................................109 Test for alphabetic or numeric character..........................110 Test for alphabetic character ............................................ 111 Test for control character.................................................. 112 Test for digit..................................................................... 113 (iii) Test for graphic character................................................