mirror of
https://github.com/m-labs/artiq.git
synced 2024-12-23 02:14:01 +08:00
61 lines
1.4 KiB
C
61 lines
1.4 KiB
C
|
// This file is Copyright (c) 2015 Florent Kermarrec <florent@enjoy-digital.fr>
|
||
|
// LiteETH lwIP port for ARTIQ
|
||
|
// License: BSD
|
||
|
|
||
|
#ifndef __ARCH_CC_H__
|
||
|
#define __ARCH_CC_H__
|
||
|
|
||
|
/* Include some files for defining library routines */
|
||
|
#include <stdlib.h>
|
||
|
#include <stdio.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
#define BYTE_ORDER BIG_ENDIAN
|
||
|
|
||
|
/* Define generic types */
|
||
|
typedef unsigned char u8_t;
|
||
|
typedef signed char s8_t;
|
||
|
typedef unsigned short u16_t;
|
||
|
typedef signed short s16_t;
|
||
|
typedef unsigned long u32_t;
|
||
|
typedef signed long s32_t;
|
||
|
|
||
|
typedef u32_t mem_ptr_t;
|
||
|
|
||
|
/* Define (sn)printf formatters for these types */
|
||
|
#define U8_F "c"
|
||
|
#define S8_F "c"
|
||
|
#define X8_F "x"
|
||
|
#define U16_F "u"
|
||
|
#define S16_F "d"
|
||
|
#define X16_F "x"
|
||
|
#define U32_F "u"
|
||
|
#define S32_F "d"
|
||
|
#define X32_F "x"
|
||
|
|
||
|
/* Compiler hints for packing structures */
|
||
|
#define PACK_STRUCT_FIELD(x) x
|
||
|
#define PACK_STRUCT_STRUCT __attribute__((packed))
|
||
|
#define PACK_STRUCT_BEGIN
|
||
|
#define PACK_STRUCT_END
|
||
|
|
||
|
/* prototypes for printf() and abort() */
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include "console.h"
|
||
|
#define pp_printf printf
|
||
|
|
||
|
/* Definitions for ASSERT/DIAG */
|
||
|
#ifdef LWIP_NOASSERT
|
||
|
#define LWIP_PLATFORM_ASSERT(x)
|
||
|
#else
|
||
|
#define LWIP_PLATFORM_ASSERT(x) do {pp_printf("Assertion \"%s\" failed at line %d in %s\n", \
|
||
|
x, __LINE__, __FILE__); } while(0)
|
||
|
#endif
|
||
|
|
||
|
#ifdef LWIP_DEBUG
|
||
|
#define LWIP_PLATFORM_DIAG(x) do {pp_printf x;} while(0)
|
||
|
#endif
|
||
|
|
||
|
#endif /* __ARCH_CC_H__ */
|