• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

ECM fast boot

Joined
Mar 21, 2021
Messages
5,583 (3.61/day)
Location
Colorado, U.S.A.
System Name CyberPowerPC ET8070
Processor Intel Core i5-10400F
Motherboard Gigabyte B460M DS3H AC-Y1
Memory 2 x Crucial Ballistix 8GB DDR4-3000
Video Card(s) MSI Nvidia GeForce GTX 1660 Super
Storage Boot: Intel OPTANE SSD P1600X Series 118GB M.2 PCIE
Display(s) Dell P2416D (2560 x 1440)
Power Supply EVGA 500W1 (modified to have two bridge rectifiers)
Software Windows 11 Home
I assume an ECM (Electronic control module for a car) boots in less than 1 second; does it run directly off flash in order to achive this?
 
Last edited:
It uses programmable read only memory.
 
It likely uses on-chip memory.
 
It has less to do with how it loads and more to do with WHAT it loads.

It isn't booting a full general purpose OS.
 
Vehicle computers are very powerful, but when compared to your PC or laptop, cell phone, or even tablet, they are almost child's play. Because these computers have only a small handful or two of functions/processes to control and monitor, those processes are hard and firm-ware coded into the system and really take up only a couple (if that) megabytes of data. And it can easily do this with a 40MHz 32-bit processor. Just about everything is on a single chip. And note that includes several redundant, error-checking, and fail-safe processes too.

I did learn something new when looking into this. There are 4 common [micro] operating systems used by the majority of auto makers; QNX, Autosar (AUTomotive Open System ARchitecture), AGL (Automotive Grade Linux), and that last is WEA (Windows Embedded Automotive). I thought it was called Windows CE Auto - but I forgive myself because keeping up with the ever-changing, often confusing, naming conventions used by Microsoft is a full-time job, and I'm retired! ;)
 
Vehicle computers are very powerful, but when compared to your PC or laptop, cell phone, or even tablet, they are almost child's play. Because these computers have only a small handful or two of functions/processes to control and monitor, those processes are hard and firm-ware coded into the system and really take up only a couple (if that) megabytes of data. And it can easily do this with a 40MHz 32-bit processor. Just about everything is on a single chip. And note that includes several redundant, error-checking, and fail-safe processes too.

I did learn something new when looking into this. There are 4 common [micro] operating systems used by the majority of auto makers; QNX, Autosar (AUTomotive Open System ARchitecture), AGL (Automotive Grade Linux), and that last is WEA (Windows Embedded Automotive). I thought it was called Windows CE Auto - but I forgive myself because keeping up with the ever-changing, often confusing, naming conventions used by Microsoft is a full-time job, and I'm retired! ;)
We also need to keep in mind that purpose built microcontrollers tend to have far less memory than a general purpose computer. Take the Raspberry Pi Pico, a true low cost microcontroller, it has something like 264kb of memory with onboard flash being accessed via QSPI so there theoretically could be enough bandwidth to load the application into memory in a fraction of a second. I think people need to realize is that when you're working with embedded systems, everything the application should be doing is related to the problem being solved. So startup and init times will often be far less as a result.

Let's take a toy use case of replacing a carburetor on a small engine with a fuel injector. If we were to build a microcontroller to do such a thing, we only need a handful of inputs. Air temp, engine speed, air-speed density (manifold absolute pressure if you will,) and an "on" switch. Everything else needed can be assumed to be static values or something you can gather from an already created lookup table. All you need to do is have one core reading sensors and putting those values plus calculated values into memory, the other core then controls PWM output for a fuel injector and things like cut-off for over-rev'ing. Stuff like that. I would be surprised if a basic implementation took more than 16kb and initializing the application will take nanoseconds at default clocks. Now obviously modern day vehicles are more complicated than that, particularly when you have an automatic transmission. However with a standard transmission vehicle, the ECU only needs to run the engine which actually makes for a pretty simple design for ECUs, particularly if it's port injected and you don't need the precise timing for direct injection.

Something also worth noting is that in a car, the ECU might not be turned off when the car isn't running. It may be running in a low power state. The PI Pico has a "dormant" state where most everything shuts down, but memory is still maintained. The draw in this situation is measures in 10s of milli-amps at 3v IIRC. Coming out of a dormant state is almost instant for all intents and purposes, so you might not even need to init everything for a case like in a car where there is a relatively large battery compared to the dormant power draw.

Either way, the tl;dr is that purpose built software for microcontrollers are faster to start and smaller in size because they're doing only what they need to and nothing more, unlike general purpose computers which need to setup a lot because it could be asked to do just about anything and be expected to excel at it which requires far more software and far more memory, all of which contributes to time it takes to do a particular task.

I'll get off my soapbox now. :)
 
Many thanks to all; much food for thought.
 
Many thanks to all; much food for thought.
I would encourage everyone whose interested in microcontrollers to try out a PI Pico. At 4-5 USD a pop, it's a really cheap thing to get started with and you'll find out first hand how quickly these things start as it's practically instantly for all of the example applications they provide.
 
We also need to keep in mind that purpose built microcontrollers tend to have far less memory than a general purpose computer.
Right - which is how they can fit it all on a single chip.
 
Back
Top