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.

STM32 Cortex-M3 to TMS470 code port

Other Parts Discussed in Thread: HALCOGEN

Hi,

For a industrial grade autopilot I'm considering for the first step to port the existing code (inavflight.com) to the TMS470. The code will be splittet in a FC part and in a AHRS part, in fact two boards connected via SPI.

My first question is if anyone have experience in porting the STM32 code to the TMS470 MCU, or it will be right straighforward to do it? Any particular advices to follow?

Thanks in advance for your answers :-)

Best,

Jarno

  • Hello Jarno,

    The primary thing you should first be aware of is the difference in the interrupt management. The TMS470 uses an IP named M3VIM to implement the interrupt vectors. This IP is mounted on top of the NVIC in order to provide some compatibility to our older ARM7 and newer Cortect R products. This make some special review of the TRM sections that cover that functionality to full understand.

    In regard to the peripheral, interfaces. The TMS470M devices are supported by HalCoGen so you should be able to generate the HAL layer to replace your low level STM drivers and keep the application code almost the same. For sure you will need to add an interface layer for calls to the STM drivers so that they are redirected to the TMS470M driver APIs.

    As you get this running, you can then investigate possible optimizations to take advantage of the device specific features such as LBIST, PBIST, memory initialization, ECC on RAM and Flash, Parity on Peripheral RAMs, buffered SPI, HET, etc.

  • Hello Chuck,

    thanks for the advice. Will be back on you for some other basic questions about the TMS470.

    Best,

    -Jarno