// Файл с типами для AT45DB321D. // v 1.0 от 16/07/15 // Автор: Сычев А. #ifndef AT45DBXXX_TYP_H #define AT45DBXXX_TYP_H #include #include typedef uint8_t __FLASH_BYTE; typedef uint16_t __FLASH_WORD; typedef uint32_t __FLASH_DWORD; #include "drivers\flash\common\AT45DB321D_ERR.h" // коды ошибок #ifndef __SPEC_HEADER_KEYWORDS__H__ #define __SPEC_HEADER_KEYWORDS__H__ //------------ GLOBAL----------------- #ifndef pragma #define pragma(str) _Pragma( #str ) #else #error Конфликт имен макросов #endif #ifndef DISABLE_WARN #define DISABLE_WARN(code) pragma(diag_suppress=code) #else #error Конфликт имен макросов #endif #if defined(ALIG)||defined(__ALIG8)||defined(__ALIG16)||defined(__ALIG32) #error Конфликт имен макросов #else //------------ ALIGNMENT ------------- #define ALIG(bytes) pragma(data_alignment=bytes) #define __ALIG8 ALIG(1) // выравнивание 8 битной переменной - на 1 байт #define __ALIG16 ALIG(2) // выравнивание 16 битной переменной - на 2 байта #define __ALIG32 ALIG(4) // выравнивание 32 битной переменной - на 4 байта #endif //------------ PLACEMENT ------------- #if defined(PLACEIN)||defined(_PLACEIN) #error Конфликт имен макросов #else #define PLACEIN(section) pragma(location=#section) // PLACEIN(.usb) #define _PLACEIN(section) pragma(location=section) // PLACEIN(".usb") #endif //------------ WRAPPING ------------- // added 16.04.19 #define AT45_IMP_FUNC_WRAPPER_I(A,B) A##B #define AT45_IMP_FUNC_WRAPPER_C(pref,value) AT45_IMP_FUNC_WRAPPER_I(pref,value) #endif #endif