64bit TickType_t is supported on Windows port.(MSVC and MinGW)

Especially it is introduced for 64bit compiler.(x64 platform on MSVC and MinGW-w64)
This commit is contained in:
ws 2024-03-09 20:21:46 +09:00
parent 4732b96dba
commit cddeaf165f

View file

@ -72,9 +72,18 @@ typedef portSTACK_TYPE StackType_t;
typedef uint32_t TickType_t; typedef uint32_t TickType_t;
#define portMAX_DELAY ( TickType_t ) 0xffffffffUL #define portMAX_DELAY ( TickType_t ) 0xffffffffUL
/* 32/64-bit tick type on a 32/64-bit architecture, so reads of the tick /* 32-bit tick type on a 32/64-bit architecture, so reads of the tick
* count do not need to be guarded with a critical section. */ * count do not need to be guarded with a critical section. */
#define portTICK_TYPE_IS_ATOMIC 1 #define portTICK_TYPE_IS_ATOMIC 1
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_64_BITS )
typedef uint64_t TickType_t;
#define portMAX_DELAY ( TickType_t ) 0xffffffffffffffffULL
#if defined( __x86_64__ ) || defined( _M_X64 )
/* 64-bit tick type on a 64-bit architecture, so reads of the tick
* count do not need to be guarded with a critical section. */
#define portTICK_TYPE_IS_ATOMIC 1
#endif
#else #else
#error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width. #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width.
#endif #endif