VSF Documented
Data Structures | Macros | Typedefs
i_io_systick.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  systick_reg_t
 

Macros

#define SYSTICK_BASE_ADDRESS   (0xE000E010UL)
 SysTick timer register base address.
 
#define ARM_SYSTICK   (*(systick_reg_t *)SYSTICK_BASE_ADDRESS)
 define the System Tick Timer register page
 
#define __REG_MACRO__
 
#define DEF_REG
 
#define END_DEF_REG32(__NAME)
 
#define __REG_TYPE__
 
#define __REG_CONNECT(__A, __B)   __A##__B
 
#define __REG_RSVD_NAME(__NAME)   __REG_CONNECT(__unused_, __NAME)
 
#define ____REG_RSVD(__NAME, __BIT)    reg##__BIT##_t __NAME : __BIT;
 
#define ____REG_RSVD_N(__NAME, __BIT, __N)    reg##__BIT##_t __NAME[__N];
 
#define __REG_RSVD(__BIT)   ____REG_RSVD(REG_RSVD_NAME, __BIT)
 
#define __REG_RSVD_N(__BIT, __N)   ____REG_RSVD_N(REG_RSVD_NAME, __BIT, (__N))
 
#define REG_RSVD_NAME   __REG_RSVD_NAME(__LINE__)
 
#define REG_RSVD(__BIT)   __REG_RSVD(__BIT)
 
#define REG_RSVD_N(__BIT, __N)   __REG_RSVD_N(__BIT, (__N))
 
#define REG_RSVD_U8   REG_RSVD(8)
 
#define REG_RSVD_U16   REG_RSVD(16)
 
#define REG_RSVD_U32   REG_RSVD(32)
 
#define REG_RSVD_U8N(__N)   REG_RSVD_N(8, (__N))
 
#define REG_RSVD_U16N(__N)   REG_RSVD_N(16, (__N))
 
#define REG_RSVD_U32N(__N)   REG_RSVD_N(32, (__N))
 
#define REG8_RSVD_N(__N)   REG_RSVD_U8N(__N)
 
#define REG8_RSVD_B(__BYTE_CNT)   REG8_RSVD_N(__BYTE_CNT)
 
#define REG8_RSVD_8B   REG8_RSVD_B(8)
 
#define REG8_RSVD_16B   REG8_RSVD_B(16)
 
#define REG8_RSVD_32B   REG8_RSVD_B(32)
 
#define REG8_RSVD_64B   REG8_RSVD_B(64)
 
#define REG8_RSVD_128B   REG8_RSVD_B(128)
 
#define REG8_RSVD_256B   REG8_RSVD_B(256)
 
#define REG8_RSVD_512B   REG8_RSVD_B(512)
 
#define REG8_RSVD_1K   REG8_RSVD_B(1024)
 
#define REG8_RSVD_2K   REG8_RSVD_B(2048)
 
#define REG8_RSVD_4K   REG8_RSVD_B(4096)
 
#define REG8_RSVD_8K   REG8_RSVD_B(8192)
 
#define REG8_RSVD_16K   REG8_RSVD_B(16 * 1024)
 
#define REG8_RSVD_32K   REG8_RSVD_B(32 * 1024)
 
#define REG8_RSVD_64K   REG8_RSVD_B(64 * 1024)
 
#define REG8_RSVD_128K   REG8_RSVD_B(128 * 1024)
 
#define REG8_RSVD_256K   REG8_RSVD_B(256 * 1024)
 
#define REG8_RSVD_512K   REG8_RSVD_B(512 * 1024)
 
#define REG8_RSVD_1M   REG8_RSVD_B(1024 * 1024)
 
#define REG16_RSVD_N(__N)   REG_RSVD_U16N(__N)
 
#define REG16_RSVD_B(__BYTE_CNT)   REG16_RSVD_N(__BYTE_CNT >> 1)
 
#define REG16_RSVD_8B   REG16_RSVD_B(8)
 
#define REG16_RSVD_16B   REG16_RSVD_B(16)
 
#define REG16_RSVD_32B   REG16_RSVD_B(32)
 
#define REG16_RSVD_64B   REG16_RSVD_B(64)
 
#define REG16_RSVD_128B   REG16_RSVD_B(128)
 
#define REG16_RSVD_256B   REG16_RSVD_B(256)
 
#define REG16_RSVD_512B   REG16_RSVD_B(512)
 
#define REG16_RSVD_1K   REG16_RSVD_B(1024)
 
#define REG16_RSVD_2K   REG16_RSVD_B(2048)
 
#define REG16_RSVD_4K   REG16_RSVD_B(4096)
 
#define REG16_RSVD_8K   REG16_RSVD_B(8192)
 
#define REG16_RSVD_16K   REG16_RSVD_B(16 * 1024)
 
#define REG16_RSVD_32K   REG16_RSVD_B(32 * 1024)
 
#define REG16_RSVD_64K   REG16_RSVD_B(64 * 1024)
 
#define REG16_RSVD_128K   REG16_RSVD_B(128 * 1024)
 
#define REG16_RSVD_256K   REG16_RSVD_B(256 * 1024)
 
#define REG16_RSVD_512K   REG16_RSVD_B(512 * 1024)
 
#define REG16_RSVD_1M   REG16_RSVD_B(1024 * 1024)
 
#define REG32_RSVD_N(__N)   REG_RSVD_U32N(__N)
 
#define REG32_RSVD_B(__BYTE_CNT)   REG_RSVD_U32N(__BYTE_CNT >> 2)
 
#define REG32_RSVD_8B   REG32_RSVD_B(8)
 
#define REG32_RSVD_16B   REG32_RSVD_B(16)
 
#define REG32_RSVD_32B   REG32_RSVD_B(32)
 
#define REG32_RSVD_64B   REG32_RSVD_B(64)
 
#define REG32_RSVD_128B   REG32_RSVD_B(128)
 
#define REG32_RSVD_256B   REG32_RSVD_B(256)
 
#define REG32_RSVD_512B   REG32_RSVD_B(512)
 
#define REG32_RSVD_1K   REG32_RSVD_B(1024)
 
#define REG32_RSVD_2K   REG32_RSVD_B(2048)
 
#define REG32_RSVD_4K   REG32_RSVD_B(4096)
 
#define REG32_RSVD_8K   REG32_RSVD_B(8192)
 
#define REG32_RSVD_16K   REG32_RSVD_B(16 * 1024)
 
#define REG32_RSVD_32K   REG32_RSVD_B(32 * 1024)
 
#define REG32_RSVD_64K   REG32_RSVD_B(64 * 1024)
 
#define REG32_RSVD_128K   REG32_RSVD_B(128 * 1024)
 
#define REG32_RSVD_256K   REG32_RSVD_B(256 * 1024)
 
#define REG32_RSVD_512K   REG32_RSVD_B(512 * 1024)
 
#define REG32_RSVD_1M   REG32_RSVD_B(1024 * 1024)
 
REGISTER DEFINE
#define SYSTICK_CSR_REG   ARM_SYSTICK.SYST_CSR
 SysTick Timer Control and status register.
 
#define SYSTICK_CSR   SYSTICK_CSR_REG.VALUE
 
#define SYSTICK_CSR_BIT   SYSTICK_CSR_REG
 
#define SYSTICK_RVR_REG   ARM_SYSTICK.SYST_RVR
 System Timer Reload value register.
 
#define SYSTICK_RVR   SYSTICK_RVR_REG.VALUE
 
#define SYSTICK_RVR_BIT   SYSTICK_RVR_REG
 
#define SYSTICK_CVR_REG   ARM_SYSTICK.SYST_CVR
 System Timer Current value register.
 
#define SYSTICK_CVR   SYSTICK_CVR_REG.VALUE
 
#define SYSTICK_CVR_BIT   SYSTICK_CVR_REG
 
#define SYSTICK_CALIB_REG   ARM_SYSTICK.SYST_CALIB
 System Timer Calibration value register.
 
#define SYSTICK_CALIB   SYSTICK_CALIB_REG.VALUE
 
#define SYSTICK_CALIB_BIT   SYSTICK_CALIB_REG
 
DEFINE REGISTER OPERATION MACRO
#define SYSTICK_CSR_ENABLE   0
 SysTick Timer Control and status register.
 
#define SYSTICK_CSR_ENABLE_MSK   (1<<SYSTICK_CSR_ENABLE)
 
#define SYSTICK_CSR_TICKINT   1
 
#define SYSTICK_CSR_TICKINT_MSK   (1<<SYSTICK_CSR_TICKINT)
 
#define SYSTICK_CSR_CLKSOURCE   2
 
#define SYSTICK_CSR_CLKSOURCE_MSK   (1<<SYSTICK_CSR_CLKSOURCE)
 
#define SYSTICK_CSR_COUNTFLAG   16
 
#define SYSTICK_CSR_COUNTFLAG_MSK   (1<<SYSTICK_CSR_COUNTFLAG)
 
#define SYSTICK_CALIB_SKEW   30
 System Timer Calibration value register.
 
#define SYSTICK_CALIB_SKEW_MSK   (1<<SYSTICK_CALIB_SKEW)
 
#define SYSTICK_CALIB_NOREF   31
 
#define SYSTICK_CALIB_NOREF_MSK   (1<<SYSTICK_CALIB_NOREF)
 

Typedefs

typedef volatile uint8_t reg8_t
 
typedef volatile uint16_t reg16_t
 
typedef volatile uint32_t reg32_t
 

Macro Definition Documentation

◆ SYSTICK_BASE_ADDRESS

#define SYSTICK_BASE_ADDRESS   (0xE000E010UL)

SysTick timer register base address.

Note
i_reg_xxxx.h header files must be standalong and assume following ! conditions: ! a. stdint.h exists ! b. anonymous structures and unions are supported

◆ ARM_SYSTICK

#define ARM_SYSTICK   (*(systick_reg_t *)SYSTICK_BASE_ADDRESS)

define the System Tick Timer register page

◆ __REG_MACRO__

#define __REG_MACRO__

◆ DEF_REG

#define DEF_REG
Value:
union { \
struct {

◆ END_DEF_REG32

#define END_DEF_REG32 (   __NAME)
Value:
}; \
reg32_t VALUE; \
}__NAME;
volatile uint32_t reg32_t
Definition i_io_systick.h:120

◆ SYSTICK_CSR_REG

#define SYSTICK_CSR_REG   ARM_SYSTICK.SYST_CSR

SysTick Timer Control and status register.

◆ SYSTICK_CSR

#define SYSTICK_CSR   SYSTICK_CSR_REG.VALUE

◆ SYSTICK_CSR_BIT

#define SYSTICK_CSR_BIT   SYSTICK_CSR_REG

◆ SYSTICK_RVR_REG

#define SYSTICK_RVR_REG   ARM_SYSTICK.SYST_RVR

System Timer Reload value register.

◆ SYSTICK_RVR

#define SYSTICK_RVR   SYSTICK_RVR_REG.VALUE

◆ SYSTICK_RVR_BIT

#define SYSTICK_RVR_BIT   SYSTICK_RVR_REG

◆ SYSTICK_CVR_REG

#define SYSTICK_CVR_REG   ARM_SYSTICK.SYST_CVR

System Timer Current value register.

◆ SYSTICK_CVR

#define SYSTICK_CVR   SYSTICK_CVR_REG.VALUE

◆ SYSTICK_CVR_BIT

#define SYSTICK_CVR_BIT   SYSTICK_CVR_REG

◆ SYSTICK_CALIB_REG

#define SYSTICK_CALIB_REG   ARM_SYSTICK.SYST_CALIB

System Timer Calibration value register.

◆ SYSTICK_CALIB

#define SYSTICK_CALIB   SYSTICK_CALIB_REG.VALUE

◆ SYSTICK_CALIB_BIT

#define SYSTICK_CALIB_BIT   SYSTICK_CALIB_REG

◆ SYSTICK_CSR_ENABLE

#define SYSTICK_CSR_ENABLE   0

SysTick Timer Control and status register.

◆ SYSTICK_CSR_ENABLE_MSK

#define SYSTICK_CSR_ENABLE_MSK   (1<<SYSTICK_CSR_ENABLE)

◆ SYSTICK_CSR_TICKINT

#define SYSTICK_CSR_TICKINT   1

◆ SYSTICK_CSR_TICKINT_MSK

#define SYSTICK_CSR_TICKINT_MSK   (1<<SYSTICK_CSR_TICKINT)

◆ SYSTICK_CSR_CLKSOURCE

#define SYSTICK_CSR_CLKSOURCE   2

◆ SYSTICK_CSR_CLKSOURCE_MSK

#define SYSTICK_CSR_CLKSOURCE_MSK   (1<<SYSTICK_CSR_CLKSOURCE)

◆ SYSTICK_CSR_COUNTFLAG

#define SYSTICK_CSR_COUNTFLAG   16

◆ SYSTICK_CSR_COUNTFLAG_MSK

#define SYSTICK_CSR_COUNTFLAG_MSK   (1<<SYSTICK_CSR_COUNTFLAG)

◆ SYSTICK_CALIB_SKEW

#define SYSTICK_CALIB_SKEW   30

System Timer Calibration value register.

◆ SYSTICK_CALIB_SKEW_MSK

#define SYSTICK_CALIB_SKEW_MSK   (1<<SYSTICK_CALIB_SKEW)

◆ SYSTICK_CALIB_NOREF

#define SYSTICK_CALIB_NOREF   31

◆ SYSTICK_CALIB_NOREF_MSK

#define SYSTICK_CALIB_NOREF_MSK   (1<<SYSTICK_CALIB_NOREF)

◆ __REG_TYPE__

#define __REG_TYPE__

◆ __REG_CONNECT

#define __REG_CONNECT (   __A,
  __B 
)    __A##__B

◆ __REG_RSVD_NAME

#define __REG_RSVD_NAME (   __NAME)    __REG_CONNECT(__unused_, __NAME)

◆ ____REG_RSVD

#define ____REG_RSVD (   __NAME,
  __BIT 
)     reg##__BIT##_t __NAME : __BIT;

◆ ____REG_RSVD_N

#define ____REG_RSVD_N (   __NAME,
  __BIT,
  __N 
)     reg##__BIT##_t __NAME[__N];

◆ __REG_RSVD

#define __REG_RSVD (   __BIT)    ____REG_RSVD(REG_RSVD_NAME, __BIT)

◆ __REG_RSVD_N

#define __REG_RSVD_N (   __BIT,
  __N 
)    ____REG_RSVD_N(REG_RSVD_NAME, __BIT, (__N))

◆ REG_RSVD_NAME

#define REG_RSVD_NAME   __REG_RSVD_NAME(__LINE__)

◆ REG_RSVD

#define REG_RSVD (   __BIT)    __REG_RSVD(__BIT)

◆ REG_RSVD_N

#define REG_RSVD_N (   __BIT,
  __N 
)    __REG_RSVD_N(__BIT, (__N))

◆ REG_RSVD_U8

#define REG_RSVD_U8   REG_RSVD(8)

◆ REG_RSVD_U16

#define REG_RSVD_U16   REG_RSVD(16)

◆ REG_RSVD_U32

#define REG_RSVD_U32   REG_RSVD(32)

◆ REG_RSVD_U8N

#define REG_RSVD_U8N (   __N)    REG_RSVD_N(8, (__N))

◆ REG_RSVD_U16N

#define REG_RSVD_U16N (   __N)    REG_RSVD_N(16, (__N))

◆ REG_RSVD_U32N

#define REG_RSVD_U32N (   __N)    REG_RSVD_N(32, (__N))

◆ REG8_RSVD_N

#define REG8_RSVD_N (   __N)    REG_RSVD_U8N(__N)

◆ REG8_RSVD_B

#define REG8_RSVD_B (   __BYTE_CNT)    REG8_RSVD_N(__BYTE_CNT)

◆ REG8_RSVD_8B

#define REG8_RSVD_8B   REG8_RSVD_B(8)

◆ REG8_RSVD_16B

#define REG8_RSVD_16B   REG8_RSVD_B(16)

◆ REG8_RSVD_32B

#define REG8_RSVD_32B   REG8_RSVD_B(32)

◆ REG8_RSVD_64B

#define REG8_RSVD_64B   REG8_RSVD_B(64)

◆ REG8_RSVD_128B

#define REG8_RSVD_128B   REG8_RSVD_B(128)

◆ REG8_RSVD_256B

#define REG8_RSVD_256B   REG8_RSVD_B(256)

◆ REG8_RSVD_512B

#define REG8_RSVD_512B   REG8_RSVD_B(512)

◆ REG8_RSVD_1K

#define REG8_RSVD_1K   REG8_RSVD_B(1024)

◆ REG8_RSVD_2K

#define REG8_RSVD_2K   REG8_RSVD_B(2048)

◆ REG8_RSVD_4K

#define REG8_RSVD_4K   REG8_RSVD_B(4096)

◆ REG8_RSVD_8K

#define REG8_RSVD_8K   REG8_RSVD_B(8192)

◆ REG8_RSVD_16K

#define REG8_RSVD_16K   REG8_RSVD_B(16 * 1024)

◆ REG8_RSVD_32K

#define REG8_RSVD_32K   REG8_RSVD_B(32 * 1024)

◆ REG8_RSVD_64K

#define REG8_RSVD_64K   REG8_RSVD_B(64 * 1024)

◆ REG8_RSVD_128K

#define REG8_RSVD_128K   REG8_RSVD_B(128 * 1024)

◆ REG8_RSVD_256K

#define REG8_RSVD_256K   REG8_RSVD_B(256 * 1024)

◆ REG8_RSVD_512K

#define REG8_RSVD_512K   REG8_RSVD_B(512 * 1024)

◆ REG8_RSVD_1M

#define REG8_RSVD_1M   REG8_RSVD_B(1024 * 1024)

◆ REG16_RSVD_N

#define REG16_RSVD_N (   __N)    REG_RSVD_U16N(__N)

◆ REG16_RSVD_B

#define REG16_RSVD_B (   __BYTE_CNT)    REG16_RSVD_N(__BYTE_CNT >> 1)

◆ REG16_RSVD_8B

#define REG16_RSVD_8B   REG16_RSVD_B(8)

◆ REG16_RSVD_16B

#define REG16_RSVD_16B   REG16_RSVD_B(16)

◆ REG16_RSVD_32B

#define REG16_RSVD_32B   REG16_RSVD_B(32)

◆ REG16_RSVD_64B

#define REG16_RSVD_64B   REG16_RSVD_B(64)

◆ REG16_RSVD_128B

#define REG16_RSVD_128B   REG16_RSVD_B(128)

◆ REG16_RSVD_256B

#define REG16_RSVD_256B   REG16_RSVD_B(256)

◆ REG16_RSVD_512B

#define REG16_RSVD_512B   REG16_RSVD_B(512)

◆ REG16_RSVD_1K

#define REG16_RSVD_1K   REG16_RSVD_B(1024)

◆ REG16_RSVD_2K

#define REG16_RSVD_2K   REG16_RSVD_B(2048)

◆ REG16_RSVD_4K

#define REG16_RSVD_4K   REG16_RSVD_B(4096)

◆ REG16_RSVD_8K

#define REG16_RSVD_8K   REG16_RSVD_B(8192)

◆ REG16_RSVD_16K

#define REG16_RSVD_16K   REG16_RSVD_B(16 * 1024)

◆ REG16_RSVD_32K

#define REG16_RSVD_32K   REG16_RSVD_B(32 * 1024)

◆ REG16_RSVD_64K

#define REG16_RSVD_64K   REG16_RSVD_B(64 * 1024)

◆ REG16_RSVD_128K

#define REG16_RSVD_128K   REG16_RSVD_B(128 * 1024)

◆ REG16_RSVD_256K

#define REG16_RSVD_256K   REG16_RSVD_B(256 * 1024)

◆ REG16_RSVD_512K

#define REG16_RSVD_512K   REG16_RSVD_B(512 * 1024)

◆ REG16_RSVD_1M

#define REG16_RSVD_1M   REG16_RSVD_B(1024 * 1024)

◆ REG32_RSVD_N

#define REG32_RSVD_N (   __N)    REG_RSVD_U32N(__N)

◆ REG32_RSVD_B

#define REG32_RSVD_B (   __BYTE_CNT)    REG_RSVD_U32N(__BYTE_CNT >> 2)

◆ REG32_RSVD_8B

#define REG32_RSVD_8B   REG32_RSVD_B(8)

◆ REG32_RSVD_16B

#define REG32_RSVD_16B   REG32_RSVD_B(16)

◆ REG32_RSVD_32B

#define REG32_RSVD_32B   REG32_RSVD_B(32)

◆ REG32_RSVD_64B

#define REG32_RSVD_64B   REG32_RSVD_B(64)

◆ REG32_RSVD_128B

#define REG32_RSVD_128B   REG32_RSVD_B(128)

◆ REG32_RSVD_256B

#define REG32_RSVD_256B   REG32_RSVD_B(256)

◆ REG32_RSVD_512B

#define REG32_RSVD_512B   REG32_RSVD_B(512)

◆ REG32_RSVD_1K

#define REG32_RSVD_1K   REG32_RSVD_B(1024)

◆ REG32_RSVD_2K

#define REG32_RSVD_2K   REG32_RSVD_B(2048)

◆ REG32_RSVD_4K

#define REG32_RSVD_4K   REG32_RSVD_B(4096)

◆ REG32_RSVD_8K

#define REG32_RSVD_8K   REG32_RSVD_B(8192)

◆ REG32_RSVD_16K

#define REG32_RSVD_16K   REG32_RSVD_B(16 * 1024)

◆ REG32_RSVD_32K

#define REG32_RSVD_32K   REG32_RSVD_B(32 * 1024)

◆ REG32_RSVD_64K

#define REG32_RSVD_64K   REG32_RSVD_B(64 * 1024)

◆ REG32_RSVD_128K

#define REG32_RSVD_128K   REG32_RSVD_B(128 * 1024)

◆ REG32_RSVD_256K

#define REG32_RSVD_256K   REG32_RSVD_B(256 * 1024)

◆ REG32_RSVD_512K

#define REG32_RSVD_512K   REG32_RSVD_B(512 * 1024)

◆ REG32_RSVD_1M

#define REG32_RSVD_1M   REG32_RSVD_B(1024 * 1024)

Typedef Documentation

◆ reg8_t

typedef volatile uint8_t reg8_t

◆ reg16_t

typedef volatile uint16_t reg16_t

◆ reg32_t

typedef volatile uint32_t reg32_t