/** * @file % !FILENAME % * * @section desc File description * * Memory mapping using Metrowerks CodeWarrior pragmas * Memory Mapping of Application % !CPUNAME % * Automatically generated by goil on % !TIMESTAMP % * from root OIL file % !OILFILENAME % * * @section copyright Copyright * * Trampoline OS * * Trampoline is copyright (c) IRCCyN 2005-2007 * Trampoline is protected by the French intellectual property law. * * This software is distributed under the Lesser GNU Public Licence * * @section infos File informations * * $Date$ * $Rev$ * $Author$ * $URL$ */ #define MEMMAP_ERROR /*============================================================================= * OS memory mapping * * Code section */ #ifdef OS_START_SEC_BOOT #undef OS_START_SEC_BOOT #ifdef CURRENT_LINKER_CODE_SECTION #error "Starting a .osBoot while a section is already started" #else #undef MEMMAP_ERROR .osBoot : section .text #define CURRENT_LINKER_CODE_SECTION #endif #endif #ifdef OS_STOP_SEC_BOOT #undef OS_STOP_SEC_BOOT #ifdef CURRENT_LINKER_CODE_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_CODE_SECTION #else #error "No section .osBoot started" #endif #endif #ifdef OS_START_SEC_CODE #undef OS_START_SEC_CODE #ifdef CURRENT_LINKER_CODE_SECTION #error "Starting a .osCode while a section is already started" #else #undef MEMMAP_ERROR .osCode : section .text #define CURRENT_LINKER_CODE_SECTION #endif #endif #ifdef OS_STOP_SEC_CODE #undef OS_STOP_SEC_CODE #ifdef CURRENT_LINKER_CODE_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_CODE_SECTION #else #error "No section .osCode started" #endif #endif #ifdef OS_START_SEC_VECTBL #undef OS_START_SEC_VECTBL #ifdef CURRENT_LINKER_CODE_SECTION #error "Starting a .vectbl while a section is already started" #else #undef MEMMAP_ERROR .vectbl : section .text #define CURRENT_LINKER_CODE_SECTION #endif #endif #ifdef OS_STOP_SEC_VECTBL #undef OS_STOP_SEC_VECTBL #ifdef CURRENT_LINKER_CODE_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_CODE_SECTION #else #error "No section .vectbl started" #endif #endif #ifdef OS_START_SEC_EXCRITICALINPUT #undef OS_START_SEC_EXCRITICALINPUT #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .exCritInput : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXCRITICALINPUT #undef OS_STOP_SEC_EXCRITICALINPUT #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXMACHINECHECK #undef OS_START_SEC_EXMACHINECHECK #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .exMchineChck : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXMACHINECHECK #undef OS_STOP_SEC_EXMACHINECHECK #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXDATASTORAGE #undef OS_START_SEC_EXDATASTORAGE #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .exDatStorage : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXDATASTORAGE #undef OS_STOP_SEC_EXDATASTORAGE #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXINSTRUCTIONSTORAGE #undef OS_START_SEC_EXINSTRUCTIONSTORAGE #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .exInstStrage : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXINSTRUCTIONSTORAGE #undef OS_STOP_SEC_EXINSTRUCTIONSTORAGE #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXALIGNMENT #undef OS_START_SEC_EXALIGNMENT #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .exAlignment : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXALIGNMENT #undef OS_STOP_SEC_EXALIGNMENT #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXPROGRAM #undef OS_START_SEC_EXPROGRAM #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .exProgram : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXPROGRAM #undef OS_STOP_SEC_EXPROGRAM #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXFLOATINGPOINTUNAVAILABLE #undef OS_START_SEC_EXFLOATINGPOINTUNAVAILABLE #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .exFltPntUnvl : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXFLOATINGPOINTUNAVAILABLE #undef OS_STOP_SEC_EXFLOATINGPOINTUNAVAILABLE #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXFIXEDINTERVALTIMER #undef OS_START_SEC_EXFIXEDINTERVALTIMER #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .fxdIntrvlTim : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXFIXEDINTERVALTIMER #undef OS_STOP_SEC_EXFIXEDINTERVALTIMER #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXWATCHDOGTIMER #undef OS_START_SEC_EXWATCHDOGTIMER #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .watchdogTim : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXWATCHDOGTIMER #undef OS_STOP_SEC_EXWATCHDOGTIMER #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXDATATLBERROR #undef OS_START_SEC_EXDATATLBERROR #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .dataTlbError : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXDATATLBERROR #undef OS_STOP_SEC_EXDATATLBERROR #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_EXINSTRUCTIONTLBERROR #undef OS_START_SEC_EXINSTRUCTIONTLBERROR #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .instTlbError : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_EXINSTRUCTIONTLBERROR #undef OS_STOP_SEC_EXINSTRUCTIONTLBERROR #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif /* * Var section */ #ifdef OS_START_SEC_VAR #undef OS_START_SEC_VAR #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osVar data section while a section is already started" #else #undef MEMMAP_ERROR .osVar : section .data #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_VAR #undef OS_STOP_SEC_VAR #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif /* * Const, Calibration, Carto, Configuration data sections */ #ifdef OS_START_SEC_CONST #undef OS_START_SEC_CONST #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osConst data section while a section is already started" #else #undef MEMMAP_ERROR .osConst : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_CONST #undef OS_STOP_SEC_CONST #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif #ifdef OS_START_SEC_STACKS #undef OS_START_SEC_STACKS #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osConst data section while a section is already started" #else #undef MEMMAP_ERROR .stacks : section .data #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef OS_STOP_SEC_STACKS #undef OS_STOP_SEC_STACKS #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section started" #endif #endif /* .ltorg */ #ifdef OS_START_LTORG #undef OS_START_LTORG #ifdef CURRENT_LINKER_LTORG #error "Starting a .ltorg while one is already started" #else #undef MEMMAP_ERROR /* even */ #define CURRENT_LINKER_LTORG #endif #endif #ifdef OS_STOP_LTORG #undef OS_STOP_LTORG #ifdef CURRENT_LINKER_LTORG #undef MEMMAP_ERROR #undef CURRENT_LINKER_LTORG #else #error "No .ltorg started" #endif #endif #ifdef OS_START_SEC_TEXT #undef OS_START_SEC_TEXT #ifdef CURRENT_LINKER_CODE_SECTION #error "Starting a .text while a section is already started" #else #undef MEMMAP_ERROR .vtext : section .text #define CURRENT_LINKER_CODE_SECTION #endif #endif #ifdef OS_STOP_SEC_TEXT #undef OS_STOP_SEC_TEXT #ifdef CURRENT_LINKER_CODE_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_CODE_SECTION #else #error "No section .text started" #endif #endif #ifdef API_START_SEC_CODE #undef API_START_SEC_CODE #ifdef CURRENT_LINKER_CODE_SECTION #error "Starting a .osApiCode section while a section is already started" #else #undef MEMMAP_ERROR #undef CURRENT_LINKER_CODE_SECTION_NAME .osApiCode : section .text #define CURRENT_LINKER_CODE_SECTION #endif #endif #ifdef API_STOP_SEC_CODE #undef API_STOP_SEC_CODE #ifdef CURRENT_LINKER_CODE_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_CODE_SECTION #else #error "No section .osApiCode started" #endif #endif #ifdef API_START_SEC_CONST_UNSPECIFIED #undef API_START_SEC_CONST_UNSPECIFIED #ifdef CURRENT_LINKER_DATA_SECTION #error "Starting a .osApiConst section while a section is already started" #else #undef MEMMAP_ERROR .osApiConst : section .text #define CURRENT_LINKER_DATA_SECTION #endif #endif #ifdef API_STOP_SEC_CONST_UNSPECIFIED #undef API_STOP_SEC_CONST_UNSPECIFIED #ifdef CURRENT_LINKER_DATA_SECTION #undef MEMMAP_ERROR #undef CURRENT_LINKER_DATA_SECTION #else #error "No section .osApiConst started" #endif #endif #ifdef MEMMAP_ERROR #error "MemMap.h, wrong section command" #endif