From 4c99ad743d18381b5b9a0b672729b181f4667383 Mon Sep 17 00:00:00 2001 From: Sam Lane Date: Sun, 23 Aug 2020 08:49:26 +0100 Subject: [PATCH] Rename FAST_RAM to FAST_DATA --- make/checks.mk | 14 +++---- src/link/stm32_flash_f7_split.ld | 2 +- src/link/stm32_flash_h743_2m.ld | 2 +- src/link/stm32_flash_split.ld | 2 +- src/link/stm32_h750_common.ld | 2 +- src/link/stm32_ram_h743.ld | 2 +- src/main/drivers/adc.c | 2 +- src/main/drivers/dshot.c | 4 +- src/main/drivers/dshot_bitbang.c | 22 +++++------ src/main/drivers/dshot_bitbang_impl.h | 10 ++--- src/main/drivers/dshot_dpwm.c | 8 ++-- src/main/drivers/dshot_dpwm.h | 4 +- src/main/drivers/light_ws2811strip.c | 2 +- src/main/drivers/motor.c | 2 +- src/main/drivers/pwm_output.c | 4 +- src/main/drivers/pwm_output.h | 2 +- src/main/drivers/pwm_output_dshot_shared.c | 10 ++--- src/main/drivers/pwm_output_dshot_shared.h | 10 ++--- src/main/drivers/serial_uart.c | 4 +- src/main/drivers/serial_uart_pinconfig.c | 4 +- src/main/drivers/system.c | 4 +- src/main/fc/core.c | 2 +- src/main/fc/rc.c | 20 +++++----- src/main/flight/gyroanalyse.c | 26 ++++++------- src/main/flight/mixer.c | 44 +++++++++++----------- src/main/flight/pid.c | 12 +++--- src/main/flight/rpm_filter.c | 28 +++++++------- src/main/scheduler/scheduler.c | 20 +++++----- src/main/sensors/acceleration.c | 2 +- src/main/sensors/gyro.c | 24 ++++++------ src/main/target/common_pre.h | 18 ++++----- src/test/unit/platform.h | 4 +- 32 files changed, 158 insertions(+), 158 deletions(-) diff --git a/make/checks.mk b/make/checks.mk index 51e02e2b33..9ec1bd696d 100644 --- a/make/checks.mk +++ b/make/checks.mk @@ -1,5 +1,5 @@ checks: check-target-independence \ - check-fastram-usage-correctness \ + check-fastdata-usage-correctness \ check-platform-included \ check-unified-target-naming @@ -13,17 +13,17 @@ check-target-independence: fi; \ done -check-fastram-usage-correctness: - $(V1) NON_TRIVIALLY_INITIALIZED=$$(grep -Ern "\W?FAST_RAM_ZERO_INIT\W.*=.*" src/main/ | grep -Ev "=\s*(false|NULL|0(\.0*f?)?)\s*[,;]"); \ +check-fastdata-usage-correctness: + $(V1) NON_TRIVIALLY_INITIALIZED=$$(grep -Ern "\W?FAST_DATA_ZERO_INIT\W.*=.*" src/main/ | grep -Ev "=\s*(false|NULL|0(\.0*f?)?)\s*[,;]"); \ if [ "$${NON_TRIVIALLY_INITIALIZED}" != "" ]; then \ - echo "Non-trivially initialized FAST_RAM_ZERO_INIT variables found, use FAST_RAM instead:"; \ + echo "Non-trivially initialized FAST_DATA_ZERO_INIT variables found, use FAST_DATA instead:"; \ echo "$${NON_TRIVIALLY_INITIALIZED}"; \ exit 1; \ fi; \ - TRIVIALLY_INITIALIZED=$$(grep -Ern "\W?FAST_RAM\W.*;" src/main/ | grep -v "="); \ - EXPLICITLY_TRIVIALLY_INITIALIZED=$$(grep -Ern "\W?FAST_RAM\W.*;" src/main/ | grep -E "=\s*(false|NULL|0(\.0*f?)?)\s*[,;]"); \ + TRIVIALLY_INITIALIZED=$$(grep -Ern "\W?FAST_DATA\W.*;" src/main/ | grep -v "="); \ + EXPLICITLY_TRIVIALLY_INITIALIZED=$$(grep -Ern "\W?FAST_DATA\W.*;" src/main/ | grep -E "=\s*(false|NULL|0(\.0*f?)?)\s*[,;]"); \ if [ "$${TRIVIALLY_INITIALIZED}$${EXPLICITLY_TRIVIALLY_INITIALIZED}" != "" ]; then \ - echo "Trivially initialized FAST_RAM variables found, use FAST_RAM_ZERO_INIT instead to save FLASH:"; \ + echo "Trivially initialized FAST_DATA variables found, use FAST_DATA_ZERO_INIT instead to save FLASH:"; \ echo "$${TRIVIALLY_INITIALIZED}\n$${EXPLICITLY_TRIVIALLY_INITIALIZED}"; \ exit 1; \ fi diff --git a/src/link/stm32_flash_f7_split.ld b/src/link/stm32_flash_f7_split.ld index 1cbdd5bf35..1cef9ca759 100644 --- a/src/link/stm32_flash_f7_split.ld +++ b/src/link/stm32_flash_f7_split.ld @@ -156,7 +156,7 @@ SECTIONS /* used during startup to initialized fastram_data */ _sfastram_idata = LOADADDR(.fastram_data); - /* Initialized FAST_RAM section for unsuspecting developers */ + /* Initialized FAST_DATA section for unsuspecting developers */ .fastram_data : { . = ALIGN(4); diff --git a/src/link/stm32_flash_h743_2m.ld b/src/link/stm32_flash_h743_2m.ld index 1e7bb6b917..21a5aa141d 100644 --- a/src/link/stm32_flash_h743_2m.ld +++ b/src/link/stm32_flash_h743_2m.ld @@ -197,7 +197,7 @@ SECTIONS /* used during startup to initialized fastram_data */ _sfastram_idata = LOADADDR(.fastram_data); - /* Initialized FAST_RAM section for unsuspecting developers */ + /* Initialized FAST_DATA section for unsuspecting developers */ .fastram_data : { . = ALIGN(4); diff --git a/src/link/stm32_flash_split.ld b/src/link/stm32_flash_split.ld index 08f1d65406..e82bedc634 100644 --- a/src/link/stm32_flash_split.ld +++ b/src/link/stm32_flash_split.ld @@ -165,7 +165,7 @@ SECTIONS /* used during startup to initialized fastram_data */ _sfastram_idata = LOADADDR(.fastram_data); - /* Initialized FAST_RAM section for unsuspecting developers */ + /* Initialized FAST_DATA section for unsuspecting developers */ .fastram_data : { . = ALIGN(4); diff --git a/src/link/stm32_h750_common.ld b/src/link/stm32_h750_common.ld index e744f83cc0..5c34f3e25f 100644 --- a/src/link/stm32_h750_common.ld +++ b/src/link/stm32_h750_common.ld @@ -131,7 +131,7 @@ SECTIONS /* used during startup to initialized fastram_data */ _sfastram_idata = LOADADDR(.fastram_data); - /* Initialized FAST_RAM section for unsuspecting developers */ + /* Initialized FAST_DATA section for unsuspecting developers */ .fastram_data : { . = ALIGN(4); diff --git a/src/link/stm32_ram_h743.ld b/src/link/stm32_ram_h743.ld index be19ce786c..723ffb6d88 100644 --- a/src/link/stm32_ram_h743.ld +++ b/src/link/stm32_ram_h743.ld @@ -190,7 +190,7 @@ SECTIONS /* used during startup to initialized fastram_data */ _sfastram_idata = LOADADDR(.fastram_data); - /* Initialized FAST_RAM section for unsuspecting developers */ + /* Initialized FAST_DATA section for unsuspecting developers */ .fastram_data : { . = ALIGN(4); diff --git a/src/main/drivers/adc.c b/src/main/drivers/adc.c index 93978a17a3..c9629ffa23 100644 --- a/src/main/drivers/adc.c +++ b/src/main/drivers/adc.c @@ -41,7 +41,7 @@ adcOperatingConfig_t adcOperatingConfig[ADC_CHANNEL_COUNT]; #if defined(STM32F7) -volatile FAST_RAM_ZERO_INIT uint16_t adcValues[ADC_CHANNEL_COUNT]; +volatile FAST_DATA_ZERO_INIT uint16_t adcValues[ADC_CHANNEL_COUNT]; #else volatile uint16_t adcValues[ADC_CHANNEL_COUNT]; #endif diff --git a/src/main/drivers/dshot.c b/src/main/drivers/dshot.c index 63c5122b06..039447ae8a 100644 --- a/src/main/drivers/dshot.c +++ b/src/main/drivers/dshot.c @@ -132,7 +132,7 @@ FAST_CODE uint16_t prepareDshotPacket(dshotProtocolControl_t *pcb) } #ifdef USE_DSHOT_TELEMETRY -FAST_RAM_ZERO_INIT dshotTelemetryState_t dshotTelemetryState; +FAST_DATA_ZERO_INIT dshotTelemetryState_t dshotTelemetryState; uint16_t getDshotTelemetry(uint8_t index) { @@ -142,7 +142,7 @@ uint16_t getDshotTelemetry(uint8_t index) #endif #ifdef USE_DSHOT_TELEMETRY_STATS -FAST_RAM_ZERO_INIT dshotTelemetryQuality_t dshotTelemetryQuality[MAX_SUPPORTED_MOTORS]; +FAST_DATA_ZERO_INIT dshotTelemetryQuality_t dshotTelemetryQuality[MAX_SUPPORTED_MOTORS]; void updateDshotTelemetryQuality(dshotTelemetryQuality_t *qualityStats, bool packetValid, timeMs_t currentTimeMs) { diff --git a/src/main/drivers/dshot_bitbang.c b/src/main/drivers/dshot_bitbang.c index e54b9d3f43..7b54528dce 100644 --- a/src/main/drivers/dshot_bitbang.c +++ b/src/main/drivers/dshot_bitbang.c @@ -54,15 +54,15 @@ #define dbgPinLo(x) #endif -FAST_RAM_ZERO_INIT bbPacer_t bbPacers[MAX_MOTOR_PACERS]; // TIM1 or TIM8 -FAST_RAM_ZERO_INIT int usedMotorPacers = 0; +FAST_DATA_ZERO_INIT bbPacer_t bbPacers[MAX_MOTOR_PACERS]; // TIM1 or TIM8 +FAST_DATA_ZERO_INIT int usedMotorPacers = 0; -FAST_RAM_ZERO_INIT bbPort_t bbPorts[MAX_SUPPORTED_MOTOR_PORTS]; -FAST_RAM_ZERO_INIT int usedMotorPorts; +FAST_DATA_ZERO_INIT bbPort_t bbPorts[MAX_SUPPORTED_MOTOR_PORTS]; +FAST_DATA_ZERO_INIT int usedMotorPorts; -FAST_RAM_ZERO_INIT bbMotor_t bbMotors[MAX_SUPPORTED_MOTORS]; +FAST_DATA_ZERO_INIT bbMotor_t bbMotors[MAX_SUPPORTED_MOTORS]; -static FAST_RAM_ZERO_INIT int motorCount; +static FAST_DATA_ZERO_INIT int motorCount; dshotBitbangStatus_e bbStatus; // For MCUs that use MPU to control DMA coherency, there might be a performance hit @@ -74,8 +74,8 @@ dshotBitbangStatus_e bbStatus; #define BB_OUTPUT_BUFFER_ATTRIBUTE #define BB_INPUT_BUFFER_ATTRIBUTE #elif defined(STM32F7) -#define BB_OUTPUT_BUFFER_ATTRIBUTE FAST_RAM_ZERO_INIT -#define BB_INPUT_BUFFER_ATTRIBUTE FAST_RAM_ZERO_INIT +#define BB_OUTPUT_BUFFER_ATTRIBUTE FAST_DATA_ZERO_INIT +#define BB_INPUT_BUFFER_ATTRIBUTE FAST_DATA_ZERO_INIT #elif defined(STM32H7) #define BB_OUTPUT_BUFFER_ATTRIBUTE DMA_RAM #define BB_INPUT_BUFFER_ATTRIBUTE DMA_RAM @@ -85,7 +85,7 @@ BB_OUTPUT_BUFFER_ATTRIBUTE uint32_t bbOutputBuffer[MOTOR_DSHOT_BUFFER_SIZE * MAX BB_INPUT_BUFFER_ATTRIBUTE uint16_t bbInputBuffer[DSHOT_BITBANG_PORT_INPUT_BUFFER_LENGTH * MAX_SUPPORTED_MOTOR_PORTS]; uint8_t bbPuPdMode; -FAST_RAM_ZERO_INIT timeUs_t dshotFrameUs; +FAST_DATA_ZERO_INIT timeUs_t dshotFrameUs; const timerHardware_t bbTimerHardware[] = { @@ -104,8 +104,8 @@ const timerHardware_t bbTimerHardware[] = { #endif }; -static FAST_RAM_ZERO_INIT motorDevice_t bbDevice; -static FAST_RAM_ZERO_INIT timeUs_t lastSendUs; +static FAST_DATA_ZERO_INIT motorDevice_t bbDevice; +static FAST_DATA_ZERO_INIT timeUs_t lastSendUs; static motorPwmProtocolTypes_e motorPwmProtocol; diff --git a/src/main/drivers/dshot_bitbang_impl.h b/src/main/drivers/dshot_bitbang_impl.h index 9532bf87c1..fefb258659 100644 --- a/src/main/drivers/dshot_bitbang_impl.h +++ b/src/main/drivers/dshot_bitbang_impl.h @@ -174,13 +174,13 @@ typedef struct bbMotor_s { } bbMotor_t; #define MAX_MOTOR_PACERS 4 -extern FAST_RAM_ZERO_INIT bbPacer_t bbPacers[MAX_MOTOR_PACERS]; // TIM1 or TIM8 -extern FAST_RAM_ZERO_INIT int usedMotorPacers; +extern FAST_DATA_ZERO_INIT bbPacer_t bbPacers[MAX_MOTOR_PACERS]; // TIM1 or TIM8 +extern FAST_DATA_ZERO_INIT int usedMotorPacers; -extern FAST_RAM_ZERO_INIT bbPort_t bbPorts[MAX_SUPPORTED_MOTOR_PORTS]; -extern FAST_RAM_ZERO_INIT int usedMotorPorts; +extern FAST_DATA_ZERO_INIT bbPort_t bbPorts[MAX_SUPPORTED_MOTOR_PORTS]; +extern FAST_DATA_ZERO_INIT int usedMotorPorts; -extern FAST_RAM_ZERO_INIT bbMotor_t bbMotors[MAX_SUPPORTED_MOTORS]; +extern FAST_DATA_ZERO_INIT bbMotor_t bbMotors[MAX_SUPPORTED_MOTORS]; extern uint8_t bbPuPdMode; diff --git a/src/main/drivers/dshot_dpwm.c b/src/main/drivers/dshot_dpwm.c index bba76ff650..70b6c2283e 100644 --- a/src/main/drivers/dshot_dpwm.c +++ b/src/main/drivers/dshot_dpwm.c @@ -45,13 +45,13 @@ DSHOT_DMA_BUFFER_ATTRIBUTE DSHOT_DMA_BUFFER_UNIT dshotBurstDmaBuffer[MAX_DMA_TIM #endif #ifdef USE_DSHOT_DMAR -FAST_RAM_ZERO_INIT bool useBurstDshot = false; +FAST_DATA_ZERO_INIT bool useBurstDshot = false; #endif #ifdef USE_DSHOT_TELEMETRY -FAST_RAM_ZERO_INIT bool useDshotTelemetry = false; +FAST_DATA_ZERO_INIT bool useDshotTelemetry = false; #endif -FAST_RAM_ZERO_INIT loadDmaBufferFn *loadDmaBuffer; +FAST_DATA_ZERO_INIT loadDmaBufferFn *loadDmaBuffer; FAST_CODE uint8_t loadDmaBufferDshot(uint32_t *dmaBuffer, int stride, uint16_t packet) { @@ -149,7 +149,7 @@ static motorVTable_t dshotPwmVTable = { .shutdown = dshotPwmShutdown, }; -FAST_RAM_ZERO_INIT motorDevice_t dshotPwmDevice; +FAST_DATA_ZERO_INIT motorDevice_t dshotPwmDevice; motorDevice_t *dshotPwmDevInit(const motorDevConfig_t *motorConfig, uint16_t idlePulse, uint8_t motorCount, bool useUnsyncedPwm) { diff --git a/src/main/drivers/dshot_dpwm.h b/src/main/drivers/dshot_dpwm.h index 00751c91bd..e67c180aac 100644 --- a/src/main/drivers/dshot_dpwm.h +++ b/src/main/drivers/dshot_dpwm.h @@ -42,7 +42,7 @@ typedef uint8_t loadDmaBufferFn(uint32_t *dmaBuffer, int stride, uint16_t packet); // function pointer used to encode a digital motor value into the DMA buffer representation -extern FAST_RAM_ZERO_INIT loadDmaBufferFn *loadDmaBuffer; +extern FAST_DATA_ZERO_INIT loadDmaBufferFn *loadDmaBuffer; uint8_t loadDmaBufferDshot(uint32_t *dmaBuffer, int stride, uint16_t packet); uint8_t loadDmaBufferProshot(uint32_t *dmaBuffer, int stride, uint16_t packet); @@ -66,7 +66,7 @@ motorDevice_t *dshotPwmDevInit(const struct motorDevConfig_s *motorConfig, uint1 #elif defined(STM32G4) #define DSHOT_DMA_BUFFER_ATTRIBUTE DMA_RAM_W #elif defined(STM32F7) -#define DSHOT_DMA_BUFFER_ATTRIBUTE FAST_RAM_ZERO_INIT +#define DSHOT_DMA_BUFFER_ATTRIBUTE FAST_DATA_ZERO_INIT #else #define DSHOT_DMA_BUFFER_ATTRIBUTE // None #endif diff --git a/src/main/drivers/light_ws2811strip.c b/src/main/drivers/light_ws2811strip.c index 0e4d157ce7..a86fb7524c 100644 --- a/src/main/drivers/light_ws2811strip.c +++ b/src/main/drivers/light_ws2811strip.c @@ -47,7 +47,7 @@ #if defined(STM32F1) || defined(STM32F3) uint8_t ledStripDMABuffer[WS2811_DMA_BUFFER_SIZE]; #elif defined(STM32F7) -FAST_RAM_ZERO_INIT uint32_t ledStripDMABuffer[WS2811_DMA_BUFFER_SIZE]; +FAST_DATA_ZERO_INIT uint32_t ledStripDMABuffer[WS2811_DMA_BUFFER_SIZE]; #elif defined(STM32H7) DMA_RAM uint32_t ledStripDMABuffer[WS2811_DMA_BUFFER_SIZE]; #else diff --git a/src/main/drivers/motor.c b/src/main/drivers/motor.c index ec3a9bd9a4..9ac20c8011 100644 --- a/src/main/drivers/motor.c +++ b/src/main/drivers/motor.c @@ -42,7 +42,7 @@ #include "motor.h" -static FAST_RAM_ZERO_INIT motorDevice_t *motorDevice; +static FAST_DATA_ZERO_INIT motorDevice_t *motorDevice; static bool motorProtocolEnabled = false; static bool motorProtocolDshot = false; diff --git a/src/main/drivers/pwm_output.c b/src/main/drivers/pwm_output.c index b17cea0a3e..decbe73e5d 100644 --- a/src/main/drivers/pwm_output.c +++ b/src/main/drivers/pwm_output.c @@ -35,7 +35,7 @@ #include "pg/motor.h" -FAST_RAM_ZERO_INIT pwmOutputPort_t motors[MAX_SUPPORTED_MOTORS]; +FAST_DATA_ZERO_INIT pwmOutputPort_t motors[MAX_SUPPORTED_MOTORS]; static void pwmOCConfig(TIM_TypeDef *tim, uint8_t channel, uint16_t value, uint8_t output) { @@ -108,7 +108,7 @@ void pwmOutConfig(timerChannel_t *channel, const timerHardware_t *timerHardware, *channel->ccr = 0; } -static FAST_RAM_ZERO_INIT motorDevice_t motorPwmDevice; +static FAST_DATA_ZERO_INIT motorDevice_t motorPwmDevice; static void pwmWriteUnused(uint8_t index, float value) { diff --git a/src/main/drivers/pwm_output.h b/src/main/drivers/pwm_output.h index 4e81a01c5e..21b7de0078 100644 --- a/src/main/drivers/pwm_output.h +++ b/src/main/drivers/pwm_output.h @@ -55,7 +55,7 @@ typedef struct { IO_t io; } pwmOutputPort_t; -extern FAST_RAM_ZERO_INIT pwmOutputPort_t motors[MAX_SUPPORTED_MOTORS]; +extern FAST_DATA_ZERO_INIT pwmOutputPort_t motors[MAX_SUPPORTED_MOTORS]; struct motorDevConfig_s; motorDevice_t *motorPwmDevInit(const struct motorDevConfig_s *motorDevConfig, uint16_t idlePulse, uint8_t motorCount, bool useUnsyncedPwm); diff --git a/src/main/drivers/pwm_output_dshot_shared.c b/src/main/drivers/pwm_output_dshot_shared.c index ca9504473d..c9a4f22665 100644 --- a/src/main/drivers/pwm_output_dshot_shared.c +++ b/src/main/drivers/pwm_output_dshot_shared.c @@ -50,10 +50,10 @@ #include "pwm_output_dshot_shared.h" -FAST_RAM_ZERO_INIT uint8_t dmaMotorTimerCount = 0; +FAST_DATA_ZERO_INIT uint8_t dmaMotorTimerCount = 0; #ifdef STM32F7 -FAST_RAM_ZERO_INIT motorDmaTimer_t dmaMotorTimers[MAX_DMA_TIMERS]; -FAST_RAM_ZERO_INIT motorDmaOutput_t dmaMotors[MAX_SUPPORTED_MOTORS]; +FAST_DATA_ZERO_INIT motorDmaTimer_t dmaMotorTimers[MAX_DMA_TIMERS]; +FAST_DATA_ZERO_INIT motorDmaOutput_t dmaMotors[MAX_SUPPORTED_MOTORS]; #else motorDmaTimer_t dmaMotorTimers[MAX_DMA_TIMERS]; motorDmaOutput_t dmaMotors[MAX_SUPPORTED_MOTORS]; @@ -62,9 +62,9 @@ motorDmaOutput_t dmaMotors[MAX_SUPPORTED_MOTORS]; #ifdef USE_DSHOT_TELEMETRY // TODO remove once debugging no longer needed -FAST_RAM_ZERO_INIT uint32_t inputStampUs; +FAST_DATA_ZERO_INIT uint32_t inputStampUs; -FAST_RAM_ZERO_INIT dshotDMAHandlerCycleCounters_t dshotDMAHandlerCycleCounters; +FAST_DATA_ZERO_INIT dshotDMAHandlerCycleCounters_t dshotDMAHandlerCycleCounters; #endif motorDmaOutput_t *getMotorDmaOutput(uint8_t index) diff --git a/src/main/drivers/pwm_output_dshot_shared.h b/src/main/drivers/pwm_output_dshot_shared.h index 90c6e4524b..b0d23a118d 100644 --- a/src/main/drivers/pwm_output_dshot_shared.h +++ b/src/main/drivers/pwm_output_dshot_shared.h @@ -25,10 +25,10 @@ #include #endif -extern FAST_RAM_ZERO_INIT uint8_t dmaMotorTimerCount; +extern FAST_DATA_ZERO_INIT uint8_t dmaMotorTimerCount; #if defined(STM32F7) || defined(STM32H7) -extern FAST_RAM_ZERO_INIT motorDmaTimer_t dmaMotorTimers[MAX_DMA_TIMERS]; -extern FAST_RAM_ZERO_INIT motorDmaOutput_t dmaMotors[MAX_SUPPORTED_MOTORS]; +extern FAST_DATA_ZERO_INIT motorDmaTimer_t dmaMotorTimers[MAX_DMA_TIMERS]; +extern FAST_DATA_ZERO_INIT motorDmaOutput_t dmaMotors[MAX_SUPPORTED_MOTORS]; #else extern motorDmaTimer_t dmaMotorTimers[MAX_DMA_TIMERS]; extern motorDmaOutput_t dmaMotors[MAX_SUPPORTED_MOTORS]; @@ -38,14 +38,14 @@ extern motorDmaOutput_t dmaMotors[MAX_SUPPORTED_MOTORS]; extern uint32_t readDoneCount; // TODO remove once debugging no longer needed -FAST_RAM_ZERO_INIT extern uint32_t inputStampUs; +FAST_DATA_ZERO_INIT extern uint32_t inputStampUs; typedef struct dshotDMAHandlerCycleCounters_s { uint32_t irqAt; uint32_t changeDirectionCompletedAt; } dshotDMAHandlerCycleCounters_t; -FAST_RAM_ZERO_INIT extern dshotDMAHandlerCycleCounters_t dshotDMAHandlerCycleCounters; +FAST_DATA_ZERO_INIT extern dshotDMAHandlerCycleCounters_t dshotDMAHandlerCycleCounters; #endif diff --git a/src/main/drivers/serial_uart.c b/src/main/drivers/serial_uart.c index 2ac46f13e1..4142b121e0 100644 --- a/src/main/drivers/serial_uart.c +++ b/src/main/drivers/serial_uart.c @@ -52,8 +52,8 @@ #define UART_TX_BUFFER_ATTRIBUTE DMA_RAM_W // SRAM MPU NOT_BUFFERABLE #define UART_RX_BUFFER_ATTRIBUTE DMA_RAM_R // SRAM MPU NOT CACHABLE #elif defined(STM32F7) -#define UART_TX_BUFFER_ATTRIBUTE FAST_RAM_ZERO_INIT // DTCM RAM -#define UART_RX_BUFFER_ATTRIBUTE FAST_RAM_ZERO_INIT // DTCM RAM +#define UART_TX_BUFFER_ATTRIBUTE FAST_DATA_ZERO_INIT // DTCM RAM +#define UART_RX_BUFFER_ATTRIBUTE FAST_DATA_ZERO_INIT // DTCM RAM #elif defined(STM32F4) || defined(STM32F3) || defined(STM32F1) #define UART_TX_BUFFER_ATTRIBUTE // NONE #define UART_RX_BUFFER_ATTRIBUTE // NONE diff --git a/src/main/drivers/serial_uart_pinconfig.c b/src/main/drivers/serial_uart_pinconfig.c index 57df5bd965..ffa0999583 100644 --- a/src/main/drivers/serial_uart_pinconfig.c +++ b/src/main/drivers/serial_uart_pinconfig.c @@ -41,8 +41,8 @@ #include "drivers/serial_uart.h" #include "drivers/serial_uart_impl.h" -FAST_RAM_ZERO_INIT uartDevice_t uartDevice[UARTDEV_COUNT]; // Only those configured in target.h -FAST_RAM_ZERO_INIT uartDevice_t *uartDevmap[UARTDEV_COUNT_MAX]; // Full array +FAST_DATA_ZERO_INIT uartDevice_t uartDevice[UARTDEV_COUNT]; // Only those configured in target.h +FAST_DATA_ZERO_INIT uartDevice_t *uartDevmap[UARTDEV_COUNT_MAX]; // Full array void uartPinConfigure(const serialPinConfig_t *pSerialPinConfig) { diff --git a/src/main/drivers/system.c b/src/main/drivers/system.c index 62ef5bf266..92533f3a5d 100644 --- a/src/main/drivers/system.c +++ b/src/main/drivers/system.c @@ -264,8 +264,8 @@ void initialiseMemorySections(void) memcpy(&ccm_code_start, &ccm_code, (size_t) (&ccm_code_end - &ccm_code_start)); #endif -#ifdef USE_FAST_RAM - /* Load FAST_RAM variable intializers into DTCM RAM */ +#ifdef USE_FAST_DATA + /* Load FAST_DATA variable intializers into DTCM RAM */ extern uint8_t _sfastram_data; extern uint8_t _efastram_data; extern uint8_t _sfastram_idata; diff --git a/src/main/fc/core.c b/src/main/fc/core.c index db075c70b8..895810409e 100644 --- a/src/main/fc/core.c +++ b/src/main/fc/core.c @@ -144,7 +144,7 @@ enum { int16_t magHold; #endif -static FAST_RAM_ZERO_INIT uint8_t pidUpdateCounter; +static FAST_DATA_ZERO_INIT uint8_t pidUpdateCounter; static bool flipOverAfterCrashActive = false; diff --git a/src/main/fc/rc.c b/src/main/fc/rc.c index a8901725cc..0b60877202 100644 --- a/src/main/fc/rc.c +++ b/src/main/fc/rc.c @@ -74,8 +74,8 @@ static bool isRxDataNew = false; static float rcCommandDivider = 500.0f; static float rcCommandYawDivider = 500.0f; -FAST_RAM_ZERO_INIT uint8_t interpolationChannels; -static FAST_RAM_ZERO_INIT uint32_t rcFrameNumber; +FAST_DATA_ZERO_INIT uint8_t interpolationChannels; +static FAST_DATA_ZERO_INIT uint32_t rcFrameNumber; enum { ROLL_FLAG = 1 << ROLL, @@ -96,7 +96,7 @@ enum { #define RC_SMOOTHING_RX_RATE_MAX_US 50000 // 50ms or 20hz #define RC_SMOOTHING_INTERPOLATED_FEEDFORWARD_DERIVATIVE_PT1_HZ 100 // The value to use for "auto" when interpolated feedforward is enabled -static FAST_RAM_ZERO_INIT rcSmoothingFilter_t rcSmoothingData; +static FAST_DATA_ZERO_INIT rcSmoothingFilter_t rcSmoothingData; #endif // USE_RC_SMOOTHING_FILTER uint32_t getRcFrameNumber() @@ -315,9 +315,9 @@ static void checkForThrottleErrorResetState(uint16_t rxRefreshRate) static FAST_CODE uint8_t processRcInterpolation(void) { - static FAST_RAM_ZERO_INIT float rcCommandInterp[4]; - static FAST_RAM_ZERO_INIT float rcStepSize[4]; - static FAST_RAM_ZERO_INIT int16_t rcInterpolationStepCount; + static FAST_DATA_ZERO_INIT float rcCommandInterp[4]; + static FAST_DATA_ZERO_INIT float rcStepSize[4]; + static FAST_DATA_ZERO_INIT int16_t rcInterpolationStepCount; uint16_t rxRefreshRate; uint8_t updatedChannel = 0; @@ -518,10 +518,10 @@ FAST_CODE_NOINLINE bool rcSmoothingAutoCalculate(void) static FAST_CODE uint8_t processRcSmoothingFilter(void) { uint8_t updatedChannel = 0; - static FAST_RAM_ZERO_INIT float lastRxData[4]; - static FAST_RAM_ZERO_INIT bool initialized; - static FAST_RAM_ZERO_INIT timeMs_t validRxFrameTimeMs; - static FAST_RAM_ZERO_INIT bool calculateCutoffs; + static FAST_DATA_ZERO_INIT float lastRxData[4]; + static FAST_DATA_ZERO_INIT bool initialized; + static FAST_DATA_ZERO_INIT timeMs_t validRxFrameTimeMs; + static FAST_DATA_ZERO_INIT bool calculateCutoffs; // first call initialization if (!initialized) { diff --git a/src/main/flight/gyroanalyse.c b/src/main/flight/gyroanalyse.c index 72e01c1614..d064855c61 100644 --- a/src/main/flight/gyroanalyse.c +++ b/src/main/flight/gyroanalyse.c @@ -86,20 +86,20 @@ #define DYN_NOTCH_CALC_TICKS (XYZ_AXIS_COUNT * 4) // 4 steps per axis #define DYN_NOTCH_OSD_MIN_THROTTLE 20 -static uint16_t FAST_RAM_ZERO_INIT fftSamplingRateHz; -static float FAST_RAM_ZERO_INIT fftResolution; -static uint8_t FAST_RAM_ZERO_INIT fftStartBin; -static float FAST_RAM_ZERO_INIT dynNotchQ; -static float FAST_RAM_ZERO_INIT dynNotch1Ctr; -static float FAST_RAM_ZERO_INIT dynNotch2Ctr; -static uint16_t FAST_RAM_ZERO_INIT dynNotchMinHz; -static uint16_t FAST_RAM_ZERO_INIT dynNotchMaxHz; -static bool FAST_RAM dualNotch = true; -static uint16_t FAST_RAM_ZERO_INIT dynNotchMaxFFT; -static float FAST_RAM_ZERO_INIT smoothFactor; -static uint8_t FAST_RAM_ZERO_INIT samples; +static uint16_t FAST_DATA_ZERO_INIT fftSamplingRateHz; +static float FAST_DATA_ZERO_INIT fftResolution; +static uint8_t FAST_DATA_ZERO_INIT fftStartBin; +static float FAST_DATA_ZERO_INIT dynNotchQ; +static float FAST_DATA_ZERO_INIT dynNotch1Ctr; +static float FAST_DATA_ZERO_INIT dynNotch2Ctr; +static uint16_t FAST_DATA_ZERO_INIT dynNotchMinHz; +static uint16_t FAST_DATA_ZERO_INIT dynNotchMaxHz; +static bool FAST_DATA dualNotch = true; +static uint16_t FAST_DATA_ZERO_INIT dynNotchMaxFFT; +static float FAST_DATA_ZERO_INIT smoothFactor; +static uint8_t FAST_DATA_ZERO_INIT samples; // Hanning window, see https://en.wikipedia.org/wiki/Window_function#Hann_.28Hanning.29_window -static FAST_RAM_ZERO_INIT float hanningWindow[FFT_WINDOW_SIZE]; +static FAST_DATA_ZERO_INIT float hanningWindow[FFT_WINDOW_SIZE]; void gyroDataAnalyseInit(uint32_t targetLooptimeUs) { diff --git a/src/main/flight/mixer.c b/src/main/flight/mixer.c index 6001eedffe..cd9ec53147 100644 --- a/src/main/flight/mixer.c +++ b/src/main/flight/mixer.c @@ -79,10 +79,10 @@ PG_REGISTER_ARRAY(motorMixer_t, MAX_SUPPORTED_MOTORS, customMotorMixer, PG_MOTOR #define PWM_RANGE_MID 1500 -static FAST_RAM_ZERO_INIT uint8_t motorCount; -static FAST_RAM_ZERO_INIT float motorMixRange; +static FAST_DATA_ZERO_INIT uint8_t motorCount; +static FAST_DATA_ZERO_INIT float motorMixRange; -float FAST_RAM_ZERO_INIT motor[MAX_SUPPORTED_MOTORS]; +float FAST_DATA_ZERO_INIT motor[MAX_SUPPORTED_MOTORS]; float motor_disarmed[MAX_SUPPORTED_MOTORS]; mixerMode_e currentMixerMode; @@ -92,7 +92,7 @@ static motorMixer_t currentMixer[MAX_SUPPORTED_MOTORS]; static motorMixer_t launchControlMixer[MAX_SUPPORTED_MOTORS]; #endif -static FAST_RAM_ZERO_INIT int throttleAngleCorrection; +static FAST_DATA_ZERO_INIT int throttleAngleCorrection; static const motorMixer_t mixerQuadX[] = { { 1.0f, -1.0f, 1.0f, -1.0f }, // REAR_R @@ -284,21 +284,21 @@ const mixer_t mixers[] = { }; #endif // !USE_QUAD_MIXER_ONLY -FAST_RAM_ZERO_INIT float motorOutputHigh, motorOutputLow; +FAST_DATA_ZERO_INIT float motorOutputHigh, motorOutputLow; -static FAST_RAM_ZERO_INIT float disarmMotorOutput, deadbandMotor3dHigh, deadbandMotor3dLow; -static FAST_RAM_ZERO_INIT float rcCommandThrottleRange; +static FAST_DATA_ZERO_INIT float disarmMotorOutput, deadbandMotor3dHigh, deadbandMotor3dLow; +static FAST_DATA_ZERO_INIT float rcCommandThrottleRange; #ifdef USE_DYN_IDLE -static FAST_RAM_ZERO_INIT float idleMaxIncrease; -static FAST_RAM_ZERO_INIT float idleThrottleOffset; -static FAST_RAM_ZERO_INIT float idleMinMotorRps; -static FAST_RAM_ZERO_INIT float idleP; -static FAST_RAM_ZERO_INIT float oldMinRps; +static FAST_DATA_ZERO_INIT float idleMaxIncrease; +static FAST_DATA_ZERO_INIT float idleThrottleOffset; +static FAST_DATA_ZERO_INIT float idleMinMotorRps; +static FAST_DATA_ZERO_INIT float idleP; +static FAST_DATA_ZERO_INIT float oldMinRps; #endif #if defined(USE_BATTERY_VOLTAGE_SAG_COMPENSATION) -static FAST_RAM_ZERO_INIT float vbatSagCompensationFactor; -static FAST_RAM_ZERO_INIT float vbatFull; -static FAST_RAM_ZERO_INIT float vbatRangeToCompensate; +static FAST_DATA_ZERO_INIT float vbatSagCompensationFactor; +static FAST_DATA_ZERO_INIT float vbatFull; +static FAST_DATA_ZERO_INIT float vbatRangeToCompensate; #endif uint8_t getMotorCount(void) @@ -498,13 +498,13 @@ void stopMotors(void) delay(50); // give the timers and ESCs a chance to react. } -static FAST_RAM_ZERO_INIT float throttle = 0; -static FAST_RAM_ZERO_INIT float mixerThrottle = 0; -static FAST_RAM_ZERO_INIT float motorOutputMin; -static FAST_RAM_ZERO_INIT float motorRangeMin; -static FAST_RAM_ZERO_INIT float motorRangeMax; -static FAST_RAM_ZERO_INIT float motorOutputRange; -static FAST_RAM_ZERO_INIT int8_t motorOutputMixSign; +static FAST_DATA_ZERO_INIT float throttle = 0; +static FAST_DATA_ZERO_INIT float mixerThrottle = 0; +static FAST_DATA_ZERO_INIT float motorOutputMin; +static FAST_DATA_ZERO_INIT float motorRangeMin; +static FAST_DATA_ZERO_INIT float motorRangeMax; +static FAST_DATA_ZERO_INIT float motorOutputRange; +static FAST_DATA_ZERO_INIT int8_t motorOutputMixSign; static void calculateThrottleAndCurrentMotorEndpoints(timeUs_t currentTimeUs) diff --git a/src/main/flight/pid.c b/src/main/flight/pid.c index 11ecbc1b15..04efd92fdf 100644 --- a/src/main/flight/pid.c +++ b/src/main/flight/pid.c @@ -74,16 +74,16 @@ const char pidNames[] = "LEVEL;" "MAG;"; -FAST_RAM_ZERO_INIT uint32_t targetPidLooptime; -FAST_RAM_ZERO_INIT pidAxisData_t pidData[XYZ_AXIS_COUNT]; -FAST_RAM_ZERO_INIT pidRuntime_t pidRuntime; +FAST_DATA_ZERO_INIT uint32_t targetPidLooptime; +FAST_DATA_ZERO_INIT pidAxisData_t pidData[XYZ_AXIS_COUNT]; +FAST_DATA_ZERO_INIT pidRuntime_t pidRuntime; #if defined(USE_ABSOLUTE_CONTROL) -STATIC_UNIT_TESTED FAST_RAM_ZERO_INIT float axisError[XYZ_AXIS_COUNT]; +STATIC_UNIT_TESTED FAST_DATA_ZERO_INIT float axisError[XYZ_AXIS_COUNT]; #endif #if defined(USE_THROTTLE_BOOST) -FAST_RAM_ZERO_INIT float throttleBoost; +FAST_DATA_ZERO_INIT float throttleBoost; pt1Filter_t throttleLpf; #endif @@ -772,7 +772,7 @@ void FAST_CODE pidController(const pidProfile_t *pidProfile, timeUs_t currentTim { static float previousGyroRateDterm[XYZ_AXIS_COUNT]; #ifdef USE_INTERPOLATED_SP - static FAST_RAM_ZERO_INIT uint32_t lastFrameNumber; + static FAST_DATA_ZERO_INIT uint32_t lastFrameNumber; #endif static float previousRawGyroRateDterm[XYZ_AXIS_COUNT]; diff --git a/src/main/flight/rpm_filter.c b/src/main/flight/rpm_filter.c index fdad9b70a6..53dd948342 100644 --- a/src/main/flight/rpm_filter.c +++ b/src/main/flight/rpm_filter.c @@ -63,20 +63,20 @@ typedef struct rpmNotchFilter_s biquadFilter_t notch[XYZ_AXIS_COUNT][MAX_SUPPORTED_MOTORS][RPM_FILTER_MAXHARMONICS]; } rpmNotchFilter_t; -FAST_RAM_ZERO_INIT static float erpmToHz; -FAST_RAM_ZERO_INIT static float filteredMotorErpm[MAX_SUPPORTED_MOTORS]; -FAST_RAM_ZERO_INIT static float minMotorFrequency; -FAST_RAM_ZERO_INIT static uint8_t numberFilters; -FAST_RAM_ZERO_INIT static uint8_t numberRpmNotchFilters; -FAST_RAM_ZERO_INIT static uint8_t filterUpdatesPerIteration; -FAST_RAM_ZERO_INIT static float pidLooptime; -FAST_RAM_ZERO_INIT static rpmNotchFilter_t filters[2]; -FAST_RAM_ZERO_INIT static rpmNotchFilter_t* gyroFilter; +FAST_DATA_ZERO_INIT static float erpmToHz; +FAST_DATA_ZERO_INIT static float filteredMotorErpm[MAX_SUPPORTED_MOTORS]; +FAST_DATA_ZERO_INIT static float minMotorFrequency; +FAST_DATA_ZERO_INIT static uint8_t numberFilters; +FAST_DATA_ZERO_INIT static uint8_t numberRpmNotchFilters; +FAST_DATA_ZERO_INIT static uint8_t filterUpdatesPerIteration; +FAST_DATA_ZERO_INIT static float pidLooptime; +FAST_DATA_ZERO_INIT static rpmNotchFilter_t filters[2]; +FAST_DATA_ZERO_INIT static rpmNotchFilter_t* gyroFilter; -FAST_RAM_ZERO_INIT static uint8_t currentMotor; -FAST_RAM_ZERO_INIT static uint8_t currentHarmonic; -FAST_RAM_ZERO_INIT static uint8_t currentFilterNumber; -FAST_RAM static rpmNotchFilter_t* currentFilter = &filters[0]; +FAST_DATA_ZERO_INIT static uint8_t currentMotor; +FAST_DATA_ZERO_INIT static uint8_t currentHarmonic; +FAST_DATA_ZERO_INIT static uint8_t currentFilterNumber; +FAST_DATA static rpmNotchFilter_t* currentFilter = &filters[0]; @@ -160,7 +160,7 @@ float rpmFilterGyro(int axis, float value) return applyFilter(gyroFilter, axis, value); } -FAST_RAM_ZERO_INIT static float motorFrequency[MAX_SUPPORTED_MOTORS]; +FAST_DATA_ZERO_INIT static float motorFrequency[MAX_SUPPORTED_MOTORS]; FAST_CODE_NOINLINE void rpmFilterUpdate() { diff --git a/src/main/scheduler/scheduler.c b/src/main/scheduler/scheduler.c index 11d6be5900..62e09cbbdf 100644 --- a/src/main/scheduler/scheduler.c +++ b/src/main/scheduler/scheduler.c @@ -49,23 +49,23 @@ // 2 - time spent in scheduler // 3 - time spent executing check function -static FAST_RAM_ZERO_INIT task_t *currentTask = NULL; +static FAST_DATA_ZERO_INIT task_t *currentTask = NULL; -static FAST_RAM_ZERO_INIT uint32_t totalWaitingTasks; -static FAST_RAM_ZERO_INIT uint32_t totalWaitingTasksSamples; +static FAST_DATA_ZERO_INIT uint32_t totalWaitingTasks; +static FAST_DATA_ZERO_INIT uint32_t totalWaitingTasksSamples; -static FAST_RAM_ZERO_INIT bool calculateTaskStatistics; -FAST_RAM_ZERO_INIT uint16_t averageSystemLoadPercent = 0; +static FAST_DATA_ZERO_INIT bool calculateTaskStatistics; +FAST_DATA_ZERO_INIT uint16_t averageSystemLoadPercent = 0; -static FAST_RAM_ZERO_INIT int taskQueuePos = 0; -STATIC_UNIT_TESTED FAST_RAM_ZERO_INIT int taskQueueSize = 0; +static FAST_DATA_ZERO_INIT int taskQueuePos = 0; +STATIC_UNIT_TESTED FAST_DATA_ZERO_INIT int taskQueueSize = 0; -static FAST_RAM int periodCalculationBasisOffset = offsetof(task_t, lastExecutedAtUs); -static FAST_RAM_ZERO_INIT bool gyroEnabled; +static FAST_DATA int periodCalculationBasisOffset = offsetof(task_t, lastExecutedAtUs); +static FAST_DATA_ZERO_INIT bool gyroEnabled; // No need for a linked list for the queue, since items are only inserted at startup -STATIC_UNIT_TESTED FAST_RAM_ZERO_INIT task_t* taskQueueArray[TASK_COUNT + 1]; // extra item for NULL pointer at end of queue +STATIC_UNIT_TESTED FAST_DATA_ZERO_INIT task_t* taskQueueArray[TASK_COUNT + 1]; // extra item for NULL pointer at end of queue void queueClear(void) { diff --git a/src/main/sensors/acceleration.c b/src/main/sensors/acceleration.c index 9ab8411ab9..8faeab5ccc 100644 --- a/src/main/sensors/acceleration.c +++ b/src/main/sensors/acceleration.c @@ -88,7 +88,7 @@ #define CALIBRATING_ACC_CYCLES 400 -FAST_RAM_ZERO_INIT acc_t acc; // acc access functions +FAST_DATA_ZERO_INIT acc_t acc; // acc access functions void resetRollAndPitchTrims(rollAndPitchTrims_t *rollAndPitchTrims) { diff --git a/src/main/sensors/gyro.c b/src/main/sensors/gyro.c index fb3f8c8b30..8c82c4ef60 100644 --- a/src/main/sensors/gyro.c +++ b/src/main/sensors/gyro.c @@ -62,27 +62,27 @@ #define USE_GYRO_SLEW_LIMITER #endif -FAST_RAM_ZERO_INIT gyro_t gyro; +FAST_DATA_ZERO_INIT gyro_t gyro; -static FAST_RAM_ZERO_INIT bool overflowDetected; +static FAST_DATA_ZERO_INIT bool overflowDetected; #ifdef USE_GYRO_OVERFLOW_CHECK -static FAST_RAM_ZERO_INIT timeUs_t overflowTimeUs; +static FAST_DATA_ZERO_INIT timeUs_t overflowTimeUs; #endif #ifdef USE_YAW_SPIN_RECOVERY -static FAST_RAM_ZERO_INIT bool yawSpinRecoveryEnabled; -static FAST_RAM_ZERO_INIT int yawSpinRecoveryThreshold; -static FAST_RAM_ZERO_INIT bool yawSpinDetected; -static FAST_RAM_ZERO_INIT timeUs_t yawSpinTimeUs; +static FAST_DATA_ZERO_INIT bool yawSpinRecoveryEnabled; +static FAST_DATA_ZERO_INIT int yawSpinRecoveryThreshold; +static FAST_DATA_ZERO_INIT bool yawSpinDetected; +static FAST_DATA_ZERO_INIT timeUs_t yawSpinTimeUs; #endif -static FAST_RAM_ZERO_INIT float accumulatedMeasurements[XYZ_AXIS_COUNT]; -static FAST_RAM_ZERO_INIT float gyroPrevious[XYZ_AXIS_COUNT]; -static FAST_RAM_ZERO_INIT int accumulatedMeasurementCount; +static FAST_DATA_ZERO_INIT float accumulatedMeasurements[XYZ_AXIS_COUNT]; +static FAST_DATA_ZERO_INIT float gyroPrevious[XYZ_AXIS_COUNT]; +static FAST_DATA_ZERO_INIT int accumulatedMeasurementCount; -static FAST_RAM_ZERO_INIT int16_t gyroSensorTemperature; +static FAST_DATA_ZERO_INIT int16_t gyroSensorTemperature; -FAST_RAM uint8_t activePidLoopDenom = 1; +FAST_DATA uint8_t activePidLoopDenom = 1; static bool firstArmingCalibrationWasStarted = false; diff --git a/src/main/target/common_pre.h b/src/main/target/common_pre.h index cfa3407651..03d73d7ea2 100644 --- a/src/main/target/common_pre.h +++ b/src/main/target/common_pre.h @@ -50,7 +50,7 @@ #ifdef STM32F4 #define USE_SRAM2 #if defined(STM32F40_41xxx) -#define USE_FAST_RAM +#define USE_FAST_DATA #endif #define USE_DSHOT #define USE_DSHOT_BITBANG @@ -82,7 +82,7 @@ #ifdef STM32F7 #define USE_SRAM2 #define USE_ITCM_RAM -#define USE_FAST_RAM +#define USE_FAST_DATA #define USE_DSHOT #define USE_DSHOT_BITBANG #define USE_DSHOT_TELEMETRY @@ -108,7 +108,7 @@ #ifdef STM32H7 #define USE_ITCM_RAM -#define USE_FAST_RAM +#define USE_FAST_DATA #define USE_DSHOT #define USE_DSHOT_TELEMETRY #define USE_DSHOT_TELEMETRY_STATS @@ -162,13 +162,13 @@ #define CCM_CODE #endif -#ifdef USE_FAST_RAM -#define FAST_RAM_ZERO_INIT __attribute__ ((section(".fastram_bss"), aligned(4))) -#define FAST_RAM __attribute__ ((section(".fastram_data"), aligned(4))) +#ifdef USE_FAST_DATA +#define FAST_DATA_ZERO_INIT __attribute__ ((section(".fastram_bss"), aligned(4))) +#define FAST_DATA __attribute__ ((section(".fastram_data"), aligned(4))) #else -#define FAST_RAM_ZERO_INIT -#define FAST_RAM -#endif // USE_FAST_RAM +#define FAST_DATA_ZERO_INIT +#define FAST_DATA +#endif // USE_FAST_DATA #if defined(STM32F4) || defined (STM32H7) // Data in RAM which is guaranteed to not be reset on hot reboot diff --git a/src/test/unit/platform.h b/src/test/unit/platform.h index 52ccf5e937..2083af21cb 100644 --- a/src/test/unit/platform.h +++ b/src/test/unit/platform.h @@ -29,8 +29,8 @@ #define NOINLINE #define FAST_CODE #define FAST_CODE_NOINLINE -#define FAST_RAM_ZERO_INIT -#define FAST_RAM +#define FAST_DATA_ZERO_INIT +#define FAST_DATA #define PID_PROFILE_COUNT 3 #define CONTROL_RATE_PROFILE_COUNT 6