Happy to Help!

This website doesn't store cookies. Enjoy the experience, without worrying about your data!

Great, thanks!

Flash Bootloader solutions for ECU Reprogramming


Bootloader Software Solution for Automotive ECU

Designed by our experienced embedded software developers, this time-tested, stable and ready-to-deploy flash bootloader solution has been successfully integrated in a number of production programs across US, India and Europe.

This Low Memory footprint (both ROM and RAM) bootloader software solution for automotive is compatible with application-level protocols like UDS on CAN, UDS on IP, J1939 and KWP2000.

This bootloader also supports communication protocols like CAN FD, CAN and LIN.

It is compatible with both RTOS and non-RTOS based applications. And the reprogramming code sequence is customizable as per the requirements of your target application.

Flash Bootloader Development and Integration Services:

Hardware Platform Consulting

Hardware Platform Consulting for Bootloader Development Project

  • Requirement gathering and application analysis workshops with our automotive experts
  • Hardware platform evaluation and project roadmap strategy
  • Flash Bootloader software development for 8 bits, 16 bits and 32 bits microcontroller platform as per the project requirements
  • Expertise in development of:
  • ARM Bootloader
  • AVR Bootloader
  • STM32 Bootloader
  • Infineon Bootloader

    Testing support

    ECU Reprogramming Tools Development and End-of-Line Testing Support

  • Design and development of customized ECU Flashing tool (PC/Web based)
  • Expertise in  development of GUI-based and Command line-based (for End-of-Line testing) ECU reprogramming tool
  • Support for tools configuration and testing of standard ECU reprogramming tools like PCAN, VFlash, ValueCAN3 and more
  • Support for ECU Programming using Vflash tool

    Flash Bootloader development services

    Flash Bootloader Development Services

  • Bootloader sequence development as per the customer/project requirements (Jump to Boot, Erase App, Download App, Validate and Reset sequence)
  • Memory mapping between the Flash Bootloader software and automotive ECU Application
  • CAPL Script or Bus Master Script development to support ECU reprogramming
  • Base software development (Flash driver, MCU, Timer and more) in accordance with the bootloader software design
  • Flash Bootloader software integration with the customer’s hardware platform

    In-vehicle communication and application layer services

    In-vehicle Communication and Application Layer Services

  • Support for Flash bootloader development for ECU Flashing over CAN FD, CAN, LIN, UART, SPI, I2C, Ethernet communication protocols
  • Support for development of flash bootloader software based on UDS over CAN, UDS over IP (DoIP), J1939, KWP 2000, J1587 protocols
  • Custom bootloader development for ECU Flashing over any proprietary communication protocol as per the customer’s requirement

    Secure bootloader software access and data integrity services

    Secure Flash Bootloader Software Access and Data Integrity Services

  • Seed and Key Algorithm implementation for secure and verified access to flash bootloader software for ECU reprogramming or software update
  • Checksum strategy (like CRC16) implementation to ensure vehicle data integrity while ECU Programming

    Secure bootloader software access and data integrity services

    Secure Boot Implementation for Automotive ECU Reprogramming

  • Implementation of Hardware Security Module (HSM) (as per the Microcontroller Platform specifications) t and integration with the existing Flash Bootloader Software
  • Support for Encryption and Decryption of flashing files
  • Feature development to avoid unintended read and write functionality in Flash Bootloader
  • Support for implementation of Digital Signature, for logical blocks
  • Support for data compression and decompression, in order to facilitate fast and efficient downloading


    Meet Our Automotive Leaders


    Flash Bootloader Factsheet:

    Flash Bootloader-PDF-Image

    Read this reference guide to know in detail about our Flash Bootloader solution used for ECU reprogramming.

    Download this Flash Bootloader PDF to get following information:

    • Overview of industry-wide proven and stable Flash Bootloader solution
    • Bootloader Solution Kit: Script & Tools development, Primary and Secondary bootloader
    • Bootloader solution features and memory requirements
    • Key Service offerings(development, testing, and maintenance)
    • Compatibility with different vehicle communication protocols
    • Customizable ECU programming code sequence

    Refer to the Flash Bootloader FAQ sections for more details.


    Video Explaining Different Types of Flash Bootloaders

    Related Blogs: Learn More About Flash Bootloader Solutions and ECU Flashing


    FAQs About Flash Bootloader Software


      Ans. Yes, our designed Bootloader software is compatible with popularly used communication protocols (either wired/wireless).
      Following is the indicative list of protocols which are compatible with our bootloader design:

      1. UART
      2. SPI
      3. CAN
      4. LIN
      5. Ethernet
      6. Bluetooth
      7. Kline
      Ans. Yes. The ECU reprogramming strategy can be customized according to your application specific requirements.
      Ans. The Bootloader code is executed first with the initiation of the system.
      If there is a valid application present in the application block, then the control jumps from Boot to the application block.
      Ans. We can help you implement ‘Secure Boot’ in the Flash Bootloader software. The following is our 3-tier approach to implement ‘Secure Boot’:

      1. We implement the Hardware Security Module (HSM) specific to the Microcontroller platform. We provide Support for integration of HSM with the existing Flash Bootloader Software.
      2. We develop Encryption and Decryption algorithms for flashing files, based on standard algorithms. This helps to bolster the security of ECU reprogramming process.
      3. We also ensure to integrate a feature that restricts any unintended read and write functionality in Flash Bootloader.
      Ans. While the ECU reprogramming sequence executes, the hex byte gets flashed. After ECU flashing of the entire hex byte, the bootloader will validate the flashed area by using the CRC algorithm.
      Ans. The application and the bootloader can both be reprogrammed using two different programming sequences.

      The primary bootloader is used for application reprogramming and the secondary bootloader is used for bootloader reprogramming.

      Both the codes are stored in the program memory of the microcontroller.

      Ans. Yes. We provide development services for thePC based application. The application development can be done either by using QT C++ scripting for window application or CAPL + CANoE scripting depending on the user specification.
      Ans. Our Bootloader programming module supports different types of application-level protocol namely UDS, J1939 and KWP2000.
      Ans. Yes, our bootloader is compatible with both non-RTOS and RTOS based application platforms.
      Ans. Embitel’s Bootloader solution ensures a low memory footprint for both ROM and RAM. The bootloader programming occupies the following space of memory block:

      1. 12 to 15 Kilo Bytes of ROM
      2. 2 to 3 Kilo Bytes of RAM
      Ans. After the requirement gathering and application analysis phase, the detailed design documentation is completed based on the customer’s inputs and requirements. This is part of our Service Level Agreement (SLA).
      Ans. Yes. As a part of our SLA, we provide a planned maintenance and support services depending upon the specific project requirements.
      Ans. We have expertise in development of flash bootloaders including ARM bootloader, STM32 Bootloader, Infineon Bootloader etc. If you wish to build a flash bootloader for a different microprocessor family, we can provide necessary support for that.

    Features of Flash Bootloader Software Solution Designed by Our Automotive Engineers:

    • Our proprietary Flash Bootloader software solution is compatible with all popular CPU architectures available in the market
    • Low memory footprint (both ROM and RAM) of the automotive grade bootloader solution
    • Leverage the benefits of the layered architecture of our flash bootloader solution
    • Well-structured and well-defined documentations of the bootloader solution
    • Expertise in development of both Primary and Secondary Flash Bootloader solution
    • ECU Flashing support using tools like PCAN, VFlash and ValueCAN3



    Knowledge Bytes
      What is Flash Bootloader Software?

      Flash Bootloader software, which is integrated with an automotive ECU (electronic control unit) application, facilitates the ECU reprogramming and/or software update in an automotive ECU.

      Integration of flash bootloader software eliminates the need for specialized hardware (like JTAG programmer) and physical removal of the ECU from the vehicle for ECU reprogramming or application software update.

      Flash Bootloader software design is completely independent of the ECU application (which needs to be updated or flashed).

      Learn about the Generic Bootloader Software Architecture:
      Flash Bootloader Architecture

      What are the different types of Bootloaders?

      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 ensures low memory footprint of the bootloader software.


      Flash Bootloader Architecture2


      • 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 ECU 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.
      Learn about the UDS-based Bootloader Software Architecture
      Architecture of UDS-based Bootloader

        • 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 (Flash-Erase and Application Validation)
      • Request Download
      • Transfer Data
      • Transfer Exit
      • Clear DTC

      Learn about the J9139-based Bootloader Architecture
      Architecture of J1939 based Bootloader

      • 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)

    Contact Us


     I agree to allow this website to store my submitted data. This data can be used only for responding to my enquiry and/or send related information about technology services and solutions.