Skip to content

Commit d5b5b02

Browse files
committed
[boards] Fix off-by-one in SysTick cyclesPerTick reload values
1 parent 57c3de1 commit d5b5b02

10 files changed

Lines changed: 10 additions & 10 deletions

File tree

boards/pic32cz_curiosity_ultra/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ extern volatile uint32_t g_tick;
8686
.base = WHAL_CORTEX_M7_SYSTICK_BASE, \
8787
/* .driver: direct API mapping */ \
8888
.cfg = (void *)&(const whal_SysTick_Cfg){ \
89-
.cyclesPerTick = 300000000 / 1000, \
89+
.cyclesPerTick = (300000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
9090
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
9191
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
9292
}, \

boards/stm32c031_nucleo/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ enum {
112112
.base = WHAL_CORTEX_M0PLUS_SYSTICK_BASE, \
113113
/* .driver: direct API mapping */ \
114114
.cfg = (void *)&(const whal_SysTick_Cfg){ \
115-
.cyclesPerTick = 48000000 / 1000, \
115+
.cyclesPerTick = (48000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
116116
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
117117
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
118118
}, \

boards/stm32f091rc_nucleo/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ enum {
156156
.base = WHAL_CORTEX_M0_SYSTICK_BASE, \
157157
/* .driver: direct API mapping */ \
158158
.cfg = (void *)&(const whal_SysTick_Cfg){ \
159-
.cyclesPerTick = 48000000 / 1000, \
159+
.cyclesPerTick = (48000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
160160
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
161161
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
162162
}, \

boards/stm32f302r8_nucleo/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ enum {
158158
.base = WHAL_CORTEX_M4_SYSTICK_BASE, \
159159
/* .driver: direct API mapping */ \
160160
.cfg = (void *)&(const whal_SysTick_Cfg){ \
161-
.cyclesPerTick = 48000000 / 1000, \
161+
.cyclesPerTick = (48000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
162162
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
163163
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
164164
}, \

boards/stm32f411_blackpill/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ extern const whal_Stm32f4_Flash_Sector g_flashSectors[FLASH_SECTOR_COUNT];
119119
.base = WHAL_CORTEX_M4_SYSTICK_BASE, \
120120
/* .driver: direct API mapping */ \
121121
.cfg = (void *)&(const whal_SysTick_Cfg){ \
122-
.cyclesPerTick = 100000000 / 1000, \
122+
.cyclesPerTick = (100000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
123123
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
124124
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
125125
}, \

boards/stm32h563zi_nucleo/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ extern uint8_t ethRxBufs[BOARD_ETH_RX_DESC_COUNT * BOARD_ETH_RX_BUF_SIZE];
214214
.base = WHAL_CORTEX_M33_SYSTICK_BASE, \
215215
/* .driver: direct API mapping */ \
216216
.cfg = (void *)&(const whal_SysTick_Cfg){ \
217-
.cyclesPerTick = 168000000 / 1000, \
217+
.cyclesPerTick = (168000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
218218
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
219219
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
220220
}, \

boards/stm32l152re_nucleo/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ enum {
158158
.base = WHAL_CORTEX_M3_SYSTICK_BASE, \
159159
/* .driver: direct API mapping */ \
160160
.cfg = (void *)&(const whal_SysTick_Cfg){ \
161-
.cyclesPerTick = 32000000 / 1000, \
161+
.cyclesPerTick = (32000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
162162
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
163163
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
164164
}, \

boards/stm32n657a0_nucleo/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ extern uint8_t ethRxBufs[BOARD_ETH_RX_DESC_COUNT * BOARD_ETH_RX_BUF_SIZE];
339339
.base = WHAL_CORTEX_M55_SYSTICK_BASE, \
340340
/* .driver: direct API mapping */ \
341341
.cfg = (void *)&(const whal_SysTick_Cfg){ \
342-
.cyclesPerTick = 64000000 / 1000, \
342+
.cyclesPerTick = (64000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
343343
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
344344
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
345345
}, \

boards/stm32wb55xx_nucleo/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ enum {
216216
.base = WHAL_CORTEX_M4_SYSTICK_BASE, \
217217
/* .driver: direct API mapping */ \
218218
.cfg = (void *)&(const whal_SysTick_Cfg){ \
219-
.cyclesPerTick = 64000000 / 1000, \
219+
.cyclesPerTick = (64000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
220220
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
221221
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
222222
}, \

boards/stm32wba55cg_nucleo/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ enum {
256256
.base = WHAL_CORTEX_M33_SYSTICK_BASE, \
257257
/* .driver: direct API mapping */ \
258258
.cfg = (void *)&(const whal_SysTick_Cfg){ \
259-
.cyclesPerTick = 100000000 / 1000, \
259+
.cyclesPerTick = (100000000 / 1000) - 1, /* SysTick reloads every LOAD+1 cycles */ \
260260
.clkSrc = WHAL_SYSTICK_CLKSRC_SYSCLK, \
261261
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED, \
262262
}, \

0 commit comments

Comments
 (0)