boards/All: Optimize flash/memory usage to support the new TFLM.

This commit is contained in:
iabdalkader 2024-06-27 10:27:54 +02:00
parent 13cc273318
commit 13c99c6332
15 changed files with 75 additions and 60 deletions

View File

@ -112,7 +112,7 @@
// Enable find_features() and built-in Haar cascades. (75KBs) // Enable find_features() and built-in Haar cascades. (75KBs)
#define IMLIB_ENABLE_FEATURES #define IMLIB_ENABLE_FEATURES
#define IMLIB_ENABLE_FEATURES_BUILTIN_FACE_CASCADE #define IMLIB_ENABLE_FEATURES_BUILTIN_FACE_CASCADE
#define IMLIB_ENABLE_FEATURES_BUILTIN_EYES_CASCADE //#define IMLIB_ENABLE_FEATURES_BUILTIN_EYES_CASCADE
// Enable Tensor Flow // Enable Tensor Flow
#if !defined(CUBEAI) #if !defined(CUBEAI)

View File

@ -107,13 +107,13 @@
// Linker script constants (see the linker script template stm32fxxx.ld.S). // Linker script constants (see the linker script template stm32fxxx.ld.S).
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
#define OMV_MAIN_MEMORY SRAM1 // data, bss and heap #define OMV_MAIN_MEMORY SRAM1 // Data, BSS memory.
#define OMV_DMA_MEMORY SRAM3 // DMA buffers memory. #define OMV_HEAP_MEMORY SRAM1 // Heap memory.
#define OMV_HEAP_SIZE (199K) #define OMV_HEAP_SIZE (198K)
#define OMV_STACK_MEMORY DTCM // stack memory #define OMV_STACK_MEMORY DTCM // stack memory
#define OMV_STACK_SIZE (64K) #define OMV_STACK_SIZE (64K)
#define OMV_FB_MEMORY DRAM // Framebuffer, fb_alloc #define OMV_FB_MEMORY DRAM // Framebuffer, fb_alloc
#define OMV_FB_SIZE (4M) // FB memory: header + VGA/GS image #define OMV_FB_SIZE (3M) // FB memory: header + VGA/GS image
#define OMV_FB_ALLOC_SIZE (2M) // minimum fb alloc size #define OMV_FB_ALLOC_SIZE (2M) // minimum fb alloc size
#define OMV_JPEG_MEMORY DRAM // JPEG buffer memory buffer. #define OMV_JPEG_MEMORY DRAM // JPEG buffer memory buffer.
#define OMV_JPEG_BUF_SIZE (1024 * 1024) // IDE JPEG buffer (header + data). #define OMV_JPEG_BUF_SIZE (1024 * 1024) // IDE JPEG buffer (header + data).
@ -122,7 +122,8 @@
#define OMV_FB_OVERLAY_MEMORY AXI_SRAM // Fast fb_alloc memory. #define OMV_FB_OVERLAY_MEMORY AXI_SRAM // Fast fb_alloc memory.
#define OMV_FB_OVERLAY_SIZE (480K) // Fast fb_alloc memory size. #define OMV_FB_OVERLAY_SIZE (480K) // Fast fb_alloc memory size.
#define OMV_GC_BLOCK0_MEMORY DRAM // Extra GC block 0. #define OMV_GC_BLOCK0_MEMORY DRAM // Extra GC block 0.
#define OMV_GC_BLOCK0_SIZE (1M) #define OMV_GC_BLOCK0_SIZE (2M)
#define OMV_DMA_MEMORY SRAM3 // DMA buffers memory.
#define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data #define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data
#define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes) #define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes)
#define OMV_SDRAM_SIZE (8 * 1024 * 1024) // This needs to be here for UVC firmware. #define OMV_SDRAM_SIZE (8 * 1024 * 1024) // This needs to be here for UVC firmware.

View File

@ -47,7 +47,8 @@
#define OMV_USB1_IRQ_HANDLER (USBD_IRQHandler) #define OMV_USB1_IRQ_HANDLER (USBD_IRQHandler)
// Linker script constants (see the linker script template port/x.ld.S). // Linker script constants (see the linker script template port/x.ld.S).
#define OMV_MAIN_MEMORY SRAM // data, bss and heap memory #define OMV_MAIN_MEMORY SRAM // Data, BSS memory
#define OMV_HEAP_MEMORY SRAM // Heap memory
#define OMV_HEAP_SIZE (64K) #define OMV_HEAP_SIZE (64K)
#define OMV_STACK_MEMORY SRAM // stack memory #define OMV_STACK_MEMORY SRAM // stack memory
#define OMV_STACK_SIZE (8K) #define OMV_STACK_SIZE (8K)

View File

@ -46,7 +46,8 @@ extern unsigned char *OMV_BOARD_UID_ADDR; // Unique address.
#define OMV_USB1_IRQ_HANDLER (USBD_IRQHandler) #define OMV_USB1_IRQ_HANDLER (USBD_IRQHandler)
// Linker script constants (see the linker script template port/x.ld.S). // Linker script constants (see the linker script template port/x.ld.S).
#define OMV_MAIN_MEMORY RAM // data, bss and heap memory #define OMV_MAIN_MEMORY RAM // Data/BSS memory
#define OMV_HEAP_MEMORY RAM // Heap memory
#define OMV_HEAP_SIZE (60 * 1024) // MicroPython's heap #define OMV_HEAP_SIZE (60 * 1024) // MicroPython's heap
#define OMV_STACK_MEMORY RAM // stack memory #define OMV_STACK_MEMORY RAM // stack memory
#define OMV_STACK_SIZE (16K) #define OMV_STACK_SIZE (16K)

View File

@ -100,18 +100,21 @@
// Linker script constants (see the linker script template stm32fxxx.ld.S). // Linker script constants (see the linker script template stm32fxxx.ld.S).
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
#define OMV_MAIN_MEMORY SRAM1 // data, bss and heap #define OMV_MAIN_MEMORY DTCM // Data/BSS memory.
#define OMV_DMA_MEMORY SRAM2 // DMA buffers memory. #define OMV_HEAP_MEMORY ITCM // Heap memory
#define OMV_HEAP_SIZE (181K) #define OMV_HEAP_SIZE (64K)
#define OMV_STACK_MEMORY DTCM // stack memory #define OMV_STACK_MEMORY DTCM // stack memory
#define OMV_STACK_SIZE (64K) #define OMV_STACK_SIZE (32K)
#define OMV_FB_MEMORY AXI_SRAM // Framebuffer, fb_alloc #define OMV_FB_MEMORY AXI_SRAM // Framebuffer, fb_alloc
#define OMV_FB_SIZE (400K) // FB memory: header + VGA/GS image #define OMV_FB_SIZE (400K) // FB memory: header + VGA/GS image
#define OMV_FB_ALLOC_SIZE (100K) // minimum fb alloc size #define OMV_FB_ALLOC_SIZE (100K) // minimum fb alloc size
#define OMV_JPEG_MEMORY SRAM3 // JPEG buffer memory buffer. #define OMV_JPEG_MEMORY SRAM4 // JPEG buffer memory buffer.
#define OMV_JPEG_BUF_SIZE (32 * 1024) // IDE JPEG buffer (header + data). #define OMV_JPEG_BUF_SIZE (32 * 1024) // IDE JPEG buffer (header + data).
#define OMV_VOSPI_MEMORY SRAM4 // VoSPI frame buffer memory. #define OMV_GC_BLOCK0_MEMORY SRAM1 // Extra GC block 0.
#define OMV_VOSPI_MEMORY_OFFSET (20K) // SRAM4 reserves 16K for CM4 + 4K D3 DMA buffers. #define OMV_GC_BLOCK0_SIZE (276K)
#define OMV_GC_BLOCK1_MEMORY SRAM4 // Extra GC block 0.
#define OMV_GC_BLOCK1_SIZE (32K)
#define OMV_DMA_MEMORY SRAM2 // DMA buffers memory.
#define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data #define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data
#define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes) #define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes)
#define OMV_LINE_BUF_SIZE (3 * 1024) // Image line buffer round(640 * 2BPP * 2 buffers). #define OMV_LINE_BUF_SIZE (3 * 1024) // Image line buffer round(640 * 2BPP * 2 buffers).
@ -124,11 +127,9 @@
#define OMV_ITCM_ORIGIN 0x00000000 #define OMV_ITCM_ORIGIN 0x00000000
#define OMV_ITCM_LENGTH 64K #define OMV_ITCM_LENGTH 64K
#define OMV_SRAM1_ORIGIN 0x30000000 #define OMV_SRAM1_ORIGIN 0x30000000
#define OMV_SRAM1_LENGTH 240K #define OMV_SRAM1_LENGTH 276K
#define OMV_SRAM2_ORIGIN 0x3003C000 // 16KB of SRAM1 #define OMV_SRAM2_ORIGIN 0x30045000
#define OMV_SRAM2_LENGTH 16K #define OMV_SRAM2_LENGTH 12K
#define OMV_SRAM3_ORIGIN 0x30040000
#define OMV_SRAM3_LENGTH 32K
#define OMV_SRAM4_ORIGIN 0x38000000 #define OMV_SRAM4_ORIGIN 0x38000000
#define OMV_SRAM4_LENGTH 64K #define OMV_SRAM4_LENGTH 64K
#define OMV_AXI_SRAM_ORIGIN 0x24000000 #define OMV_AXI_SRAM_ORIGIN 0x24000000
@ -154,15 +155,15 @@
// Domain 2 DMA buffers region. // Domain 2 DMA buffers region.
#define OMV_DMA_MEMORY_D2 SRAM2 #define OMV_DMA_MEMORY_D2 SRAM2
#define OMV_DMA_MEMORY_D2_SIZE (4 * 1024) // Reserved memory for DMA buffers #define OMV_DMA_MEMORY_D2_SIZE (1 * 1024) // Reserved memory for DMA buffers
#define OMV_DMA_REGION_D2_BASE (OMV_SRAM2_ORIGIN + (0 * 1024)) #define OMV_DMA_REGION_D2_BASE (OMV_SRAM2_ORIGIN + (0 * 1024))
#define OMV_DMA_REGION_D2_SIZE MPU_REGION_SIZE_16KB #define OMV_DMA_REGION_D2_SIZE MPU_REGION_SIZE_16KB
// Domain 3 DMA buffers region. // Domain 3 DMA buffers region.
#define OMV_DMA_MEMORY_D3 SRAM4 // #define OMV_DMA_MEMORY_D3 SRAM4
#define OMV_DMA_MEMORY_D3_SIZE (4 * 1024) // Reserved memory for DMA buffers // #define OMV_DMA_MEMORY_D3_SIZE (4 * 1024) // Reserved memory for DMA buffers
#define OMV_DMA_REGION_D3_BASE (OMV_SRAM4_ORIGIN + (16 * 1024)) // #define OMV_DMA_REGION_D3_BASE (OMV_SRAM4_ORIGIN + (60 * 1024))
#define OMV_DMA_REGION_D3_SIZE MPU_REGION_SIZE_4KB // #define OMV_DMA_REGION_D3_SIZE MPU_REGION_SIZE_4KB
// MDMA configuration // MDMA configuration
#define OMV_MDMA_CHANNEL_DCMI_0 (0) #define OMV_MDMA_CHANNEL_DCMI_0 (0)

View File

@ -112,7 +112,7 @@
// Enable find_features() and built-in Haar cascades. (75KBs) // Enable find_features() and built-in Haar cascades. (75KBs)
#define IMLIB_ENABLE_FEATURES #define IMLIB_ENABLE_FEATURES
#define IMLIB_ENABLE_FEATURES_BUILTIN_FACE_CASCADE #define IMLIB_ENABLE_FEATURES_BUILTIN_FACE_CASCADE
#define IMLIB_ENABLE_FEATURES_BUILTIN_EYES_CASCADE //#define IMLIB_ENABLE_FEATURES_BUILTIN_EYES_CASCADE
// Enable Tensor Flow // Enable Tensor Flow
#if !defined(CUBEAI) #if !defined(CUBEAI)

View File

@ -108,21 +108,22 @@
// Linker script constants (see the linker script template stm32fxxx.ld.S). // Linker script constants (see the linker script template stm32fxxx.ld.S).
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
#define OMV_MAIN_MEMORY SRAM1 // data, bss and heap #define OMV_MAIN_MEMORY SRAM1 // Data/BSS memory
#define OMV_DMA_MEMORY SRAM3 // DMA buffers memory. #define OMV_HEAP_MEMORY SRAM1 // Heap memory
#define OMV_HEAP_SIZE (160K) #define OMV_HEAP_SIZE (160K)
#define OMV_STACK_MEMORY DTCM // stack memory #define OMV_STACK_MEMORY DTCM // stack memory
#define OMV_STACK_SIZE (64K) #define OMV_STACK_SIZE (64K)
#define OMV_FB_MEMORY DRAM // Framebuffer, fb_alloc #define OMV_FB_MEMORY DRAM // Framebuffer, fb_alloc
#define OMV_FB_SIZE (4M) // FB memory: header + VGA/GS image #define OMV_FB_SIZE (3M) // FB memory: header + VGA/GS image
#define OMV_FB_ALLOC_SIZE (2M) // minimum fb alloc size #define OMV_FB_ALLOC_SIZE (2M) // minimum fb alloc size
#define OMV_FB_OVERLAY_MEMORY AXI_SRAM // Fast fb_alloc memory. #define OMV_FB_OVERLAY_MEMORY AXI_SRAM // Fast fb_alloc memory.
#define OMV_FB_OVERLAY_SIZE (480K) // Fast fb_alloc memory size. #define OMV_FB_OVERLAY_SIZE (480K) // Fast fb_alloc memory size.
#define OMV_JPEG_MEMORY DRAM // JPEG buffer memory buffer. #define OMV_JPEG_MEMORY DRAM // JPEG buffer memory buffer.
#define OMV_JPEG_BUF_SIZE (1024 * 1024) // IDE JPEG buffer (header + data). #define OMV_JPEG_BUF_SIZE (1024 * 1024) // IDE JPEG buffer (header + data).
#define OMV_GC_BLOCK0_MEMORY DRAM // Extra GC block 0. #define OMV_GC_BLOCK0_MEMORY DRAM // Extra GC block 0.
#define OMV_GC_BLOCK0_SIZE (1M) #define OMV_GC_BLOCK0_SIZE (2M)
#define OMV_VOSPI_MEMORY SRAM4 // VoSPI buffer memory. #define OMV_VOSPI_MEMORY SRAM4 // VoSPI buffer memory.
#define OMV_DMA_MEMORY SRAM3 // DMA buffers memory.
#define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data #define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data
#define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes) #define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes)
#define OMV_SDRAM_SIZE (8 * 1024 * 1024) // This needs to be here for UVC firmware. #define OMV_SDRAM_SIZE (8 * 1024 * 1024) // This needs to be here for UVC firmware.

View File

@ -62,17 +62,18 @@
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
// Note: fb_alloc overwrites the line buffer which is only used during readout. // Note: fb_alloc overwrites the line buffer which is only used during readout.
#define OMV_MAIN_MEMORY DTCM // data, bss and heap memory #define OMV_MAIN_MEMORY DTCM // Data/BSS memory
#define OMV_DMA_MEMORY SRAM2 // Misc DMA buffers #define OMV_HEAP_MEMORY DTCM // Heap memory
#define OMV_HEAP_SIZE (47K) #define OMV_HEAP_SIZE (46K)
#define OMV_STACK_MEMORY DTCM // stack memory #define OMV_STACK_MEMORY DTCM // stack memory
#define OMV_STACK_SIZE (8K) #define OMV_STACK_SIZE (8K)
#define OMV_FB_MEMORY SRAM1 // Framebuffer, fb_alloc #define OMV_FB_MEMORY SRAM1 // Framebuffer, fb_alloc
#define OMV_FB_SIZE (152K) // FB memory: header + QVGA/GS image #define OMV_FB_SIZE (152K) // FB memory: header + QVGA/GS image
#define OMV_FB_ALLOC_SIZE (10K) // minimum fb alloc size #define OMV_FB_ALLOC_SIZE (10K) // minimum fb alloc size
#define OMV_JPEG_BUF_SIZE (8 * 1024) // IDE JPEG buffer size (header + data). #define OMV_JPEG_BUF_SIZE (8 * 1024) // IDE JPEG buffer size (header + data).
#define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data #define OMV_DMA_MEMORY SRAM2 // Misc DMA buffers
#define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes) #define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data
#define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes)
#define OMV_FFS_BUF_SIZE (16K) // Flash filesystem cache #define OMV_FFS_BUF_SIZE (16K) // Flash filesystem cache
#define OMV_LINE_BUF_SIZE (2 * 1024) // Image line buffer round(320 * 2BPP * 2 buffers). #define OMV_LINE_BUF_SIZE (2 * 1024) // Image line buffer round(320 * 2BPP * 2 buffers).

View File

@ -61,7 +61,8 @@
// Linker script constants (see the linker script template stm32fxxx.ld.S). // Linker script constants (see the linker script template stm32fxxx.ld.S).
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
#define OMV_MAIN_MEMORY DTCM // data, bss and heap #define OMV_MAIN_MEMORY DTCM // Data/BSS memory
#define OMV_HEAP_MEMORY DTCM // Heap memory
#define OMV_HEAP_SIZE (55K) #define OMV_HEAP_SIZE (55K)
#define OMV_STACK_MEMORY ITCM // stack memory #define OMV_STACK_MEMORY ITCM // stack memory
#define OMV_STACK_SIZE (16K) #define OMV_STACK_SIZE (16K)

View File

@ -114,21 +114,24 @@
// Linker script constants (see the linker script template stm32fxxx.ld.S). // Linker script constants (see the linker script template stm32fxxx.ld.S).
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
#define OMV_MAIN_MEMORY SRAM1 // data, bss and heap memory #define OMV_MAIN_MEMORY SRAM1 // Data/BSS memory
#define OMV_HEAP_SIZE (228K) #define OMV_HEAP_MEMORY SRAM1 // Heap memory
#define OMV_STACK_MEMORY ITCM // stack memory #define OMV_HEAP_SIZE (230K)
#define OMV_STACK_MEMORY ITCM // stack memory
#define OMV_STACK_SIZE (64K) #define OMV_STACK_SIZE (64K)
#define OMV_FB_MEMORY AXI_SRAM // Framebuffer, fb_alloc #define OMV_FB_MEMORY AXI_SRAM // Framebuffer, fb_alloc
#define OMV_FB_SIZE (400K) // FB memory: header + VGA/GS image #define OMV_FB_SIZE (400K) // FB memory: header + VGA/GS image
#define OMV_FB_ALLOC_SIZE (100K) // minimum fb alloc size #define OMV_FB_ALLOC_SIZE (50K) // minimum fb alloc size
#define OMV_JPEG_MEMORY SRAM3 // JPEG buffer memory. #define OMV_JPEG_MEMORY SRAM3 // JPEG buffer memory.
#define OMV_JPEG_BUF_SIZE (32 * 1024) // IDE JPEG buffer (header + data). #define OMV_JPEG_BUF_SIZE (32 * 1024) // IDE JPEG buffer (header + data).
#define OMV_DMA_MEMORY SRAM2 // DMA buffers memory. #define OMV_GC_BLOCK0_MEMORY AXI_SRAM // Extra GC block 0.
#define OMV_GC_BLOCK0_SIZE (50K)
#define OMV_VOSPI_MEMORY SRAM4 // VoSPI buffer memory. #define OMV_VOSPI_MEMORY SRAM4 // VoSPI buffer memory.
#define OMV_FFS_MEMORY DTCM // Flash filesystem cache memory #define OMV_DMA_MEMORY SRAM2 // DMA buffers memory.
#define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data #define OMV_FFS_MEMORY DTCM // Flash filesystem cache memory
#define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes) #define OMV_MSC_BUF_SIZE (2K) // USB MSC bot data
#define OMV_LINE_BUF_SIZE (5 * 1024) // Image line buffer. #define OMV_VFS_BUF_SIZE (1K) // VFS struct + FATFS file buffer (624 bytes)
#define OMV_LINE_BUF_SIZE (3 * 1024) // Image line buffer round(640 * 2BPP * 2 buffers).
// Memory map. // Memory map.
#define OMV_FLASH_ORIGIN 0x08000000 #define OMV_FLASH_ORIGIN 0x08000000
@ -138,9 +141,9 @@
#define OMV_ITCM_ORIGIN 0x00000000 #define OMV_ITCM_ORIGIN 0x00000000
#define OMV_ITCM_LENGTH 64K #define OMV_ITCM_LENGTH 64K
#define OMV_SRAM1_ORIGIN 0x30000000 #define OMV_SRAM1_ORIGIN 0x30000000
#define OMV_SRAM1_LENGTH 240K #define OMV_SRAM1_LENGTH 248K
#define OMV_SRAM2_ORIGIN 0x3003C000 // 16KB of SRAM1 #define OMV_SRAM2_ORIGIN 0x3003E000 // 16KB of SRAM1
#define OMV_SRAM2_LENGTH 16K #define OMV_SRAM2_LENGTH 8K
#define OMV_SRAM3_ORIGIN 0x30040000 #define OMV_SRAM3_ORIGIN 0x30040000
#define OMV_SRAM3_LENGTH 32K #define OMV_SRAM3_LENGTH 32K
#define OMV_SRAM4_ORIGIN 0x38000000 #define OMV_SRAM4_ORIGIN 0x38000000
@ -162,9 +165,9 @@
// Domain 2 DMA buffers region. // Domain 2 DMA buffers region.
#define OMV_DMA_MEMORY_D2 SRAM2 #define OMV_DMA_MEMORY_D2 SRAM2
#define OMV_DMA_MEMORY_D2_SIZE (6 * 1024) // Reserved memory for DMA buffers #define OMV_DMA_MEMORY_D2_SIZE (1 * 1024) // Reserved memory for DMA buffers
#define OMV_DMA_REGION_D2_BASE (OMV_SRAM2_ORIGIN + (0 * 1024)) #define OMV_DMA_REGION_D2_BASE (OMV_SRAM2_ORIGIN + (0 * 1024))
#define OMV_DMA_REGION_D2_SIZE MPU_REGION_SIZE_16KB #define OMV_DMA_REGION_D2_SIZE MPU_REGION_SIZE_8KB
// Domain 3 DMA buffers region. // Domain 3 DMA buffers region.
//#define OMV_DMA_MEMORY_D3 SRAM4 //#define OMV_DMA_MEMORY_D3 SRAM4

View File

@ -115,8 +115,9 @@
// Linker script constants (see the linker script template stm32fxxx.ld.S). // Linker script constants (see the linker script template stm32fxxx.ld.S).
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
#define OMV_MAIN_MEMORY SRAM1 // data, bss and heap #define OMV_MAIN_MEMORY SRAM1 // Data/BSS memory
#define OMV_HEAP_SIZE (240K) #define OMV_HEAP_MEMORY SRAM1 // Heap memory
#define OMV_HEAP_SIZE (239K)
#define OMV_STACK_MEMORY ITCM // stack memory #define OMV_STACK_MEMORY ITCM // stack memory
#define OMV_STACK_SIZE (64K) #define OMV_STACK_SIZE (64K)
#define OMV_FB_MEMORY DRAM // Framebuffer, fb_alloc #define OMV_FB_MEMORY DRAM // Framebuffer, fb_alloc

View File

@ -125,7 +125,8 @@
// Linker script constants (see the linker script template stm32fxxx.ld.S). // Linker script constants (see the linker script template stm32fxxx.ld.S).
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
#define OMV_MAIN_MEMORY SRAM1 // data, bss and heap #define OMV_MAIN_MEMORY SRAM1 // Data/BSS memory
#define OMV_HEAP_MEMORY SRAM1 // Heap memory
#define OMV_HEAP_SIZE (196K) #define OMV_HEAP_SIZE (196K)
#define OMV_STACK_MEMORY ITCM // stack memory #define OMV_STACK_MEMORY ITCM // stack memory
#define OMV_STACK_SIZE (64K) #define OMV_STACK_SIZE (64K)

View File

@ -107,7 +107,8 @@
// Linker script constants (see the linker script template stm32fxxx.ld.S). // Linker script constants (see the linker script template stm32fxxx.ld.S).
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
#define OMV_MAIN_MEMORY SRAM1 // data, bss and heap #define OMV_MAIN_MEMORY SRAM1 // Data/BSS memory
#define OMV_HEAP_MEMORY SRAM1 // Heap memory
#define OMV_HEAP_SIZE (250K) #define OMV_HEAP_SIZE (250K)
#define OMV_STACK_MEMORY ITCM // stack memory #define OMV_STACK_MEMORY ITCM // stack memory
#define OMV_STACK_SIZE (64K) #define OMV_STACK_SIZE (64K)

View File

@ -73,7 +73,8 @@
// Linker script constants (see the linker script template mimxrt10xx.ld.S). // Linker script constants (see the linker script template mimxrt10xx.ld.S).
// Note: fb_alloc is a stack-based, dynamically allocated memory on FB. // Note: fb_alloc is a stack-based, dynamically allocated memory on FB.
// The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp). // The maximum available fb_alloc memory = FB_ALLOC_SIZE + FB_SIZE - (w*h*bpp).
#define OMV_MAIN_MEMORY DTCM // data, bss and heap memory #define OMV_MAIN_MEMORY DTCM // Data/BSS memory
#define OMV_HEAP_MEMORY DTCM // Heap memory
#define OMV_HEAP_SIZE (284K) #define OMV_HEAP_SIZE (284K)
#define OMV_STACK_MEMORY ITCM1 // stack memory #define OMV_STACK_MEMORY ITCM1 // stack memory
#define OMV_STACK_SIZE (32K) #define OMV_STACK_SIZE (32K)

View File

@ -46,7 +46,8 @@ extern unsigned char *OMV_BOARD_UID_ADDR; // Unique ID address.
#define OMV_USB1_IRQ_HANDLER (USBD_IRQHandler) #define OMV_USB1_IRQ_HANDLER (USBD_IRQHandler)
// Linker script constants (see the linker script template port/x.ld.S). // Linker script constants (see the linker script template port/x.ld.S).
#define OMV_MAIN_MEMORY RAM // data, bss and heap memory #define OMV_MAIN_MEMORY RAM // Data/BSS memory
#define OMV_HEAP_MEMORY RAM // Heap memory
#define OMV_HEAP_SIZE (32 * 1024) // MicroPython's heap #define OMV_HEAP_SIZE (32 * 1024) // MicroPython's heap
#define OMV_STACK_MEMORY RAM // stack memory #define OMV_STACK_MEMORY RAM // stack memory
#define OMV_STACK_SIZE (8K) #define OMV_STACK_SIZE (8K)