унесла функцию в другой модуль
This commit is contained in:
parent
36249d16ff
commit
dba235e839
@ -3,6 +3,25 @@
|
|||||||
#include "mik32_hal_irq.h"
|
#include "mik32_hal_irq.h"
|
||||||
#include "Arduino.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 --------------------- //
|
// --------------------- init --------------------- //
|
||||||
// called from crt0.S before constructors initialization
|
// called from crt0.S before constructors initialization
|
||||||
extern "C" void SystemInit(void)
|
extern "C" void SystemInit(void)
|
||||||
|
|||||||
@ -8,4 +8,9 @@ extern volatile bool use_error_messages;
|
|||||||
// function for init called after setup()
|
// function for init called after setup()
|
||||||
void post_init(void);
|
void post_init(void);
|
||||||
|
|
||||||
|
void updateCacheLimit(void);
|
||||||
|
#include "stdint.h"
|
||||||
|
uint32_t getCLimit(void);
|
||||||
|
|
||||||
|
|
||||||
#endif /* _BOARD_H_ */
|
#endif /* _BOARD_H_ */
|
||||||
|
|||||||
@ -7,27 +7,15 @@
|
|||||||
void initVariant() __attribute__((weak));
|
void initVariant() __attribute__((weak));
|
||||||
void initVariant() { }
|
void initVariant() { }
|
||||||
|
|
||||||
#include "mcu32_memory_map.h"
|
#include "xprintf.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
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
extern "C" int main(void) __attribute__((weak));
|
extern "C" int main(void) __attribute__((weak));
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
Serial.begin(9600);
|
Serial.begin(9600);
|
||||||
xprintf("old_climit = 0x%08lX\n", SPIFI_CONFIG->CLIMIT);
|
xprintf("old_climit = 0x%08lX\n", getCLimit());
|
||||||
updateCacheLimit();
|
updateCacheLimit();
|
||||||
xprintf("new_climit = 0x%08lX\n", SPIFI_CONFIG->CLIMIT);
|
xprintf("new_climit = 0x%08lX\n", getCLimit());
|
||||||
|
|
||||||
initVariant(); // for freeRTOS
|
initVariant(); // for freeRTOS
|
||||||
setup();
|
setup();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user