44 lines
1.4 KiB
C
44 lines
1.4 KiB
C
/*
|
|
* Copyright (c) 2020-2020, BLUETRUM Development Team
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef PROUGENGX_H__
|
|
#define PROUGENGX_H__
|
|
|
|
#include "ab32vg1.h"
|
|
|
|
#ifndef UINT_MAX
|
|
#define UINT_MAX 0xffffffff
|
|
#endif // UINT_MAX
|
|
|
|
#define BIT(n) (1ul << (n))
|
|
|
|
#define AT(x) __attribute__((section(#x)))
|
|
#define ALIGNED(n) __attribute__((aligned(n)))
|
|
#define DMA_ADR(x) ((uint32_t)x)
|
|
#define ALWAYS_INLINE __attribute__((always_inline)) inline
|
|
#define NO_INLINE __attribute__((noinline))
|
|
#define WEAK __attribute__((weak))
|
|
#define PACKED __attribute__((packed))
|
|
|
|
#define BYTE0(n) ((unsigned char)(n))
|
|
#define BYTE1(n) ((unsigned char)((n)>>8))
|
|
#define BYTE2(n) ((unsigned char)((n)>>16))
|
|
#define BYTE3(n) ((unsigned char)((n)>>24))
|
|
|
|
#define GET_LE16(ptr) (uint16_t)(*(uint16_t*)(uint8_t*)(ptr))
|
|
#define GET_LE32(ptr) (uint32_t)(*(uint32_t*)(uint8_t*)(ptr))
|
|
#define PUT_LE16(ptr, val) *(uint16_t*)(uint8_t*)(ptr) = (uint16_t)(val)
|
|
#define PUT_LE32(ptr, val) *(uint32_t*)(uint8_t*)(ptr) = (uint32_t)(val)
|
|
|
|
#define GET_BE16(ptr) get_be16(ptr)
|
|
#define GET_BE32(ptr) get_be32(ptr)
|
|
#define PUT_BE16(ptr, val) put_be16(ptr, val)
|
|
#define PUT_BE32(ptr, val) put_be32(ptr, val)
|
|
|
|
#include "ab32vg1_hal.h"
|
|
|
|
#endif
|