1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-23 16:25:31 +03:00

Move memory section initialisation earlier into the init sequence.

Allows startup-code/libs/etc to be moved into different memory regions.
This commit is contained in:
Dominic Clifton 2019-02-19 18:46:19 +01:00
parent dc48664371
commit 91d6a1cc8d
6 changed files with 31 additions and 16 deletions

View file

@ -20,6 +20,7 @@
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include "platform.h"
@ -204,3 +205,22 @@ void failureMode(failureMode_e mode)
systemResetToBootloader();
#endif
}
void initialiseMemorySections(void)
{
#ifdef USE_ITCM_RAM
/* Load functions into ITCM RAM */
extern uint8_t tcm_code_start;
extern uint8_t tcm_code_end;
extern uint8_t tcm_code;
memcpy(&tcm_code_start, &tcm_code, (size_t) (&tcm_code_end - &tcm_code_start));
#endif
#ifdef USE_FAST_RAM
/* Load FAST_RAM variable intializers into DTCM RAM */
extern uint8_t _sfastram_data;
extern uint8_t _efastram_data;
extern uint8_t _sfastram_idata;
memcpy(&_sfastram_data, &_sfastram_idata, (size_t) (&_efastram_data - &_sfastram_data));
#endif
}