In simple terms, FlashBootloader is a software module "embedded" in an automotive ECU that facilitates ECU reprogramming and/or software update of the ported application. The Flash Bootloader is an essential building block that kicks in before ECU application software is allowed to start during the system boot.
2. Embitel Technologies International presence:
In simple terms, FlashBootloader is a software module "embedded" in an automotive ECU that facilitates ECU
reprogramming and/or software update of the ported application.
The Flash Bootloader is an essential building block that kicks in before ECU application software is allowed to start during
the system boot.
Analogous to a security check, once the system is powered on, the Bootloader software scans the system for irregularities
in software modules, and then loads ECU applications into their specific locations in the system memory.
Understanding What is Flash Bootloader Software?
A key advantage of the Flash Bootloader software is the ability to update or re-programme specific
software modules, without having to plug in specialized hardware into the system - for example, a
JTAG programmer.
The Bootloader can also be understood as a program manager that receives and writes new
program information into the processor memory, using communication protocols like USART, CAN,
LIN, SPI, I2C, Ethernet, and many others.
3. Embitel Technologies International presence:
There are primarily two types of Bootloaders: –
Primary or Single Bootloader (PBL): Primary Bootloader (PBL) is installed in the ROM and is the first block to execute on
boot reset. The main function of the Primary Bootloader is to download the Secondary Bootloader in the RAM of the
automotive ECU and activate the SBL.
Secondary Bootloader (SBL): The Secondary Bootloader is used for reprogramming and/or software update of the
automotive ECU application software.
The above mentioned software architecture of the Flash Bootloader ensure low memory footprint of the bootloader
software.
What are the different types of Bootloaders?
4. Embitel Technologies International presence:
Learn about the Generic Bootloader Software Architecture:
The Flash Bootloader is programmed in the EOL Station and is loaded
on the microcontroller Flash memory (which stores both the
bootloader software and ECU application software).
If the applications are validated, the software control is moved to the
automotive ECU application software. If not validated, then control
of the software remains with the Bootloader.
The Bootloader communicates with reprogramming tools through
serial communication protocols (UART, LIN, SPI, CAN, Ethernet, etc.)
and can reprogram the ECU application software.
The Bootloader software also detects, reports, and manages errors
like power failures, loss of communication, and Flash-write errors.
Flash error protection is usually accomplished by storing a checksum
or Cyclic Redundancy Code (CRC) for the ECU application.
5. Embitel Technologies International presence:
Learn about the UDS-based Bootloader Software Architecture
A secure way of reprogramming the ECU Application
software can be achieved by using a UDS-based (Flash
Bootloader software, which also contains diagnostics
services).
Multi-packet data is handled by the Transport layer
using ISOTP modules. The services listed below are
used in the UDS-based Bootloader software:
• Diagnostics Session Control
• ECU Reset
• Routine Control
• Request Download
• Transfer Data
• Transfer Exit
• Clear DTC
6. Embitel Technologies International presence:
Learn about the J9139-based Bootloader Architecture
Secure reprogramming of the ECU Application
software is also possible using the J1939-based Flash
Bootloader software.
It uses CAN communication protocol with a 250kbps
rate. Multi-packet data will be handled by the
Transport layer - J1939/21 - TP.
The following layers are in the J1939 Bootloader
software:
• J1939/21 - Datalink and TP
• J1939/81 - Network Management Layer
• J1939/71 - Application Layer
• J1939/73 - Diagnostic Layer (DM3, DM11, DM14,
DM15, and DM16)