35 #ifndef SYSTEM_PORTABLE_INC_OC_REGISTERS_H_ 36 #define SYSTEM_PORTABLE_INC_OC_REGISTERS_H_ 40 #include <oc_registers_defs.h> 49 #define _________________________________________MACROS_SECTION_____________________________________________________________________________ 73 #define oC_RegisterType_(REGISTER_NAME) oC_1WORD_FROM_3(oC_RegisterType_ , REGISTER_NAME , _t ) 82 #define oC_RegisterSize_(REGISTER_NAME) oC_1WORD_FROM_2(oC_RegisterSize_,REGISTER_NAME) 99 #define oC_RegisterByBaseAddress(BaseAddress,REGISTER_NAME) ( (oC_RegisterType_(REGISTER_NAME)*)(BaseAddress + oC_RegisterOffset_(REGISTER_NAME)) ) 117 #define oC_Register(BASE_NAME,REGISTER_NAME) ( (oC_RegisterType_(REGISTER_NAME)*)(oC_BaseAddress_(BASE_NAME) + oC_RegisterOffset_(REGISTER_NAME)) ) 119 #undef _________________________________________MACROS_SECTION_____________________________________________________________________________ 127 #define _________________________________________TYPES_SECTION______________________________________________________________________________ 143 #define MAKE_BIT(BIT_NAME , SIZE ) volatile oC_UInt_t BIT_NAME:SIZE; 144 #define MAKE_REGISTER(REGISTER_NAME) \ 148 oC_REGISTER_(REGISTER_NAME)(MAKE_BIT)\ 150 volatile oC_UInt_t Value;\ 151 } oC_RegisterType_(REGISTER_NAME); 152 oC_REGISTERS_LIST(MAKE_REGISTER)
161 #define MAKE_BIT(BIT_NAME , SIZE ) + SIZE 162 #define MAKE_REGISTER(REGISTER_NAME) oC_RegisterSize_(REGISTER_NAME) = 0 oC_REGISTER_(REGISTER_NAME)(MAKE_BIT) , 166 oC_REGISTERS_LIST(MAKE_REGISTER)
172 #undef _________________________________________TYPES_SECTION______________________________________________________________________________ Contains macros for creating one word from more words in macros.
volatile oC_UInt_t oC_Register_t
type for storing registers
The file with interface for register maps module.
Interface for Machine Base Addresses (BA) module.