From cddeaf165f4c36106a4df633592016f9b4d1ca00 Mon Sep 17 00:00:00 2001 From: ws Date: Sat, 9 Mar 2024 20:21:46 +0900 Subject: [PATCH] 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) --- portable/MSVC-MingW/portmacro.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/portable/MSVC-MingW/portmacro.h b/portable/MSVC-MingW/portmacro.h index a10ac6586..c2b07fa19 100644 --- a/portable/MSVC-MingW/portmacro.h +++ b/portable/MSVC-MingW/portmacro.h @@ -72,9 +72,18 @@ typedef portSTACK_TYPE StackType_t; typedef uint32_t TickType_t; #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. */ #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 #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width. #endif