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()
|
void __attribute__((optimize("O3"))) SysTick_Handler()
|
||||||
{
|
{
|
||||||
static uint32_t pre_tick = 0UL;
|
static uint32_t IN_SECTION(.ccm.bss) pre_tick = 0UL;
|
||||||
|
|
||||||
pre_tick++;
|
pre_tick++;
|
||||||
if (pre_tick == 10) {
|
if (pre_tick == 10) {
|
||||||
@ -121,5 +121,6 @@ void __attribute__((optimize("O3"))) SysTick_Handler()
|
|||||||
wait_tick_ms++;
|
wait_tick_ms++;
|
||||||
global_tick_ms++;
|
global_tick_ms++;
|
||||||
}
|
}
|
||||||
|
|
||||||
lcd_tick_100us++;
|
lcd_tick_100us++;
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include <reflow-controller/systick.h>
|
#include <reflow-controller/systick.h>
|
||||||
#include <stm-periph/clock-enable-manager.h>
|
#include <stm-periph/clock-enable-manager.h>
|
||||||
#include <stm-periph/stm32-gpio-macros.h>
|
#include <stm-periph/stm32-gpio-macros.h>
|
||||||
|
#include <helper-macros/helper-macros.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@ -149,7 +150,7 @@ static void lcd_command(uint8_t data)
|
|||||||
// Set DD RAM Address --------- 0b1xxxxxxx (Display Data RAM)
|
// Set DD RAM Address --------- 0b1xxxxxxx (Display Data RAM)
|
||||||
#define LCD_SET_DDADR 0x80
|
#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)
|
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])
|
enum lcd_fsm_ret lcd_fsm_write_buffer(const char (*display_buffer)[21])
|
||||||
{
|
{
|
||||||
static bool idle = true;
|
static bool IN_SECTION(.ccm.data) idle = true;
|
||||||
static uint8_t rows_to_handle = 0;
|
static uint8_t IN_SECTION(.ccm.bss) rows_to_handle = 0;
|
||||||
static uint32_t state_cnt;
|
static uint32_t IN_SECTION(.ccm.bss) state_cnt;
|
||||||
static uint8_t row_cnt = 0;
|
static uint8_t IN_SECTION(.ccm.bss) row_cnt = 0;
|
||||||
static uint32_t char_cnt;
|
static uint32_t IN_SECTION(.ccm.bss) char_cnt;
|
||||||
static uint32_t line_len;
|
static uint32_t IN_SECTION(.ccm.bss) line_len;
|
||||||
static uint64_t timestamp = 0ULL;
|
static uint64_t IN_SECTION(.ccm.bss) timestamp = 0ULL;
|
||||||
enum lcd_fsm_ret ret;
|
enum lcd_fsm_ret ret;
|
||||||
|
|
||||||
ret = LCD_FSM_NOP;
|
ret = LCD_FSM_NOP;
|
||||||
|
Loading…
Reference in New Issue
Block a user