Move variables to CCM RAM
This commit is contained in:
parent
149c5715c6
commit
cc6e922d1b
@ -112,7 +112,7 @@ bool __attribute__((optimize("O3"))) systick_ticks_have_passed(uint64_t start_ti
|
||||
*/
|
||||
void __attribute__((optimize("O3"))) SysTick_Handler()
|
||||
{
|
||||
static uint32_t pre_tick = 0UL;
|
||||
static uint32_t IN_SECTION(.ccm.bss) pre_tick = 0UL;
|
||||
|
||||
pre_tick++;
|
||||
if (pre_tick == 10) {
|
||||
@ -121,5 +121,6 @@ void __attribute__((optimize("O3"))) SysTick_Handler()
|
||||
wait_tick_ms++;
|
||||
global_tick_ms++;
|
||||
}
|
||||
|
||||
lcd_tick_100us++;
|
||||
}
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include <reflow-controller/systick.h>
|
||||
#include <stm-periph/clock-enable-manager.h>
|
||||
#include <stm-periph/stm32-gpio-macros.h>
|
||||
#include <helper-macros/helper-macros.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
|
||||
@ -149,7 +150,7 @@ static void lcd_command(uint8_t data)
|
||||
// Set DD RAM Address --------- 0b1xxxxxxx (Display Data RAM)
|
||||
#define LCD_SET_DDADR 0x80
|
||||
|
||||
static char __attribute__((section(".ccm.bss"))) shadow_display[4][21];
|
||||
static char IN_SECTION(.ccm.bss) shadow_display[4][21];
|
||||
|
||||
void lcd_clear(void)
|
||||
{
|
||||
@ -347,13 +348,13 @@ static void lcd_fsm_write_data(bool high, uint8_t data)
|
||||
|
||||
enum lcd_fsm_ret lcd_fsm_write_buffer(const char (*display_buffer)[21])
|
||||
{
|
||||
static bool idle = true;
|
||||
static uint8_t rows_to_handle = 0;
|
||||
static uint32_t state_cnt;
|
||||
static uint8_t row_cnt = 0;
|
||||
static uint32_t char_cnt;
|
||||
static uint32_t line_len;
|
||||
static uint64_t timestamp = 0ULL;
|
||||
static bool IN_SECTION(.ccm.data) idle = true;
|
||||
static uint8_t IN_SECTION(.ccm.bss) rows_to_handle = 0;
|
||||
static uint32_t IN_SECTION(.ccm.bss) state_cnt;
|
||||
static uint8_t IN_SECTION(.ccm.bss) row_cnt = 0;
|
||||
static uint32_t IN_SECTION(.ccm.bss) char_cnt;
|
||||
static uint32_t IN_SECTION(.ccm.bss) line_len;
|
||||
static uint64_t IN_SECTION(.ccm.bss) timestamp = 0ULL;
|
||||
enum lcd_fsm_ret ret;
|
||||
|
||||
ret = LCD_FSM_NOP;
|
||||
|
Loading…
Reference in New Issue
Block a user