| /* | |
| * File: common.h | |
| * Purpose: File to be included by all project files | |
| * | |
| * Notes: | |
| * | |
| * License: All software covered by license agreement in - | |
| * docs/Freescale_Software_License.pdf | |
| */ | |
| #ifndef _COMMON_H_ | |
| #define _COMMON_H_ | |
| /********************************************************************/ | |
| /* | |
| * Debug prints ON (#define) or OFF (#undef) | |
| */ | |
| #undef DEBUG_PRINT | |
| #undef DEBUG_PRINT_D0D1 | |
| /* | |
| * Include the generic CPU header file | |
| */ | |
| #include "mcf5xxx.h" | |
| /* | |
| * Include the specific CPU header file | |
| */ | |
| #include "mcf5225x.h" | |
| #include "mcf5225x_evb.h" | |
| /* | |
| * MetroWerks looks for an underscore prepended to C function names | |
| */ | |
| #define _UNDERSCORE_ | |
| /* | |
| * The source uses __interrupt__ to identify a function as | |
| * an interrupt or exception handler. Codewarrior uses | |
| * __declspec(interrupt), so we are appeasing it like this. | |
| */ | |
| #define __interrupt__ __declspec(interrupt) | |
| /* | |
| * Force functions to return values in D0 | |
| */ | |
| #pragma pointers_in_D0 | |
| /* | |
| * Provide a few assembly instructions for C level routines | |
| */ | |
| #define halt() asm( halt) | |
| #define nop() asm( nop) | |
| #define tpf() asm( tpf) | |
| #define stop_2700() asm( stop #0x2700) | |
| #define stop_2600() asm( stop #0x2600) | |
| #define stop_2500() asm( stop #0x2500) | |
| #define stop_2400() asm( stop #0x2400) | |
| #define stop_2300() asm( stop #0x2300) | |
| #define stop_2200() asm( stop #0x2200) | |
| #define stop_2100() asm( stop #0x2100) | |
| #define stop_2000() asm( stop #0x2000) | |
| /* | |
| * Define custom sections for relocating code, data, and constants | |
| */ | |
| #pragma define_section relocate_code ".relocate_code" far_absolute RX | |
| #pragma define_section relocate_data ".relocate_data" far_absolute RW | |
| #pragma define_section relocate_const ".relocate_const" far_absolute R | |
| #define __relocate_code__ __declspec(relocate_code) | |
| #define __relocate_data__ __declspec(relocate_data) | |
| #define __relocate_const__ __declspec(relocate_const) | |
| /* | |
| * Include common utilities | |
| */ | |
| void assert_failed(char *, int); | |
| #ifdef DEBUG_PRINT | |
| #define ASSERT(expr) \ | |
| if (!(expr)) \ | |
| assert_failed(__FILE__, __LINE__) | |
| #else | |
| #define ASSERT(expr) | |
| #endif | |
| //#include "assert.h" | |
| //#include "io.h" | |
| //#include "stdlib.h" | |
| /********************************************************************/ | |
| #endif /* _COMMON_H_ */ |