FLASH

From emotive
Jump to navigation Jump to search

FLASH

Wir kom­men jetzt zu den ODX-Con­tai­ne­r­ele­men­ten, die für beson­de­re Auf­ga­ben vor­ge­se­hen sind und begin­nen mit dem Con­tai­ne­r­ele­ment Flash für die Flash-Pro­gram­mie­rung.

Die eigent­li­che Pro­gram­mie­rung wird natür­lich mit Dia­gno­se­diens­ten wie bei­spiels­wei­se Trans­fer­Da­ta durch­ge­führt, die inner­halb der Diag-Layer beschrie­ben sind. Die Auf­ga­be des Flash-Con­tai­ners besteht darin, die zu pro­gram­mie­ren­den Daten und ihre Abbil­dung im Steu­er­ge­rä­te­spei­cher zu beschrei­ben. Ein klei­nes Bei­spiel, sie­he Abbil­dung: Es gibt ein Tacho­me­ter­steu­er­ge­rät in einer USA- und einer Euro­pa­aus­füh­rung. Die Steu­er­ge­rä­te­soft­wa­re (Appli­ka­tion) ist in bei­den Fäl­len die­sel­be. Der Daten­satz dage­gen unter­schei­det sich. Es gibt eine Vari­an­te für Euro­pa, bei der die Ver­ar­bei­tung und Anzei­ge in km/h erfolgt und eine Vari­an­te für die USA, in wel­cher die Anzei­ge der Geschwin­dig­keit mit mph vor­ge­schrie­ben ist. Zusätz­lich wird für die Pro­gram­mie­rung noch ein Flash-Lader benö­tigt. Dies ist ein klei­nes Trei­ber-Pro­gramm, das den Pro­gram­mieral­go­rith­mus für den Flash-Spei­cher ent­hält. Typi­scher­wei­se wer­den sol­che Trei­ber-Pro­gram­me nicht per­ma­nent im Steu­er­ge­rä­te­spei­cher gehal­ten, son­dern wer­den bei Bedarf, näm­lich beim Flas­h­pro­gram­mier­vor­gang vor dem eigent­li­chen Pro­gram­mier­da­ten­satz her­un­ter­ge­la­den.


ODX-FLASH-Sample.png
Pro­gram­mier­da­ten­sät­ze für ein Tacho­me­ter-Steu­er­ge­rät


Die­ses Bei­spiel ist in der obi­gen Abbil­dung dar­ge­stellt. Gleich­zei­tig sind hier auch die ent­spre­chen­den ODX-Bezeich­nun­gen ange­ge­ben. Die bei­den Vari­an­ten für USA und für Euro­pa wer­den inner­halb von soge­nann­ten Ses­si­ons ange­legt. Die eigent­li­chen Daten­sät­ze und ihre Beschrei­bung erfolgt über soge­nann­te Data-Blocks. Die Ses­si­ons ver­wei­sen auf die ent­spre­chen­den Data-Blocks. Sie sehen hier zum Bei­spiel die Ses­sion für die USA und die Ses­sion für Euro­pa ver­wei­sen bei­de auf die­sel­be Appli­ka­tion, den­sel­ben Flash-Trei­ber aber auf zwei unter­schied­li­che Daten­sät­ze.

Nach­fol­gend wer­den die wich­tigs­ten Ele­men­te des FLASH-Con­tai­ners auf­ge­lis­tet:

  • DATA­BLOCK beschreibt die Struk­tur des zu pro­gram­mie­ren­den Adress­be­rei­ches, er besitzt immer ein SEG­MENT
  • Zusam­men­hän­gen­de Pro­gram­mier­da­ten im INTEL-HEX, MOTO­RO­LA-S oder BINA­RY For­mat (FLAS­H­DA­TAS) wer­den in Daten­blö­cken auf SEG­MENTS abge­bil­det und durch SOUR­CE-START-ADDRESS und SOUR­CE-END-ADDRESS abge­grenzt
  • Der Zugriffs­schutz (Seed & Key) erfolgt meist über SINGLE-ECU-JOBS wel­che auf eine exter­ne *.JAR Datei ver­wei­sen
  • In den SECU­RI­TY Objek­ten sind Prüf­sum­men und Signa­tu­ren abge­legt, wel­che einer SES­SION oder einem DATA­BLOCK zuge­wie­sen wer­den
  • PHYS-MEM beschreibt die rea­le Spei­cher­struk­tur eines Steu­er­ge­räts, damit das Lauf­zeit­sys­tem die Gül­tig­keit der Flash-Daten prü­fen kann
  • Die Pro­gram­mie­rung erfolgt durch eine Anein­an­der­rei­hung ver­schie­de­ner Dia­gno­se­diens­te inner­halb eines SINGLE-ECU-JOBs (Flash-Job)
  • Der ECU-MEM-CONNEC­TOR stellt eine Ver­bin­dung zwi­schen dem Flash-Job im DIAG-LAYER-CON­TAI­NER und einer SES­SION im FLASH-Objekt her


ODX-FLASH.png
Steu­er­ge­rä­te­pro­gram­mie­rung – Daten­con­tai­ner


In ODX setzt sich ein Data-Block aus Seg­men­ten und Flash-Data Ele­men­ten zusam­men. Ein Flash-Data Ele­ment ent­hält die zu pro­gram­mie­ren­den Daten in einem Objekt­co­de-For­mat. Der Seg­ment-Abschnitt bil­det die­se Daten auf den Speicher­be­reich des Steu­er­ge­rä­tes ab. Das heißt, dort sind Anfangs- und End­adres­se der ent­spre­chen­den Adress­be­rei­che defi­niert. Der Zugriff­schutz für die Flash-Pro­gram­mie­rung wird über ein Secu­ri­ty Ele­ment rea­li­siert. Dort wird beschrie­ben wel­che Art von Zugriff­schutz also zum Bei­spiel wel­ches Seed-And-Key-Ver­fah­ren durch­ge­führt wird. Die­ses Secu­ri­ty-Ele­ment ist mit einer Ses­sion ver­bun­den. Der Phy­si­cal-Memo­ry Block beschreibt die rea­le Spei­cher­struk­tur eines Steu­er­ge­rä­tes. Auf die­se Wei­se kann das Lauf­zeit­sys­tem wäh­rend der Pro­gram­mie­rung über­prü­fen, ob der Pro­gram­mier­da­ten­satz und die rea­le Spei­cher­struk­tur des Steu­er­ge­rä­tes zusam­men pas­sen. Das heißt, unter Seg­ment sind die gewünsch­ten Speicher­be­rei­che aus Sicht des Pro­gram­mier­da­ten­sat­zes spe­zi­fi­ziert und in Phy­si­cal-Memo­ry sind die tat­säch­lich vor­han­de­nen Speicher­be­rei­che aus Sicht des Steu­er­ge­rä­tes abge­legt. Bei der Pro­gram­mie­rung ver­gleicht das Lauf­zeit­sys­tem die Bei­den mitein­an­der. Der eigent­li­che Pro­gram­mier­vor­gang wird typi­scher­wei­se durch einen so genann­ten Flash-Job, das ist ein Single-ECU-Job, sie­he Diag-Layer-Con­tai­ner, beschrie­ben. Dies ist ein Java-Pro­gramm, das die ein­zel­nen für die Pro­gram­mie­rung not­wen­di­gen Dia­gno­se­diens­te aus­führt. Die Ver­bin­dung zwi­schen dem Flash-Daten Con­tai­ner und die­sen Single-ECU-Jobs erfolgt über das den ECU-Memo­ry-Connec­tor.


ODX-FlASH2.png
Steu­er­ge­rä­te­pro­gram­mie­rung – FLASH (Sche­ma)


Siehe auch

Autorenwerkzeuge

Grundstruktur

Gemeinsame Elemente

Diagnoselayer und Diagnosedienste

Fehlerspeicher

Diagnosesitzungen

Kommunikationsparameter

Fahrzeugzugang

Diagnoseabläufe mit mehreren Geräten

Variantenkodierung

Funktionsorientierten Diagnose