Talking about the ECU flashing scheme based on UDS (Bootloader flashing)

tags: UDS  host computer  vehicle electronics  bootloader

I haven't been on the front line of code development for a long time. Recently, I started a project independently. I feel that the technical engineer is possessed and has regained the enthusiasm for technology in the past.

In the era of software-defined cars, ECU software updates are very important. This requires the ECU to have the BootLoader function.

The auto BootLoader update is updated through the communication link, mainly including CAN, Lin, UART, Ethernet and other communication methods. Now the most used software upgrade is based on CAN communication.

Let's talk about the BootLoader upgrade and refresh scheme based on CAN bus.

To download a new program to the ECU through CAN communication, this process requires three components:

1. ECU controller (lower computer) that supports Bootloader function;

2. Burn the host computer (the host computer on the PC side);

3. CAN connector (CANoe or PCAN, Zhou Ligong CAN box, etc.);

The development work related to the software is mainly: the upper computer and the lower computer.

The main function of the host computer is to read the binary programming file tocertain organization, send this file to the lower computer through the CAN connector.

There are many tools for developing the host computer, and the languages ​​used are mainly high-level languages ​​such as C#/VB.

The host computer mentioned above records the files in a certain organizational manner. This refers to the refreshed protocol. NowThe mainstream is the UDS diagnostic protocol, which is ISO14229 (with the transport layer protocol ISO15765). Some manufacturers also use a calibration-based refresh process, such as the CCP protocol. There are also some manufacturer-defined refresh protocols.

So what are the main tasks to be done in the development of the upper computer?

Mainly include: host computer interface production, binary file (bin, hex, s19, mot, etc. formats) parsing, CAN card (CANoe, pcan or Zhou Ligong CAN or other) driver call, UDS flashing process implementation, etc.

Well, after talking for a long time, it seems to be a bit off topic. Isn't it about BootLoader? Let's start talking about the next machine.

BootLoader actually has two meanings,start upandload. The BootLoader software project is independent of the APP application project and is a project developed separately.

The main function of BootLoader is very simple, just to update the program, but it looks various, and there are many configurable options. The following mainly lists several common configuration items:

1. Whether the host computer supports CAN cards from multiple manufacturers;

2. Whether the host computer supports burning files in multiple formats;

3. Whether the FlashDriver needs to be downloaded from the upper computer or the lower computer has its own FlashDriver;

4. Whether the host computer supports both the UDS protocol and the CCP protocol;

5. Whether the host computer supports the configurable UDS flashing process;

6. Whether the software update is an overall update or a partial update;

7. Whether the lower computer has the function of file backup and software rollback;

8. Whether the lower computer BootLoader has the self-update function (level 2 BootLoader);

In short, there are too many changes in BootLoader, and it is a lot of work to complete a completely general BootLoader solution. Maybe that's why Vector's FBL tools are so expensive.

The development content of BootLoader lower computer mainly includes: FLASH/RAM/EEPROM address allocation, Flash driver development, EEPROM driver development (may require SPI or serial communication, etc.), CAN driver development, UDS protocol stack development, jump function development, etc.

I'll just write here today. I'm taking a break from my busy schedule. The boss called me to put out the fire.

The author's level is limited, and there are deficiencies or errors. I hope colleagues and experts can supplement and criticize.

Welcome to communicate

 

Intelligent Recommendation

UDS-based BootLoader (TC275) (1)

For bootlod, there is a need to pay attention to: Procedure partition; Jump instruction; Partition link file; Flash erase and burn functions; Agreement Stack (UDS); So what should we write for our pro...

[Knowledge Points] Introduction to the general process of UDS flashing

Image source: ISO-14229-1 cover table of Contents 1. Pre-flash 2. Flash 3. After flashing 1. Pre-flash When the diagnostic instrument is connected to the CAN bus, because it is to flash the engine con...

CANoe-based ECU Bootloader Flash Writing Software

Reproduce some of the application-specific protocols for uds written by others for later use. aims: The vehicle ECU needs to update the software, which is realized through the OBD port and realized by...

Flashing about starting tomcat

1. When the tomcat we use is version 8.0 or higher, not only the JDK but also the JRE must be configured 2. Therefore, add environment variables of JDK and JRE to environment variables Add %Java_home%...

About EDAS flashing

Article catalog 1. Because EDAs is based on JDK development, you have to install JDK first and add it in environment variables. 2. Click Startup.bat, it may have a flash 3. Change the contents of the ...

More Recommendation

Automotive Electronics Study Notes --- UDS-based Bootloader

Automotive Electronics Study Notes - UDS-based Bootloader Bootloader, also known as the boot loader, is the first piece of code that runs after the system is powered on, and it is mainly used for soft...

Does the 11 service sent at the end of UDS flashing need a reply?

I did not answer the question I was asked during an interview at a certain company. Now that I think about it, this question is really worth thinking about, so I will summarize the points that need to...

Talking about UDS 14 Service

Article Directory 1. Service overview Second, the message 1. Request message definition 2. Affirmative response 3. Negative response code 4. Message explanation 4.1 Format and content 4.2 Example 1. S...

About IE control flashing solution

The main reason for the standard system control flicker is because you need to draw twice each time you redraw, the first time you draw the background, the second time, the two colors are not the same...

About C # UserControl flashing problem

 Winform has too many control layouts in a single UserControl, and the problem of page flickering occurs when loading. A lot of information has also been checked on the Internet, there are many r...

Copyright  DMCA © 2018-2026 - All Rights Reserved - www.programmersought.com  User Notice

Top