Comment on When EV startups shut down, will their cars still work?
AmbiguousProps@lemmy.today 2 months agoAbsolutely, in that the more software in a vehicle the more likely it is to brick once a company folds. ICE cars are less likely since they don’t have most of the software, but there are some that are computers on wheels still (and I’m sure the amount will continue to increase).
UsernameHere@lemmy.world 2 months ago
ICE vehicles have more software because they have more components. They have a transmission control module and an engine control module both of which have a lot of sensors to read and outputs to control. Much more than a simple EV would have.
Aceticon@lemmy.world 2 months ago
In my experience (mostly as a hobbyist and not in cars), embedded systems software (i.e. running in microcontrollers) is way smaller than the kind of stuff running in entertainment systems which require the power of microprocessors.
It’s pretty much an entirelly different class of software and even the libraries used are done with entirelly different primary objectives (generally small size is more important than just about everything else in the embedded system world).
ICE cars will have more microcontrollers (all communicating with each other via CAN), but the sofware within most of them is something that fits a few tens of KB of memory, whilst the software managing the used interface even if the screen is only 1024x768 (which looks like crap even compared to the cheapest of smartphones), will be tens of hundreds of megas worth of code + data.
UsernameHere@lemmy.world 2 months ago
Right but both EVs and ICE vehicles have infotainment systems. ICE vehicles have more components that require software in addition to that.
Aceticon@lemmy.world 2 months ago
My point is that vehicle control software that ends up in centralized systems tends to be bigger because the philosophy of making software for embedded systems (not just the core program but also libraries) is very different than that for systems with microprocessors: embedded systems with microcontrollers tend to have a few tends of KB of program memory per computing node and hence don’t even have an OS most of the time and the programs have to be coded to fit there as do the libraries, whilst the same functionality implemented in a centralized system alongside with that for things like UI touch controls, route navigation, audio system control, interfacing with smartphones and so on (doesn’t even need to include infotainment), tends to have more lines of code even and use big libraries simply because there is no real memory size pressure on coders to make the programs ultra small and use tiny libraries.
So the paradox is that if you add more processing nodes to a system (such as in a car), if most are embedded systems you will probably end up with fewer lines of code than if most of that same software was implemented for and running in a more powerful central system, purelly because the software design philosophy for microcontrollers emphasises smaller size and less overhead (hence why they don’t usually have an OS), whilst that for systems with actual microprocessors does not hence the software tends to be a lot more bloated.
So if you measure “amount of software” by “code size”, then ICEs will have less software because they tend to use a distributed system design with lots of small computing nodes, for historical reasons (they existed back in the days when electronics was moving to using software running in microcontrollers instead of discrete logic in hardware or PLAs) and possible also because some of the things they have to do which are not required for EVs (such as injection control) have very tight time constraints and the best way to make sure your software reliably works with ms or sub-ms margins is to not even have an OS and coding that software to be small with very tightly controlled code execution in something like C and even with ASM for more critical stuff.
However if you measure “amount of software” by “number of individual functionalities it covers” (so, roughly, the number of programs in the whole system), then your are correct that all else being the same ICEs have more software because more functions have to be covered to control an ICE system.