Vector Informatik offers a free implementation of XCP for MCUs that allows for DAQ (data acquisition) and STIM (data stimulation) here. My understanding from the technical reference manual is:
- The main driver functionality is given in XcpBasic.c and XcpBasic.h and should not be edited.
- xcp_par.c, xcp_par.h and xcp_cfg.h are to be customized to the desired MCU specifications and XCP functionality. In my case, I am using the MPC5744P so Big Endian mode should be enabled, for instance. DAQ should also be enabled.
- Code that links to FlexCAN message transmission and reception should be written (can be done with assistance of S32 SDK).
- Other driver code may be inserted to improve performance (e.g. DMA transfers).
I have so far tried to integrate the driver code but I cannot get the code to compile. I had to initially redefine some typedefs because the driver does not use the same semantics as in the C99 standard (so 'vuint32' instead of 'volatile uint32_t' or 'vuint32_t' for 'volatile unsigned long int').
After all of the corretions, I get the error 'make: *** [makefile:68: Executable.elf] Error 1', which does not point to any specifc C error, making it extremely hard to trace.
In the makefile itself, line 68 contains the GCC compile command 'powerpc-eabivle-gcc -o "Executable.elf" "@Executable.args" ...' so I doubt the error is in there. In addition, the makefile is autogenerated on compilation, which, I suppose, should not be edited manually.
I have tried cleaning and rebuilding the project to see if the error goes away but it does not.
Since I am not using XCP Professional or related configuration software, the code integration is done manually and there does not seem to be a lot of support on Vector's side for the free version hence I am wondering if someone has successfully integrated these libraries and if they had to overcome the above bolded error.