Giter Club home page Giter Club logo

Comments (8)

JohnK1987 avatar JohnK1987 commented on July 21, 2024 1

Hello,

sorry, but information in your main post are wrong.

MEMORY
{
FLASH (rx) : ORIGIN = MBED_APP_START, LENGTH = MBED_APP_SIZE
DTCMRAM (rwx) : ORIGIN = NVIC_RAM_VECTOR_ADDRESS + VECTORS_SIZE, LENGTH = 128K - VECTORS_SIZE
RAM (xrw) : ORIGIN = MBED_RAM_START, LENGTH = MBED_RAM_SIZE
RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K
RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K
ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
}

What version of Mbed-os are you using (tag or sha) ?

mbed-os-6.17.0

You wrote about wrong memory settings in MbedOS 6.17, but this memory setting is definitely not from Mbed OS 6.17.

The memory settings from your post is from Mbed OS 6.15 or lower because it Mbed OS 6.15.1 was done a correction - #15130

BR, Jan

from mbed-os.

pmancele avatar pmancele commented on July 21, 2024

Maybe @jeromecoutant know how to deals with it and use the other RAM sections ? :)

from mbed-os.

0xc0170 avatar 0xc0170 commented on July 21, 2024

cc @ARMmbed/team-st-mcd

from mbed-os.

0xc0170 avatar 0xc0170 commented on July 21, 2024

I remember NXP K64F has 2 RAM banks as well, RAM is split into two sections (if I am not wrong, you can't write through the boundaries).

See the linker script: https://github.com/ARMmbed/mbed-os/blob/master/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K64F/device/TOOLCHAIN_GCC_ARM/MK64FN1M0xxx12.ld - you can review data and data 2 sections.
The first lower RAM is used for interrupts, heap and the second bank (larger) for user/app data.

from mbed-os.

pmancele avatar pmancele commented on July 21, 2024

Thank you.

I managed to use the RAM_D2 by creating a section like that in the linker script :

SECTIONS
{
    ...
    .map_counters (NOLOAD):
    {
        KEEP(*(.map_counters))
    } >RAM_D2
}

Then, in my code i can instantiate vairables at this area like this:

static uint32_t map_counter[110][110] __attribute__((section(".map_counters")));

from mbed-os.

pmancele avatar pmancele commented on July 21, 2024

Hello @JohnK1987

Indeed, to be exact we are using a custom target based on the STM32H753ZI. We are using Mbed OS 6.17.0 but the linker script of our custom targets comes from an older version of Mbed OS.

I didn't see that the linker script was updated, but the issue remains : it only use the 512k bank for user RAM.

from mbed-os.

pmancele avatar pmancele commented on July 21, 2024

I'm not sure if there are any other solutions besides the one I detailed previously. So, unless you have another idea, we can close the issue :)

from mbed-os.

jeromecoutant avatar jeromecoutant commented on July 21, 2024

I didn't see that the linker script was updated, but the issue remains : it only use the 512k bank for user RAM

Not fully true => Ethernet is using SRAM3:
https://github.com/ARMmbed/mbed-os/blob/master/connectivity/drivers/emac/TARGET_STM/stm32xx_emac.cpp#L113
https://github.com/ARMmbed/mbed-os/blob/master/targets/TARGET_STM/TARGET_STM32H7/TARGET_STM32H743xI/TOOLCHAIN_GCC_ARM/STM32H743xI.ld#L235

from mbed-os.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.