When working with the big boys, there are standardised toolchains that allow seamless integration for digital control units within the process of system calibration and optimisation. Using predefined data exchange protocols such as XCP or CCP, and using standarised software descriptors, such a ASAM .MDF or A2L etc. This means that you can write some code, compile it, flash it into a device, and then modify and parameters without having to do a lot of manual work. Using a tool chain from say ETAS or Vector or similar, which are based on ASAM standards makes this process very fast and seamless.
Then i get back home and find that if i wish to get data from my AVR, or to change a parameter, i must hardcode and manually hash this. I'm sure everyone uses there own methods, from serial debug in a terminal program to some flavour of stdout etc.
So, i'd be interested to hear from others what they do, and i there would be some interest in an open source basic, small (in terms of code size and complexity) cut down "standard" data exchange toolchain.
My thoughts are that the we would need to parse an .map or 'elf to a .xml (makes sense to use xml as the descriptor format because this is so widely supported). In this way, when you build your project, your compiler spits out these files, they get parsed into our "ECU Descriptor" format, and then can be loaded by some sort of realtime interface program(running on pc) that has a coms link to the embedded AVR (serial, CAN, ethernet etc, but start with basic serial!). That coms link needs a standard protocol and scope of actions, i guess equivalents of the old PEAK and POKE commands etc. It could then allow easy calibration and Data Aquisition from the target device, no matter what code is running on that device.
The key will be to keep the code overhead on the target device low and very simple imo. Simple RAM read and write would provide a lot of functionality for a very low overhead.
This is no small task, but would be a very useful addition to small embedded development i think?
What do people think? Worth pursuing?