summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/meowth_fp/board.h4
-rw-r--r--common/fpsensor.c8
2 files changed, 11 insertions, 1 deletions
diff --git a/board/meowth_fp/board.h b/board/meowth_fp/board.h
index 65327dbe90..33949cb61e 100644
--- a/board/meowth_fp/board.h
+++ b/board/meowth_fp/board.h
@@ -53,6 +53,10 @@
* (shared_mem_init done too late).
*/
#define CONFIG_MALLOC
+/* Special memory regions to store large arrays */
+#define FP_FRAME_SECTION __SECTION(ahb4)
+#define FP_TEMPLATE_SECTION __SECTION(ahb)
+
/* we are doing slow compute */
#undef CONFIG_WATCHDOG_PERIOD_MS
#define CONFIG_WATCHDOG_PERIOD_MS 10000
diff --git a/common/fpsensor.c b/common/fpsensor.c
index bf342f3cce..c465dd6963 100644
--- a/common/fpsensor.c
+++ b/common/fpsensor.c
@@ -10,6 +10,7 @@
#include "fpsensor.h"
#include "gpio.h"
#include "host_command.h"
+#include "link_defs.h"
#include "mkbp_event.h"
#include "spi.h"
#include "system.h"
@@ -27,8 +28,13 @@
#define FP_SENSOR_RES_Y 0
#endif
+/* if no special memory regions are defined, fallback on regular SRAM */
+#ifndef FP_FRAME_SECTION
+#define FP_FRAME_SECTION
+#endif
+
/* Last acquired frame */
-static uint8_t fp_buffer[FP_SENSOR_IMAGE_SIZE];
+static uint8_t fp_buffer[FP_SENSOR_IMAGE_SIZE] FP_FRAME_SECTION;
#define CPRINTF(format, args...) cprintf(CC_FP, format, ## args)
#define CPRINTS(format, args...) cprints(CC_FP, format, ## args)