Flash BootloaderSoftware for Reprogramming ECUs
ECU Programming via CAN, LIN, FlexRay, MOST and Ethernet
The Vector Flash Bootloader gives you a universal and compact solution for reprogramming ECUs quickly, efficiently and securely. Reliable Flash Bootloaders from Vector have been in use worldwide for over 15-years, beginning with CAN and more recently with LIN, FlexRay, MOST and Ethernet bus systems.
You can obtain the Flash Bootloader in many OEM-specific variants and for many different microcontrollers. To meet your project requirements you can configure it with the PC-based configuration tool GENy and DaVinci Configurator Pro respectively.
The Flash Bootloader may be used in either conventional or AUTOSAR-conformant ECUs. You can also update ECUs with POSIX-compatible operating systems such as Linux in a time-saving and efficient way.
- Efficient and reliable reprogramming of ECUs – without having to remove the ECU
- Low memory requirement in the ECU
- Available for most OEMs and many microcontroller platforms
- Proven flash solution based on many years of use in numerous development and production projects
Case Study WM Motor
Regular software updates are essential for modern vehicles. Read the Case Study to learn how MICROSAR.OTA and Flash Bootloader help the Chinese vehicle manufacturer WM Motor to achieve its demand for rapid and reliable OTA updates.
The Vector Flash Bootloader is a universal solution for the reprogramming of ECUs during development, while in production or while in service. It conforms to the specifications of automotive OEMs and is continually coordinated with them. Reprogramming is executed with a flash tool such as vFlash from Vector. Scripts needed for vFlash are supplied with the Flash Bootloader.
The Flash Bootloader permits programming on single or multi-processor platforms. It includes the option for programming different memory types connected either internally or externally. Due to its low memory requirement, the Bootloader is also well suited for microcontrollers that have limited resources.
The Bootloader is stored in a protected ECU memory area and is started as the first software instance in the boot phase after a reset. It then checks whether a flash request or valid application software exists. If the ECU is to be reprogrammed, the Bootloader starts reprogramming and - after verifying access authorization - loads the flash driver from the bus system to the ECU’s RAM memory if needed. Then it erases the old ECU software and programs the flash memory with the new data it receives over the bus system. A validation of the ECU software is performed after the data transfer. If the flash procedure is interrupted, it can be repeated at any time.
The communication with the flash tool is carried out via the bus-specific communication stack. Hereby, the Vector Flash Bootloader supports all bus systems: CAN, CAN-FD, LIN, FlexRay, MOST and Ethernet.
- Bootloader as configurable C source code
- Flash driver for your specific hardware platform
- GENy configuration tool
- Flash scripts for controlling the download process
- HexView for preparing flash data and containers during development
You configure the Bootloader with the DaVinci Configurator Pro or the GENy configuration tool, adapting it to the specific requirements of your application. Further modifications and extensions are possible using callback functions.
The programming tool vFlash
vFlash is a very easy-to-use tool for programming ECUs. It supports CAN, CAN-FD, LIN, FlexRay and Ethernet and more than 50 different flash specifications. Additionally, vFlash can easily be extended by a plugin concept.
Management of flash data: ODXStudio
ODXStudio is a user-oriented authoring tool for diagnostic data in ODX format.
The universal measurement and calibration tool from Vector: CANape
Use CANape for flashing with XCP during ECU development.
The Flash Bootloader includes a flash driver that matches the hardware platform. It contains system-based routines for reliably erasing and programming nonvolatile memory chips. All Vector flash drivers have low resource requirements, and
they conform to the HIS flash driver specification.
Option Security for the Vector Flash Bootloader lets you prevent flashing and unauthorized execution of protected software in the ECU effectively. The option contains secure cryptographic functions from the company Cryptovision. Upon request, you can also obtain extended Seed/Key methods for ECU access protection.
The Vector Flash Bootloader for AUTOSAR-conformant ECUs is also available with suitable extensions for POSIX-compatible operating systems like Linux. The communication with the flash tool is realized via Ethernet per ISO 13400-2 (DoIP) in accordance with OEM-specific download specifications. The Flash Bootloader is based on the Linux runtime environment, and besides offering an address-based software download, it also offers a file-based software download. This makes the process of updating software – including individual software sections – very efficient during development, in production and in vehicle service. Supplemental security options which are available effectively protect ECUs with sensitive vehicle data. The Vector Flash Bootloader is available for all major automotive OEMs and embedded Linux systems in the automotive industry. If necessary, the basic software can be used for other POSIX-compatible operating systems.
The Universal Measurement and Calibration Protocol (XCP) was developed for measuring and calibrating internal ECU parameters. It supports different physical interfaces such as CAN, FlexRay, Ethernet, USB and SPI/SCI. This circumstance also allows you to re-program ECUs without having to physically remove them from the vehicle. All that you need is an XCP software module in the ECU as well as a universal calibration tool such as CANape from Vector.
For reprogramming ECUs via a bus system, Vector provides you with a Flash Bootloader that supports the OEM's specifications and is aligned with the respective hardware. This enables you to update the application, or parts of the application, without removing the ECU. The Bootloader remains in flash memory for the lifetime of the ECU to ensure continuous control over the reprogramming process. In certain cases the requirements of the Bootloader may change overtime, which may make it necessary to replace the Bootloader. In order to replace the Bootloader without having to remove the ECU, you will need to use an updater configured specifically for the respective Bootloader.
The Bootloader Updater supports the exchange of the Flash Bootloader in the vehicle. It uses the security mechanisms in the controller for power-up handling to minimize the risk of a complete breakdown of the ECU as a result of external disturbances.
The option data compression of the Vector Flash Bootloader lets you efficiently compress all of your flash data. It utilizes a LZ77 method, is optimized for use in automotive ECUs and available on all microcontrollers for which a Bootloader is available.
Some automotive OEMs specify the use of data compression in their flash procedures to accelerate the flash procedure at a constant baudrate. Compression of the flash data saves time even for small quantities of data. Savings are maximized when flashing large quantities of data (e.g. in the Infotainment area). Compression also offers many benefits when short cycle times are specified, as in end-of-line programming.
- Option "Pipelined programming" lets you program the flash memory in parallel to receiving the next data block. The time for the physical flash programming is used to transmit the next data block, which significantly shortens download time.
- Option "Pipelined verification" lets you verify the written flash data in parallel to receiving the data blocks, similar to parallel programming of the flash memory.
- Option "Delta download" yields tremendous savings in time and bandwidth, because when updating it is not necessary to load the entire program code, rather only the changes that occurred compared to the prior version of the program. The new software level is generated right in the ECU.