Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE
In order to update the firmware of the CM core of an F28388D I need to execute the updating code from memory that is not erased during firmware update.
My update procedure involves getting the data to be flashed from CPU2 via IPC and message RAM. This makes use of functions like IPC_waitForFlag() which are declared inline in ipc.h.
In my linker command file I have the following lines

to place everything that is needed during programming into RAM.
Eventually, I managed to make the whole procedure work using the following optimization settings:

Using this option, the inline function is properly inlined and everything is executed from RAM:

but during debugging with

I observed, that the IPC_waitForFlag() jumped into Flash (which was erased already):

Now the question: How do I make those inlined functions be placed in RAM even when optimization is turned off?
Best regards
Johannes



