[SOLVED] Project auto-update

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

  • [SOLVED] Project auto-update

    We have a project that loads correctly using JFlash 6.4. Our project linker file uses the default base address of 0x08000000.

    The part is an Infineon XMC-4200-256.

    We just installed JFlash and SEGGER on a new production computer. It is version 7.88n.

    When we opened the jflash project file the first time we get the first message shown in the attached PNG file.

    If we choose not to update the file, jflash will not proceed.

    If we choose to update the file, when we try to flash our .hex file that we have been using forever, we get the second message shown in the attached PNG file.

    If we choose not to use the offset, jflash will not proceed.

    If we choose to use the offset, it flashes the part, but now it is not where we expect it to be. It is at 0x0C000000 instead of 0x08000000.

    How and why would SEGGER care or want to control where we put our firmware in flash? All of our tools, bootloader, etc. rely on it being at 0x08000000 and not 0x0C000000.

    Our linker file also specifies 0x08000000. If you create a default project in the version of IAR we have, it also defaults the linker file to 0x08000000.

    As stated above, keep in mind that this all works at 0x08000000 when using the older 6.40 version of JFlash.

    Can someone explain to me what is going on here?
    Images
    • segger_auto-update.png

      42.22 kB, 552×316, viewed 56 times
  • Hi,
    sorry for the delay in response.

    0x0800_0000 and 0x0C00_0000 describe the same physical flash area.
    The first is cached the latter is uncached.

    When programming data to 0x0800_0000, it is remapped internally to 0x0C00_0000 by J-Link,

    which was always the case for these devices.

    It seems that the auto-update did not fully work.
    If you setup a new project it should still work with the same address range,
    however, programming to 0x0C00_0000 should lead to the same result.

    BR
    Fabian
    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.