Docker-ized Build Environment for MPC5744P w/GitHub Actions

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Docker-ized Build Environment for MPC5744P w/GitHub Actions

1,210 Views
jfrey
Contributor IV

As "enjoyable" as as Eclipse is to use, for those that would like something a bit more modern I have containerized the MPC5744P build process.


Here is a minimal, single Dockerfile, example based on the LINFlexD_UART_MPC5744P example. The project is completely self contained and you should be able to get away with forking the project and copying in your own src, include, & Project_Settings folders. (You may need to adjust your Makefile configuration). It also includes a GitHub action that allows you to build your projects on GitHub's infrastructure and archives the artifacts.

GitHub - AutomotiveDevOps/LINFlexD_UART_MPC5744P_Docker: Single Repo Example for LINFlexD_UART_MPC57... 


Example GitHub action & artifact: https://github.com/AutomotiveDevOps/LINFlexD_UART_MPC5744P_Docker/actions/runs/140117909

This should allow you/your developers to concentrate on writing code and not dealing with Eclipse. You can also start to use other IDEs like JetBrains, VIM, or even just editing the files on GitHub and letting the build process handle the rest.

I have verified that the built artifacts flash and work as described in the Examples (Displaying a UART message).

At the current time you still do need S32DS to flash the file (Follow: HOWTO: download separate elf/srec/hex file to microcontroller using S32 Design Studio )

If you have multiple projects built with S32DS PA or would like a more "proper" docker work flow the above project is broken part into a Dockerfile for the S32DS PA v2.1 build environment:

https://github.com/AutomotiveDevOps/powerpc-eabivle-gcc-dockerfiles

And there is a separate repository that builds each and every MPC5744P example using the Docker container tagged in the above repository:

GitHub - AutomotiveDevOps/nxp-devkit-mpc57xx-docker at DEVKIT-MPC5744P 

GitHub actions were the only ones implemented, but it is trivial to get the process building on other CI/CD tools like GitLab,

TODO: DockerHub, DEVKIT-MPC5748G, Update OpenSDA Flasher to work with Ubuntu.

Feedback welcome.

0 Kudos
0 Replies