This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LP-MSPM0G3507: MSPM0G3507

Part Number: LP-MSPM0G3507

Tool/software:

Hi everybody,

I am strugling since a while with a bootmanager-bootloader-application prototype.

For this purpose, i have build an empty "bootmanager", that is flashed at address and it jumps at address 0x1000 where the an empty "bootloader" is located, and from there a jump at 0x7000 is dome where the application is located.

I mention that all this was succesfull while using ti clang toochain (whit the generated linker file, where only the Flash adress was changed to fit the location addresses required.

Nevertheless, I need to o this using the gcc tool chain, and unfortunatelly, I am not succesful. These are the steps:

- flash the "bootmanager" at address 0x0 -OK

- flash the bootloader at address 0x1000 - NOT OK. I've got the error message 614:

after reseting and checking the memory content, it looks like that the memory at address 0x0 was modified (at address 0x0 is no more the stack pointer at the end of the RAM, but something else).

The memory content at address 0x1000, wher i have flashed, the empty "bootloader" looks ok:

I mention that I have tried with all the variants bellow (even with do not erase Flash memory, since every time i flash at a new address, so there is no need to erase):

Also, I have tried with both, debug and load:

Nevertheless, it looks like everytime, the flash is overwriten.

Why does not work with gcc, but works with clang?

Many thanks,

ovi

  • Hi Ovi,

    Please check you boot manager project firmware generated by GCC firstly.

    Is the boot firmware correct with the first interrupt vector tables start from 0x0?

    Actually, we do provide separately project for gcc, so the example of TI CLANG can not be used directly in GCC. I think this is the root cause.

    B.R.

    Sal

  • Hi Sal,

    thanks for answer. How do I check respectivelly change the boot firmaware?

    Actually, I have started an empty projects for TI Clang - wich works, and for gcc, i have started with empty project for gcc. 

    So, for me, is not clear what i have to change. 

    Please let me know how/what can i proceed/check further.

    Thanks again, 

    ovi

  • Hi Ovi,

    So, according your description, please work with boot_application_gcc firstly, this should work without any issue, then you can start with application firmware.

    For this, you should check the firmware you generated with your gcc compiler. You can refer to other gcc examples to see whether your firmware is correct or incorrect.

    From my perspective, the interrupt table from 0x0 should be the similar with different compiler. You screenshot is not behavior like the interrupt table.

    it looks like that the memory at address 0x0 was modified

    I suggest you can start from this, check whether the firmware is correct or not. If the firmware is correct, then there must be some code in your project do modification with flash.

    B.R.

    Sal