I've been in the process of re-writing the XCP/CCP drivers to work with other hardware. A while ago I re-wrote the ISO-15765 drivers (KWP2000, OBD, UDS) into pure G so that any CAN hardware can use it. This basically replaces the NI Automotive Diagnostic Toolkit from NI. The code was simple enough and all I needed to do was re-write the core state machine and the rest was more or less the same NI subVIs.
XCP/CCP is more complicated as there isn't just a single core used by NI's toolkit to replace. I do have an internal toolkit for doing XCP, but parsing and processing the A2L file still leverages NI's DLLs and if I ever wanted to release it I would want to rewrite this file parsing stuff too. My toolkit does support a Raw mode which doesn't rely on an A2L (and doesn't need NI's parsing) but in this case doing things like reading a characteristic you'll need to provide the Address, Extension, Byte Order, Number of Elements to Read, and Number of Elements in an Item. Returned would be an array of bytes. Where when using the A2L you can call a function to list all the Characteristics by name, and then read the engineering unit based on the name, with all that other stuff pulled from the A2L. I was able to accomplish this just by sniffing the CAN bus while using NI's toolkit and seeing the commands performed to do things like Connect, Unlock, Get Processor Info, Get DAQ Resolution, get PGM Info, etc. NI's toolkit has an ECU simulator, and I have a couple actual ECUs to test with. Combined with sniffing I found some documentation here that helped understand the protocol more. At the moment I can't post what I have, way too coupled with NI, and not robust, and cleaned up. But I can point you in the direction of what I learned if you have any questions about the order of commands needed for an operation, or the type of things needed. If your scope is small enough I'd attempt to just use NI's toolkit on your ECU, sniff the bus, and figure out what the commands are to get what you need.
But honestly for the money the NI toolkit is worth it. I'd argue the ADCS toolkit might not be worth it (since it is available on my website and open), but the ECU one is and if you can get away with using NI hardware I'd recommend using that toolkit.