Cannot access all RAM in STM32 NUCLEO_H723ZG port #12597
Answered
by
jimmo
saraverbeecke
asked this question in
STM32 / Pyboard
-
Hi, I successfully built and flashed a NUCLEO_H723ZG board with MicroPython v1.20. import gc
gc.collect()
gc.mem_free() I get: 74416 bytes The specs of the STM32H723ZG indicate:
Any idea why I get no value near 400 kB? |
Beta Was this translation helpful? Give feedback.
Answered by
jimmo
Oct 6, 2023
Replies: 1 comment 9 replies
-
The loader script seems to configur for 128k+128k RAM. So maybe that one has to be changed. |
Beta Was this translation helpful? Give feedback.
9 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Option bytes are persistent configuration registers. You can set them via st-link using e.g. Cube Programmer.
You'll need to refer to the reference manual I mentioned, but there's a two-bit setting (
TCM_AXI_SHARED
) in the option byte (FLASH_OPTSR2_PRG
) that lets you configure how the memory layout works.RM0468 details how this works, see page 133 for the memory layout.
0x24000000 - 0x2401FFFF (128kiB) is AXI SRAM. (this is what the .ld file is configured to use)
0x24020000 - 0x2404FFFF (192kiB) is an additional region that may be mapped depending on the option byte setting. Anything you don't map here will be assigned to ITCM at 0x00000000.
The minimum split for ITCM (64kiB) gives the fu…