#ifndef _EXO_TYPES_H_
#define _EXO_TYPES_H_

#ifdef LINUX_TEMP_PORT
#include <stdint.h>
#endif

#if defined(COREBOARD) || defined(STM32F769xx)

#define PLACE_IN_EXT_RAM_MEM 		__attribute__((aligned(4))) __attribute__ ((section (".ext_ram_data")))
#define PLACE_IN_EXT_QSPI_FLASH_MEM __attribute__((aligned(4*1024))) __attribute__ ((section (".ext_qspiflash_data")))
#define PLACE_IN_EXT_FMC_FLASH_MEM  __attribute__((aligned(1024*128))) __attribute__ ((section (".ext_fmcflash_data")))
#define PLACE_IN_FIXED_DATA 		__attribute__((aligned(4))) __attribute__ ((section (".fixed_data")))

#else

#define PLACE_IN_EXT_RAM_MEM
#define PLACE_IN_EXT_QSPI_FLASH_MEM
#define PLACE_IN_EXT_FMC_FLASH_MEM
#define PLACE_IN_FIXED_DATA
#endif

typedef unsigned int uint32;
//typedef unsigned int uint32_t; 
typedef unsigned short uint16;
typedef unsigned char uint8;
typedef long unsigned int uint64;
#ifndef LINUX_TEMP_PORT
typedef uint32 ptr_typ;
#else
typedef uint64 ptr_typ;
#endif


typedef int int32;
typedef short int16;
typedef char int8;

//#define UNUSED_PARM(x) __attribute__((__unused__))
//#  define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
//#define UNUSED(x) UNUSED_ ## x

#endif
