This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Flashing issue in GCC context

Hello ARM Community,

We are trying to use Keil with GCC toolchain.
Compiling, debugging, all is working well.

Except 2 things:
- code browsing (not the point of this thread)
- flash programming

The target programming is done using a Segger J-Link.

While in normal Keil config (ARMCC) the integrated J-Link driver handle the programming flawlessly, in GCC context the J-Link driver is less able: the flashing sequence is performed by at the wrong address, thus the flashing is not effective.
We have not yet figured where the wrong address comes from: the driver try at 0x08055000 instead of the wanted 0x08008000, in our case.

Our current workaround is to flash via the option "Use External Tool" with a bit of JLink Commander scripting, but doing this way is less practical in dev/debug situation because we can't use the automated flash-before-debug option, each step must be done manually.

Did someone already solved this kind of situation?
Any idea is welcome.

Thanks

Parents
  • The addresses uVision tries to flash are normally taken from the debug/output file. How do you know, something is to be programmed at 0x08055000? But if you use the exact same flash settings when building with Arm Compiler 5 and GCC, an initial guess is, something is wrong with your GCC linker configuration, that outputs data at that address.

Reply
  • The addresses uVision tries to flash are normally taken from the debug/output file. How do you know, something is to be programmed at 0x08055000? But if you use the exact same flash settings when building with Arm Compiler 5 and GCC, an initial guess is, something is wrong with your GCC linker configuration, that outputs data at that address.

Children