How do automotive firmware engineers do their jobs?
April 9, 2011 12:00 PM Subscribe
Are you an automotive engineer? Do you design engine control module firmware? Do you know or love someone who does? How is that firmware actually written?
I'm interested in learning how automotive engineers actually perform development when they're creating the firmware that runs on a car's ECU. I've got a background in software development and am familiar with drafting specifications and turning them into a delivered product. I've also got some background in embedded systems programming and a know a bit about controls. That is, I know enough to know just how complex something like a car's ECM can be given the huge number of variables involved.
So how do they do it? I can't imagine that there's a team of programmers sitting around hacking Erlang or C... right? I've played with MATLAB and Simulink, and know that you can somehow turn rigorous simulations into code but my impression is that it's not easy or straightforward. Is that what they do? What tools and techniques are the current state of the art at somewhere like Siemens or Bosch or Toyota?
posted by TheNewWazoo to technology (17 answers total) 8 users marked this as a favorite
Why can't you imagine that? Because it's hard to write bug-free C code? Here's a job listing at Tesla Motors to "Develop, enhance and debug new and existing low-level real-time firmware in C." That listing mentions MISRA C, "a software development standard for the C programming language developed by MISRA (Motor Industry Software Reliability Association)." Looks like MISRA is what you follow when you're writing C for stuff that absolutely cannot fail, ever: "MISRA has evolved as a widely accepted model for best practices by leading developers in sectors including aerospace, telecom, medical devices, defense, railway, and others."
posted by zsazsa at 12:48 PM on April 9, 2011 [2 favorites]