Embedded code generator
What is UDS?
The UDS (Unified Diagnostic Services) diagnostic protocol is a diagnostic communication protocol in the automotive electronic ECU environment and is specified in ISO 14229. New vehicles on the market today have a diagnostic interface for out-of-vehicle diagnostics, which allows us to connect to the vehicle's bus system with diagnostic tools. Thus, the messages defined in the UDS can be sent to the controllers (known in the industry as ECUs) that support the UDS service. This allows us to access the fault memory of each control unit or update the ECU's program with new firmware.
UDS Code Generator
The goal of this project was to create a generic CAN bus transport layer code that was written with reference to ISO 15765-2 2016. It has the following characteristics:
- Support multiple fault handling mechanisms
- Supports 1-0xfffffff bytes of data transfer (not limited to 4095 bytes)
- Different CAN DLC lengths (8-0x0f) are supported, i.e. CAN-FD is supported
- Platform independent, supports embedded and PC compilation and operation
- Support multiple channels to run without interference when RAM resources are sufficient
This article introduces a common bootloader implementation method for Infineon TLE989X series. The bootloader can remotely upgrade the product firmware (program) through any communication port, which solves the trouble of MCU burning program that requires disassembling the device or professional personnel, special tools, and field operation. The bootloader is integrated with some UDS (14229, 15765 specification) services and TSMaster upper computer through CANFD interface to download APP programs.