Scott Lahteine
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
6 additions and
5 deletions
-
Marlin/src/HAL/HAL_STM32/HAL.cpp
-
Marlin/src/HAL/shared/Delay.h
|
@ -49,7 +49,7 @@ uint16_t HAL_adc_result; |
|
|
// ------------------------
|
|
|
// ------------------------
|
|
|
|
|
|
|
|
|
// Needed for DELAY_NS() / DELAY_US() on CORTEX-M7
|
|
|
// Needed for DELAY_NS() / DELAY_US() on CORTEX-M7
|
|
|
#if (defined(__arm__) || defined(__thumb__)) && __CORTEX_M == 7 |
|
|
#if (defined(__arm__) || defined(__thumb__)) && WITHIN(__CORTEX_M, 3, 7) |
|
|
// HAL pre-initialization task
|
|
|
// HAL pre-initialization task
|
|
|
// Force the preinit function to run between the premain() and main() function
|
|
|
// Force the preinit function to run between the premain() and main() function
|
|
|
// of the STM32 arduino core
|
|
|
// of the STM32 arduino core
|
|
|
|
@ -34,16 +34,17 @@ |
|
|
|
|
|
|
|
|
#if defined(__arm__) || defined(__thumb__) |
|
|
#if defined(__arm__) || defined(__thumb__) |
|
|
|
|
|
|
|
|
#if __CORTEX_M == 7 |
|
|
#if WITHIN(__CORTEX_M, 3, 7) |
|
|
|
|
|
|
|
|
// Cortex-M7 can use the cycle counter of the DWT unit
|
|
|
// Cortex-M3 through M7 can use the cycle counter of the DWT unit
|
|
|
// http://www.anthonyvh.com/2017/05/18/cortex_m-cycle_counter/
|
|
|
// http://www.anthonyvh.com/2017/05/18/cortex_m-cycle_counter/
|
|
|
|
|
|
|
|
|
FORCE_INLINE static void enableCycleCounter() { |
|
|
FORCE_INLINE static void enableCycleCounter() { |
|
|
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; |
|
|
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; |
|
|
|
|
|
|
|
|
// Unlock DWT.
|
|
|
#if __CORTEX_M == 7 |
|
|
DWT->LAR = 0xC5ACCE55; |
|
|
DWT->LAR = 0xC5ACCE55; // Unlock DWT on the M7
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
DWT->CYCCNT = 0; |
|
|
DWT->CYCCNT = 0; |
|
|
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; |
|
|
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; |
|
|