If it's vehicle system software then that's extremely unlikely; nor would it be particularly useful.
There will be common libraries in use behind the scenes but you won't take the firmware from one vehicle and flash another using it. Part tolerances, internal communication bus, and other things will be quite different.
Reminds me of a service call where someone replaced a 10,000 step stepper-motor with a 1,000,000 step stepper-motor then didn't understand why it wasn't turning. The software was designed for the old motor and those same directions on the new one was a fraction of a revolution. Of course, the time to complete a revolution and response times were also quite different so even if you did multiply the steps it still wasn't going to fire at exactly the right time to do the expected job (part of an assembly line).
When the software for driving a part consists of a couple hundred lines, and 50 of those change with the specifications of the hardware, it's overkill to make porting to other parts easy; in the worst case the overhead from the compatibility/configuration layer now requires a faster PLC to run it. Faster PLCs means more power (or less reliable operation) which may require bigger batteries/power supply, etc.