30
' 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V2.06 2011-11-17 Vector Embedded Solutions Embedded Software for Flash Bootloader

Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

  • Upload
    vankiet

  • View
    221

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

V2.06 2011-11-17

Vector Embedded Solutions

Embedded Software for Flash Bootloader

Page 2: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 2

Vector�s Embedded Software Components

DiagnosticsHardware control CAN / LIN communicationRe-ProgrammingMessage handling

Application

Executable

CompilerLinker

Customer specifichardware

Physical busCAN LIN

CANdelaStudio

CDD

ODX

CDDT

Your task � Vector�s Solutions

OILGeneration

OIL ConfigurationOperating System

osCAN

!FlashCode

Flashtool

!Database CANdb++

!CANalyzer

CANoeCANape

GenerationTool

Application

Communication Stack

CANbedded CANbedded LIN Communication

Flash Programming

CANfbl

Services

FlexRay

Page 3: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 3

Flash Bootloader Introduction

vFlash

Bus System

ECUs with Bootloader

Usage of Flash! Development! EOL programming! After-Sales Programming

Overview

Page 4: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 4

Flash Bootloader Introduction

New hardware platforms will be

supported on request

Currently more than 40 supported hardware platforms

Very hardware dependent

Page 5: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 5

Flash Bootloader Introduction

ECUs with BootloaderVector knows what the OEMs want

and provides it

BMW

Daimler

GM

Renault

Nissan

Ford

VW/Audi

! Flash programming according to ISO 14230 (�K-Line�)

! Flash programming via CAN according to ISO 15765-3 (WD) Protocols: KWP-2000 on CAN, ISO 14229 (UDS)

! Flash programming according to ASAM Protocols: CCP (�CAN Calibration Protocol�), XCP (�Universal Measurement and Calibration Protocol�)

Hyundai

Ssangyong

PSA

Porsche

Fiat

GAC

Chrysler

OEM independent

OEM specific

Page 6: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 6

Flash Bootloader Introduction

Vector offers flash solutions for usual bus systems in the automotive environment

Bus System CAN LIN FlexRay MOST ETHERNET

Support for multiple bus systems

Page 7: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 7

Flash Bootloader Introduction

Vector Flash Bootloader Software is Source Code.

include <sys/types.h>

#include <sys/stat.h>

#include <stdio.h>

#ifndef S_ISREG

#define S_IFREG _S_IFREG

#endif

#ifndef S_IFMT

#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)

#endif /* not S_ISREG */

#ifndef O_BINARY

#ifdef _O_BINARY

#define O_BINARY _O_BINARY

#else

#define O_BINARY 0

#endif

#endif

#include "filemap.h"

int filemap(const char *name,

void (*processor)(const void *, size_t, const char *, void *arg),

void *arg)

{

size_t nbytes;

int fd;

int n;

struct stat sb;

void *p;

fd = open(name, O_RDONLY|O_BINARY);

if (fd < 0) {

perror(name);

return 0;

}

if (fstat(fd, &sb) < 0) {

perror(name);

return 0;

}

if (!S_ISREG(sb.st_mode)) {

fprintf(stderr, "%s: not a regular file\n", name);

return 0;

}

Provision Of Source Code

Page 8: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 8

The Flash Driver erases the Flash and writes the new Data into the flash. It contains the derivative-specific routines.

Overview

Flash Programming

CANfbl

Application

Bootloader

Protected Area

Flash DriverR A M

Interrupt Vector TableFBL

!

FBL memory architecture

Interrupt Vector TableApplication

The Flashtool is an easy to use PC tool and controls the download of your application (as executable)via a PC card, e.g. CANcardXL.

FlashTool

The Bootloader contains OEM-specific algorithm, basic bus communication, aTransport Protocol and Diagnostics (KWP2000, UDS), all code optimized to use minimum memory.

CAN LIN FlexRay

MOST Ethernet

Memory location

Page 9: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 9

Protected sector in flash memory for bootloader

Eraseable flash blocks (sector)

Reset Vector

12352352312412241242352352356587867876456454757456456564545634534534665768673453453436463424533234253636366898678645577773434523234252356463467575890089463453464765865756456457457463453452311231345344534534544347679987897568785678663452123124546466879890009789785653123523523124122412423523523565878678764564547574564565645456345345346657686734534534364634245332342536363668986786455777734345232342523564634675758900894634534647658657564564574574634534523112313453445345345443476799878975687856

Smallest programmable flash unit (page).Memory-Alignments must be considered!

Memory Units

Overview

Do not write twice to the same location without previous erase operation!!

Page 10: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 10

Overview

MSW

CSW

Data

Software StructureComponents

Logical Blocks Flash Blocks

0x10000

0x11000

0x12000

0x13000

0x14000

0x16000

0x18000

0x19000

0x1A000

0x1C000

#1 Software(mandatory)

#2 Software(mandatory/optional)

#3 Data(mandatory/optional)

0x10000

0x12FFF

0x14000

0x17FFF

0x1A000

0x1BFFF

Building blocks of the ECU application software

Internal representationEach block is erased and

programmed at oncePhysical flash sector

partitions

#1

#2

#3

#4

#5

#6

#7

#8

#9

DeviceDriver #1

DeviceDriver #2

Memory Partition

Device Drivers

Page 11: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 11

OverviewBootloader building blocks

Page 12: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 12

Features

! Flash Bootloader offers great flexibility

! GENy configuration

> Memory mapping

> Communication settings

> ...

! User callbacks

> Watchdog / SBC handling

> Transceiver initialization

> Non volatile memory

! Memory drivers

! Bootloader AND Application have to be adapted!

> Does not run �out of the box�

WD Handler Diag Handler

Nonvolatile DataHandler

FBL ApplicationCallbacks

HIS EEPROMDriver Interface

Security Module

EEPROM Driver

Adaption

Page 13: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 13

Features

! Multiple memory devices

! Internal/external flash

! EEPROM

! Dual processor ECUs

! Multiple identity

! Security

! Data processing

! Encryption

! Compression

Advanced

! Bus systems

! CAN

! LIN

! FlexRay

! Ethernet, MOST

Page 14: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 14

Vector � Toolchain

! Development process is supported by Vector toolchain

! Generation tool

> GENy � Easy configuration of FBL through GUI

! Development support tools

> Makesupport

> Hexview

! Flash tool

> vFlash

! Vector Support

Development Tools

Page 15: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide:

FBL

ECU

15

Vector � Toolchain

GENy+

Components

DBCFIBEX

CANdb++Editor

GenData<c, h>

Security key<TXT, INI>

FBL<c, h>

FBL App<c, h>

Security module<obj>

Compiler

Linker

Makesupport

FBL<HEX>

Debugger / Programmer

Bootloader - Build

Security option

LZSS<c, h>

Decompression option

Core files

Page 16: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 16

Vector - Toolchain

Linker

Application<HEX>

Hexview vFlash

Flash Templates

FlashProcess

Flash Description

Seed/Key DLL

Download preparation (development phase)

ECU

FBL

ApplicationApplication�

<HEX>

! Simple OEM containers

! Create signatures

! Encrypt data (MkPsKeys)

! Cut data

! Fill data

Page 17: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 17

Vector � Toolchain

LinkerApplication �

<HEX>

ODX-Studio

Signature<TXT>

vFlash Flash-process

OEM Tool/vFlash

CANdela<CDD>

CFD ODX-F

Flash-process

Flash-ScriptSecurityPlug-In

Optional

ODX and Flash Download (production phase)

FBL

Application

ECU

Page 18: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 18

Delivery

! Flash Bootloader core files

! User callback templates

! Flash driver

! CAN driver

! Dummy EEPROM driver (RAM buffer)

! Security module (object code)

! Generation tool GENy

! Makesupport

! Flash script

! Demo FBL

! Documentation

! Development support tools

Contents

Page 19: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 19

Toolchain

! Comfortable Bootloader configuration

! Graphical interface

! Component based

! Structured by module

! Hardware

! Security module

! OEM specific

! Transport protocol

! CAN driver

! Preconfigured for target derivative

Generation Tool � GENy

Page 20: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 20

Toolchain

! Hardware configuration

! Timer clock

! Watchdog trigger

! Device types

! ...

! General FBL configuration

! Diagnostic buffer size

! Communication timeouts

! ...

Generation Tool � GENy

Page 21: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 21

Toolchain

! Flash Block Table

! Physical flash layout

! Affects erase granularity

! Logical Block Table

! Logical software partitioning

! Mapping on flash block table

Generation Tool � GENy

Page 22: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 22

Toolchain

! Security module configuration

! Seed/Key constant

! Security class

! Authenticity key for signature calculation

Generation Tool � GENy

Page 23: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 23

Toolchain

! Transport protocol configuration

! Call cycle

! Timing

! Flow control

! Diagnostic callbacks

Generation Tool � GENy

Page 24: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 24

Toolchain

! CAN driver configuration

! Bittiming

> Multiple init structures

Generation Tool � GENy

Page 25: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 25

Toolchain

! Prepare application for flashing

! Binary and Hex file manipulation

! Checksum and signature calculation

! Alignment

! Gap fill

! ...

! All operations available throughcommand line interface

Development support � Hexview

Page 26: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 26

ToolchainFlash Tool �vFlash� � Key Features

! Use case driven � different views for different use cases

> Native Flashing (Intel-Hex, Motorola-S, Binary), ODX-F, VBF

> Interactive AND batch processing

! Support different bus systems

> CAN

> DoIP

> Flexray

! Generic and data-driven

> Support of different OEM protocols and flash sequences

> User-oriented GUI (minimal interaction, clear progress overview)

> Easy start-up: Configuration is based on template(pre-defined OEM and/or Bootloader specifics)

> One flash procedure works for different data sources

Page 27: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 27

Toolchain

! Create new project based on flash template

> The template defines basic settings like flash procedure, OEM specifics, �

! Set communication parameters and select Seed-Key-DLL

! Select data to be flashed

! Start flash

! Save project (optionally as Pack&Go)

vFlash - How to Configure

Page 28: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 28

ToolchainvFlash � How to use

! Load existing project

! Project file

> All required files are just referenced

! Pack&Go

> All required files are packed together (Project, Seed&Key.dll, flashware, �)

! Start flashing immediately

Page 29: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 29

Webinars

! Registration to the upcoming Webinars and the list of recorded Webinars:http://www.vector.com/vi_webinars_en.html

! The overview of Vector�s training services:http://www.vector.com/vi_training_en.html

! Contact data for additional questions, product information or presentation:

! [email protected]

! +49 (0) 711 80670 364

! [email protected]

Page 30: Vector Embedded Solutions · PDF fileSsangyong PSA Porsche Fiat GAC Chrysler OEM independent OEM specific ... #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif /* not S_ISREG *

© 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector.

Slide: 30

Thank you for your attention.

For detailed information about Vector

and our products please have a look at:

www.vector-informatik.com

Author:

Armin Happel

[email protected]

Vector Informatik GmbH

Ingersheimer Str. 24

70499 Stuttgart