[SOLVED] Redefinition of FLASH in SEGGER_Flash.icf

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Redefinition of FLASH in SEGGER_Flash.icf

    Hi,
    in release 4.18, the linker complains about redefinition of FLASH in SEGGER_Flash.icf.

    Brainfuck Source Code

    1. //
    2. // Combined regions per memory type
    3. //
    4. define region FLASH = FLASH1; <---------- redefinition of FLASH & RAM
    5. define region RAM = RAM1;
    It works with

    Source Code

    1. //
    2. // Combined regions per memory type
    3. //
    4. define region FLASH1 = FLASH; <------- definition of FLASH1 & RAM1
    5. define region RAM1 = RAM;


    Could you check that ?
    Regards
    Jluc
  • Hello,

    Thank you for your inquiry.
    Was this an existing project or did you create a new one?
    If you created a new one could you tell us which steps you took?

    To correctly solve this issue check your memory map or memory segments projects option (depending on which you are using) and make sure that FLASH is renamed to FLASH1 and RAM to RAM1.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hello, Nino,
    after updateing to V4.18 I ran into the same issue. This was a collection of samples for a STM32F0 Discoveryboard written for IAR, which I imported successfully Version 4.16. Afterr updateing to 4.18 this error was thrown.
    You wrote:

    SEGGER - Nino wrote:

    To correctly solve this issue check your memory map or memory segments projects option (depending on which you are using) and make sure that FLASH is renamed to FLASH1 and RAM to RAM1.
    Where do I have to correct this? In an existing file or in project optinons or where?
  • Hello,
    same here. My original project was created with release 4.12 by importing a CubeMX project in MDK format.
    So, we've a to go in the Options/Build/Memory segments and replace FLASH and RAM by FLASH1 and RAM1 ? For every project updated from V4.xx to V4.18 ?

    Regards
    JLuc
  • Hello,

    Asinus wrote:

    Where do I have to correct this? In an existing file or in project optinons or where?
    You can do so in the project options in category Linker. There you can right click the entry and select open.
    Or if you right click your project in the project explorer in the context menu you should see "Edit Linker Script" at the bottom.

    EDIT: Sorry this was how to edit linker scripts but they are correct. You need to edit the memory map or memory segments settings instead.
    In project options in category build. Options memory map file or if that is not set memory map segments.
    There simply rename FLASH to FLASH1 and RAM to RAM1.


    We will investigate why the importers do not set this automatically.

    Out of curiosity. What are the paths to the Linker script in your projects?
    Does each project have their own linker script or do they all source the same basic linker script from the Embedded Studio install directory?

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hi JLuc,

    Thanks for verification. This explains why the build is failing with the new version as the new Linker script is referenced now where the regions are renamed to be more consistent.
    By adjusting the memorymap file or memory segments settings in your project as described above should fix this issue.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.