унесла функцию в другой модуль
This commit is contained in:
parent
36249d16ff
commit
dba235e839
@ -3,6 +3,25 @@
|
||||
#include "mik32_hal_irq.h"
|
||||
#include "Arduino.h"
|
||||
|
||||
// --------------------- change flash cache limit --------------------- //
|
||||
#include "mcu32_memory_map.h"
|
||||
#include "mik32_hal_spifi_w25.h"
|
||||
#define CLIMIT_NEW (2 * 256 * 1024) // Новый предел кэширования
|
||||
|
||||
// Объявляем, что эта функция исполняется из RAM
|
||||
__attribute__((section(".ram_text"))) void updateCacheLimit(void)
|
||||
{
|
||||
uint32_t MCMDbackup = SPIFI_CONFIG->MCMD; // Прочитать текущие настройки из регистра MCMD
|
||||
SPIFI_CONFIG->STAT |= SPIFI_CONFIG_STAT_RESET_M; // Сброс режима MCMD: установить бит RESET
|
||||
SPIFI_CONFIG->CLIMIT = CLIMIT_NEW; // Установить новое значение CLIMIT
|
||||
SPIFI_CONFIG->MCMD = MCMDbackup; // Вернуть обратно значение в регистр MCMD
|
||||
}
|
||||
|
||||
uint32_t getCLimit(void)
|
||||
{
|
||||
return SPIFI_CONFIG->CLIMIT;
|
||||
}
|
||||
|
||||
// --------------------- init --------------------- //
|
||||
// called from crt0.S before constructors initialization
|
||||
extern "C" void SystemInit(void)
|
||||
|
||||
@ -8,4 +8,9 @@ extern volatile bool use_error_messages;
|
||||
// function for init called after setup()
|
||||
void post_init(void);
|
||||
|
||||
void updateCacheLimit(void);
|
||||
#include "stdint.h"
|
||||
uint32_t getCLimit(void);
|
||||
|
||||
|
||||
#endif /* _BOARD_H_ */
|
||||
|
||||
@ -7,27 +7,15 @@
|
||||
void initVariant() __attribute__((weak));
|
||||
void initVariant() { }
|
||||
|
||||
#include "mcu32_memory_map.h"
|
||||
#include "mik32_hal_spifi_w25.h"
|
||||
#define CLIMIT_NEW (2 * 256 * 1024) // Новый предел кэширования
|
||||
|
||||
// Объявляем, что эта функция исполняется из RAM
|
||||
__attribute__((section(".ram_text"))) void updateCacheLimit(void)
|
||||
{
|
||||
uint32_t MCMDbackup = SPIFI_CONFIG->MCMD; // Прочитать текущие настройки из регистра MCMD
|
||||
SPIFI_CONFIG->STAT |= SPIFI_CONFIG_STAT_RESET_M; // Сброс режима MCMD: установить бит RESET
|
||||
SPIFI_CONFIG->CLIMIT = CLIMIT_NEW; // Установить новое значение CLIMIT
|
||||
SPIFI_CONFIG->MCMD = MCMDbackup; // Вернуть обратно значение в регистр MCMD
|
||||
}
|
||||
|
||||
#include "xprintf.h"
|
||||
|
||||
extern "C" int main(void) __attribute__((weak));
|
||||
int main()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
xprintf("old_climit = 0x%08lX\n", SPIFI_CONFIG->CLIMIT);
|
||||
xprintf("old_climit = 0x%08lX\n", getCLimit());
|
||||
updateCacheLimit();
|
||||
xprintf("new_climit = 0x%08lX\n", SPIFI_CONFIG->CLIMIT);
|
||||
xprintf("new_climit = 0x%08lX\n", getCLimit());
|
||||
|
||||
initVariant(); // for freeRTOS
|
||||
setup();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user