Skip to content

Move RAM partition with ARM compiler #11313

@VVESTM

Description

@VVESTM

Description

I would like to move the RAM partition on NUCLEO_H743ZI board. For now, I am able to do it with IAR and GCC_ARM toolchains but not with ARM one.

After my developments for ethernet on STM32H7 (see here PR #11274), I faced some issue with those tests :

tests-mbed_platform-crash_reporting
tests-mbedmicro-rtos-mbed-heap_and_stack

For those tests, it seems I need to keep the vector table and crash report ram to 0x20000000.
Regarding that, I decided to move only the RAM from 0x20000000 to 0x24000000.

I can do it for IAR and GCC_ARM, this is temporary available in my GitHub account : branch and commit.

For ARM, I cannot succeed to perform the same modification. I have tried this in stm32h743xI.sct :

#define MBED_RAM_START 0x24000000
#define MBED_RAM_SIZE 0x80000
#define MBED_VECTTABLE_RAM_START 0x20000000
#define MBED_VECTTABLE_RAM_SIZE 0x298
#define MBED_CRASH_REPORT_RAM_START (MBED_VECTTABLE_RAM_START + MBED_VECTTABLE_RAM_SIZE)
#define MBED_CRASH_REPORT_RAM_SIZE 0x100
#define MBED_RAM0_START (MBED_RAM_START)
#define MBED_RAM0_SIZE (MBED_RAM_SIZE)

But it seems there is no effect and the MSP stay in 0x20000000 area... (tests-mbedmicro-rtos-mbed-heap_and_stack test failed because msp is 0x2001ff70) :
mbed test -t GCC_ARM -m NUCLEO_H743ZI -v -n tests-mbedmicro-rtos-mbed-heap_and_stack

Do you know if there is an other place to modify in order to move RAM with ARM toolchain ?
Is there some hardcoded values that forbid user to move RAM ?

For information, I also tried to exchange IRAM1 and IRAM2 sections in https://github.com/ARMmbed/mbed-os/blob/master/tools/arm_pack_manager/index.json file with no success.

Issue request type

[X] Question
[ ] Enhancement
[ ] Bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions