cancel
Showing results for 
Search instead for 
Did you mean: 

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

arnold_w
Senior II

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?

1 REPLY 1
arnold_w
Senior II

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