git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6292 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
0e436b1cb6
commit
ab736d4dfd
|
@ -51,8 +51,17 @@
|
|||
*/
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief System time counter resolution.
|
||||
* @note Allowed values are 16 or 32 bits.
|
||||
*/
|
||||
#define NIL_CFG_ST_RESOLUTION 32
|
||||
|
||||
/**
|
||||
* @brief System tick frequency.
|
||||
* @note This value together with the @p NIL_CFG_ST_RESOLUTION
|
||||
* option defines the maximum amount of time allowed for
|
||||
* timeouts.
|
||||
*/
|
||||
#define NIL_CFG_ST_FREQUENCY 50000
|
||||
|
||||
|
|
|
@ -128,7 +128,18 @@ typedef struct nil_thread thread_t;
|
|||
#endif
|
||||
|
||||
/**
|
||||
* @brief System timer resolution in Hz.
|
||||
* @brief System time counter resolution.
|
||||
* @note Allowed values are 16 or 32 bits.
|
||||
*/
|
||||
#if !defined(NIL_CFG_ST_RESOLUTION) || defined(__DOXYGEN__)
|
||||
#define NIL_CFG_ST_RESOLUTION 32
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief System tick frequency.
|
||||
* @note This value together with the @p NIL_CFG_ST_RESOLUTION
|
||||
* option defines the maximum amount of time allowed for
|
||||
* timeouts.
|
||||
*/
|
||||
#if !defined(NIL_CFG_ST_FREQUENCY) || defined(__DOXYGEN__)
|
||||
#define NIL_CFG_ST_FREQUENCY 100
|
||||
|
@ -191,12 +202,17 @@ typedef struct nil_thread thread_t;
|
|||
"ChibiOS/RT instead"
|
||||
#endif
|
||||
|
||||
#if (NIL_CFG_ST_RESOLUTION != 16) && (NIL_CFG_ST_RESOLUTION != 32)
|
||||
#error "invalid NIL_CFG_ST_RESOLUTION specified, must be 16 or 32"
|
||||
#endif
|
||||
|
||||
#if NIL_CFG_ST_FREQUENCY <= 0
|
||||
#error "invalid NIL_CFG_ST_FREQUENCY specified"
|
||||
#error "invalid NIL_CFG_ST_FREQUENCY specified, must be greated than zero"
|
||||
#endif
|
||||
|
||||
#if (NIL_CFG_ST_TIMEDELTA < 0) || (NIL_CFG_ST_TIMEDELTA == 1)
|
||||
#error "invalid NIL_CFG_ST_TIMEDELTA specified"
|
||||
#error "invalid NIL_CFG_ST_TIMEDELTA specified, must " \
|
||||
"be zero or greater than one"
|
||||
#endif
|
||||
|
||||
#if NIL_CFG_ENABLE_ASSERTS
|
||||
|
|
|
@ -51,7 +51,6 @@
|
|||
/** @} */
|
||||
|
||||
typedef uint32_t syssts_t; /**< System status word. */
|
||||
typedef uint32_t systime_t; /**< System time. */
|
||||
typedef uint32_t rtcnt_t; /**< Realtime counter. */
|
||||
typedef uint8_t tstate_t; /**< Thread state. */
|
||||
typedef int32_t msg_t; /**< Inter-thread message. */
|
||||
|
|
|
@ -110,18 +110,33 @@
|
|||
asm module.*/
|
||||
#if !defined(_FROM_ASM_)
|
||||
|
||||
/* The following declarations are there just for Doxygen documentation, the
|
||||
real declarations are inside the sub-headers being specific for the
|
||||
sub-architectures.*/
|
||||
#if defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief Stack and memory alignment enforcement.
|
||||
* @brief Type of system time.
|
||||
*/
|
||||
#if (NIL_CFG_ST_RESOLUTION == 32) || defined(__DOXYGEN__)
|
||||
typedef uint32_t systime_t;
|
||||
#else
|
||||
typedef uint16_t systime_t;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Type of a generic ARM register.
|
||||
*/
|
||||
typedef void *regarm_t;
|
||||
|
||||
/**
|
||||
* @brief Type of stack and memory alignment enforcement.
|
||||
* @note In this architecture the stack alignment is enforced to 64 bits,
|
||||
* 32 bits alignment is supported by hardware but deprecated by ARM,
|
||||
* the implementation choice is to not offer the option.
|
||||
*/
|
||||
typedef uint64_t stkalign_t;
|
||||
|
||||
/* The following declarations are there just for Doxygen documentation, the
|
||||
real declarations are inside the sub-headers being specific for the
|
||||
sub-architectures.*/
|
||||
#if defined(__DOXYGEN__)
|
||||
|
||||
/**
|
||||
* @brief Interrupt saved context.
|
||||
* @details This structure represents the stack frame saved during a
|
||||
|
|
|
@ -147,17 +147,9 @@
|
|||
|
||||
#if !defined(_FROM_ASM_)
|
||||
|
||||
/**
|
||||
* @brief Generic ARM register.
|
||||
*/
|
||||
typedef void *regarm_t;
|
||||
|
||||
/* The documentation of the following declarations is in chconf.h in order
|
||||
to not have duplicated structure names into the documentation.*/
|
||||
#if !defined(__DOXYGEN__)
|
||||
|
||||
typedef uint64_t stkalign_t;
|
||||
|
||||
struct port_extctx {
|
||||
regarm_t r0;
|
||||
regarm_t r1;
|
||||
|
@ -180,7 +172,6 @@ struct port_intctx {
|
|||
regarm_t r7;
|
||||
regarm_t lr;
|
||||
};
|
||||
|
||||
#endif /* !defined(__DOXYGEN__) */
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -208,17 +208,9 @@
|
|||
asm module.*/
|
||||
#if !defined(_FROM_ASM_)
|
||||
|
||||
/**
|
||||
* @brief Generic ARM register.
|
||||
*/
|
||||
typedef void *regarm_t;
|
||||
|
||||
/* The documentation of the following declarations is in chconf.h in order
|
||||
to not have duplicated structure names into the documentation.*/
|
||||
#if !defined(__DOXYGEN__)
|
||||
|
||||
typedef uint64_t stkalign_t;
|
||||
|
||||
struct port_extctx {
|
||||
regarm_t r0;
|
||||
regarm_t r1;
|
||||
|
@ -279,7 +271,6 @@ struct port_intctx {
|
|||
regarm_t r11;
|
||||
regarm_t lr;
|
||||
};
|
||||
|
||||
#endif /* !defined(__DOXYGEN__) */
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
Loading…
Reference in New Issue