Flashing with CCP and XCP Using the CCP/XCP protocol for flash programming Less widely used but technically feasible is the option of replacing the entire application by flashing via CCP and XCP. Advantages > Calibration and reprogramming with the same software component > Use CANape as a flash tool > Reset-safe solutions are available Failsafe reprogramming Unfortunately, the use of a flash kernel has one disadvantage: If the data transfer is interrupted during programming, this might lead to a catastrophic failure of the ECU. This can be remedied by using a CCP or XCP bootloader (see illustration, right). It is perma-nently The CAN Calibration Protocol (CCP) – and its successor, the Univer-sal stored in a protected memory area. The bootloader is Measurement and Calibration Protocol (XCP) – are ASAM always called after the start, and it checks the application. The application is not started unless it is valid and complete. A flash abort always causes the bootloader to assume control, and the flash process can be resumed at any time. Standards that are used to measure and calibrate internal ECU parameters. XCP offers several different physical interfaces such as CAN, FlexRay, Ethernet, USB and SPI/SCI. The calibration tool CANape from Vector supports all of these interfaces. Tool support The flash download is executed by CANape. ◆ Application areas Flashing via CCP and XCP is primarily used to update calibration data and parameter data in the calibration process. After a chan-ge has been made to the data in the calibration tool, the new data is written to the ECU’s flash memory via the bus system. First, a flash kernel (see illustration, left) is transferred to the ECU, is written into RAM and is started by the application. Besides con-taining 5/8 the CCP and XCP protocols for communication, it also con-tains routines for erasing and programming flash memory. The subsequent download of ECU data is handled by the kernel, and the data is transferred to the flash chip. This achieves an especial-ly space-saving solution. Flashing via XCP using a flash kernel Flashing via an XCP bootloader