Skip to main content
Graduate
February 12, 2025
Question

Lesser known buffers/registers to act as RAM in STM32F769?

  • February 12, 2025
  • 1 reply
  • 458 views

I've been assigned the task of reducing RAM usage on an STM32F769 microcontroller running FreeRTOS. I've done the usual stuff (packed structs and specified the number of bits each member needs, made all the XXXX_InitTypeDef and other de facto constant data const/constexpr, and placed things in ITCM and backup SRAM). Can anybody recommend some storage that is easily forgotten, e.g. some peripherals that have built-in buffers or large register ranges, e.g. the CAN-buses' filter registers (CAN_TypeDef->CAN_FilterRegister_TypeDef), etc?

    This topic has been closed for replies.

    1 reply

    arnold_wAuthor
    Graduate
    February 12, 2025

    So far I have found these good candidates:

    CAN1:
    48 CAN_TypeDef->sTxMailBox
    32 CAN_TypeDef->sFIFOMailBox
    224 CAN_TypeDef->sFilterRegister
    CAN2:
    48 CAN_TypeDef->sTxMailBox
    32 CAN_TypeDef->sFIFOMailBox
    224 CAN_TypeDef->sFilterRegister
    CAN3:
    48 CAN_TypeDef->sTxMailBox
    32 CAN_TypeDef->sFIFOMailBox
    224 CAN_TypeDef->sFilterRegister
    JPEG:
    64 JPEG_TypeDef->QMEM0
    64 JPEG_TypeDef->QMEM1
    64 JPEG_TypeDef->QMEM2
    64 JPEG_TypeDef->QMEM3
    64 JPEG_TypeDef->HUFFMIN
    128 JPEG_TypeDef->HUFFBASE
    336 JPEG_TypeDef->HUFFSYMB
    412 JPEG_TypeDef->DHTMEM
    352 JPEG_TypeDef->HUFFENC_AC0
    352 JPEG_TypeDef->HUFFENC_AC1
    32 JPEG_TypeDef->HUFFENC_DC0
    32 JPEG_TypeDef->HUFFENC_DC1
    DMA2D:
    1024 DMA2D_TypeDef->FGCLUT
    1024 DMA2D_TypeDef->BGCLUT
    _______________________________
    4924 bytes