Additional Memories Value Cannot be null: Path2

Sysprogs forums Forums VisualGDB Additional Memories Value Cannot be null: Path2

This topic contains 5 replies, has 2 voices, and was last updated by  support 1 month, 2 weeks ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
  • #33773


    In visual GDB I am trying to add external flash memory to an MIMXRT1062 chip.  Regardless of the settings entered into additional memories, RAM or Flash, an error occurs.

    VisualGDB version:
    —————— System.ArgumentNullException ——————
    System.ArgumentNullException: Value cannot be null.
    Parameter name: path2
    at System.IO.Path.Combine(String path1, String path2)
    at g4.o2(ge3 b, EmbeddedProfile c, IProjectEditContext a)
    at g4.t_2(bn b, Object a)
    at tl2.l(tc c, IProjectEditContext a, qk1 b)
    at tl2.y1(tc b, qk1 a)
    at VisualGDB.Common_GUI.Configuration_editors.ProjectPropertiesEditModel.g(Boolean b, h43 d, String a, Action c)
    at VisualGDB.Common_GUI.WPF.ProjectPropertiesWindow3.OK_Click(Object sender, RoutedEventArgs e)
    trace=[System.IO.Path.Combine:26, g4.o2:148, g4.t_2:524, tl2.l:98, tl2.y1:8, VisualGDB.Common_GUI.Configuration_editors.ProjectPropertiesEditModel.g:179, VisualGDB.Common_GUI.WPF.ProjectPropertiesWindow3.OK_Click:57]




    The call stack you mentioned indicates that part of the project was not loaded correctly. We have tried reproducing this with a basic iMXRT1062 project, however it worked as expected. Most likely, the issue is triggered by some combination of settings you changed previously.

    Please try reproducing the problem on a project created from scratch. If it reoccurs, please share the repro steps together with the screenshots per our problem reporting guidelines, and we will gladly investigate this further.

    If the problem only happens on a specific project, it might be corrupt. Comparing the settings files against the working project should usually help track down the root cause.




    1. Create a new empty Embedded Project.
    2. Set up the project with MIMXRT1062XXX6A
    3. Go to solution explorer and right click the project
    4. Open VisualGDB Project Properties
    5. Go to additional memories and click add new external memory
    6. Click OK

    I would expect this change to be accepted but instead I get the error mentioned above and attached below.

    You must be logged in to view attached files.



    Thanks for the detailed repro steps. It looks like you are using the ARMClang toolchain that uses Keil-specific scatter files instead of GNU linker scripts.

    Unlike the GCC linker scripts that typically come from our BSPs and follow the same structure, the scatter files come from the Keil packs and can have an arbitrary structure, hence VisualGDB cannot edit them fully automatically.

    We have updated VisualGDB on our side to show a warning on the External Memories page when using a non-GCC toolchain.

    As a workaround, please consider creating a scatter file manually as shown on this page. You can configure the scatter file used by the project via VisualGDB Project Properties -> MSBuild Settings -> Linker Script or MSBuild Project Properties -> Linker -> Memory Layout -> Scatter file.



    Do I need to use that workaround?  Can Visual GDB still use the Keil and the scatter file without adding items to the additional memories dialogue?




    Sure, if you already have a scatter file, you can specify its location via either VisualGDB Project Properties -> MSBuild Settings -> Linker Script or MSBuild Project Properties -> Linker -> Memory Layout -> Scatter file, and VisualGDB will pass it to the Keil linker. The only limitation is that VisualGDB won’t be able to automatically edit it to add new memories (i.e. the Additional Memories page won’t work).

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.