Currently, the electronic and electrical architecture in vehicles is becoming increasingly complex, alongside the electrification, intelligence, connectivity, and sharing of automobiles, the development of software is taking up a larger proportion in vehicles. The frequency of software updates is also rising. Moreover, throughout the entire life cycle of a vehicle, including the research and development phase, production phase, and after-sales service phase, the ability to update software is required at each stage. As a result, the demand from customers for software program updates is becoming more urgent.。
For vehicle manufacturers or suppliers, a BootLoader is an essential feature for controller development. Moreover, different vehicle manufacturers have their own specifications for program updates, and the BootLoader drivers are dependent on different chips. Therefore, to meet the varying program update specifications of vehicle manufacturers and to be compatible with different chips, ZC Technology has provided a comprehensive BootLoader solution—ZC.QingLong BootLoader. The ZC.QingLong BootLoader is suitable for the program update specifications of various vehicle manufacturers as well as for chips from different chip manufacturers, allowing customers to focus more on the development of their own controller products.
In the GEEA2.0 electronic and electrical architecture, the implementation of features such as the PBL-SBL BootLoader architecture, Secure Boot, and VBF encryption signature verification within the BootLoader significantly reduces the security risks associated with MCU updates, greatly enhancing the security and reliability of the BootLoader.

Ø Suitable for GEEA2.0 Platform Specifications
Ø Supports PBL-SBL BootLoader Architecture
Ø Supports update functions for applications and data
Ø Supports communication via CAN/UART, etc.
Ø Supports UART communication between master and slave nodes for flashing
Ø Adapts to ZC.XuanWu program update tool, providing a complete program update solution
Ø Supports symmetric encryption algorithms SHA256 and AES128
Ø Supports asymmetric encryption algorithms ECC and RSA2048
Ø Supports parsing of VBF files
Ø Supports compression and decompression using the LZSS compression algorithm

ZC.XuanWu—Program Update Tool

The memory of the Electronic Control Unit (ECU) is divided into PFLASH and RAM. The PFLASH is segmented into the Application & Data area and the BootLoader area, while the RAM is segmented into the SBL (Secondary BootLoader) and Data area.。
ZC.QingLong BootLoader supports the BootLoader state transition process as specified in the GEEA2.0 standard. Below is a simplified illustration of the BootLoader state transitions:

When the Application performs a power-on start or executes a reset start, the Primary BootLoader (PBL) should begin executing in the initialization state, where the PBL determines whether the Application should be launched.
If the ECU deems that it has a valid Application, the PBL will launch the Application.
If the Application receives a diagnostic request DiagnosticSessionControl, it will transition back to the PBL by executing a Reset.。
If a Reset is initiated by the diagnostic request DiagnosticSessionControl (programmingSession) Warm start from within the Application, or if no valid Application is present, the system enters the programmingSession state.。
If the startup type is Cold start and a valid Application exists, then the Application will launch.
ZC.Qinglong BootLoader supports the bootloader flashing requirements of the GEEA 2.0 specification, and the following are some of the implemented GEEA 2.0 specification requirements:
Ø Secure Flashing:

ZC.QingLong BootLoader performs authenticity verification of data using the Root Public Key stored in non-volatile memory, through the asymmetric encryption algorithm RSA. If the verification is successful, it then uses the symmetric encryption algorithm SHA256 and the asymmetric algorithm RSA2048 to verify the integrity of the data, ensuring a secure flashing process.。
Ø Compression Algorithm:
ZC.QingLong BootLoader supports parsing data compressed with the LZSS compression algorithm and encapsulating the corresponding data structures. It also supports the flashing of uncompressed data.
Ø Master-Slav Bootloader :
ZC.QingLong BootLoader supports master-slave flashing functionality. The BootLoader on the master node forwards the Application data transmitted by the host computer to the BootLoader on the slave node via UART, and the update of the Application on the slave node is completed through the slave BootLoader.
Ø Supports VBF File Download:
By integrating with the ZC.XuanWu program update tool, ZC.QingLong BootLoader can parse the data within VBF files, download the data into the ECU, and verify the integrity and reliability using the Verification Block and Signature data carried within the VBF, in accordance with the GEEA2.0 specification. This ensures that the update process is secure and the data has not been tampered with or corrupted during transmission.


ZC.QingLong BOOTLOADER is a program refreshing software (BOOTLOADER) independently developed by ZC Technology. Controllers using the ZC.QingLong BOOTLOADER can achieve the update function of applications through various communication methods such as CAN, LIN, SPI, UART, etc. Currently, ZC.QingLong BOOTLOADER has supported chips from multiple manufacturers including NXP, INFINEON, RENESAS, ST, etc., and complies with the program refreshing specifications of various vehicle manufacturers. It also offers customized development services.
This document describes the support for the GEEA2.0 specification based on the SPC58NN platform by the ZC.QingLong BootLoader. Currently, it has implemented support for VBF file flashing, master-slave BootLoader flashing, LZSS compression algorithm, digital signature authentication, and other functional requirements, meeting most of the flashing needs in the GEEA2.0 specification.
ZC.QingLong BootLoader can be applied to the program refreshing function of controllers using the SPC58NN series of chips. The supported controllers include:
Ø Body Control Module
Ø Gateway Controller
Ø In-vehicle Infotainment System Controller
Ø Electronic Parking Brake System
Ø Tire Pressure Monitoring System
Ø Battery Management System
Ø Air Conditioning Control System
Ø Window Control System
Ø Door Control System



ZC. QingLong BootLoader software implements a layered architecture, which is divided into the Hardware Driver Layer (HwDrv), ECU Abstraction Layer (EcuAbstr), System Service Layer (SysSer), and Boot Management Layer (BootManager). The entire software is modularized, where:
Ø HwDrv
The Hardware Driver Layer implements the drivers for the hardware modules of a chip, and it is dependent on the specific chip. Different chips require the replacement of the drivers in this layer. It supports UART drivers to enable communication between master and slave nodes.
Ø EcuAbstr
The ECU Abstraction Layer is an abstraction of the Electronic Control Unit (ECU), including drivers external to the Microcontroller Unit (MCU).
Ø SysSer
The System Service Layer implements functions such as communication, diagnostics, memory management, watchdog management, and security management. It supports the LZSS compression algorithm, the SHA256 symmetric encryption algorithm, and the RSA2048 asymmetric encryption algorithm.
Ø BootManager
The Boot Management Layer is responsible for the scheduling and management of the entire BootLoader software module, as well as the interface management with the application.

Qinglong Software Copyright Registration Certificate

Qinglong Software Copyright Registration Certificate

Click to download the product manual