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.

TMS320F280021: How to shrink Flash Kernel?

Part Number: TMS320F280021


Tool/software:

Hi experts,

we are using the F280021 as a slave controller in an application. We are using the Flash Kernel built from the flash_kernel_ex3_sci_flash_kernel example to boot the system.

Flash Kernel is compiled with

CCS 12.6.0
Compiler v22.6.0.LTS
C200ware 5.0.0

The problem is that we load Flash Kernel to RAM via SCI every time at startup to see if the F280021 is flashed with a valid firmware. This costs quite some time, since the Flash Kernel compiles to 7k bytes of code with full optimization. In my opinion, this is quite a lot for what it does.

Are there options to shrink the size of the FlashAPI?

Is the source code of FlashAPI_F28002x_FPU32.lib available? Is FlashAPI_F28002x_FPU32.lib built as small as possible?

BR
Alexander

  • Alexander,

    Sorry for the delayed reply.

    The Flash API library is built with no optimization and therefore is likely to be larger in size than it could possibly be. However, this is true for the Flash API library for all our devices. We can potentially explore building it with an option to optimize it for size, not sure how much of an improvement it will lead to. We provide the source - but only as a reference - we don't permit re-compilation of the library. This is given the sensitivity of the job the Flash API is built for.

    Another option in this case is the Flash API lib in F28002x ROM. You could try try to use that. But if I recall correctly, there was an issue we ran into when we use the ROM Flash API lib. The kernel didn't quite work. This was a long time ago, and we didn't chase it down unfortunately. It's something maybe to check out.

    Thanks,

    Sira