Gibt es eine Möglichkeit die Protection bits eines V850 mittels JTAG interface auszulesen? Ich möchte einen Prozessor aus einem KFZ-Modul neu programmieren der durch ein fehlgeschlagenes Update via CAN-Bus zum "Ziegelstein" wurde. Zunächst würde ich natürlich prüfen wollen ob in dem Flash noch was drin ist. Der Flash dieses Typs ist "nur" 768 kb groß. Ich rechne eigentlich damit das nur die self-programming Methode noch aktiv ist und der Hersteller die Bits gegen auslesen, löschen und beschreiben des Flash gesetzt hat und es mit einem 10 Byte passwort geschützt hat...
Olli Z. schrieb: > Ich rechne eigentlich damit das nur die self-programming Methode noch > aktiv ist und der Hersteller die Bits gegen auslesen, löschen und > beschreiben des Flash gesetzt hat und es mit einem 10 Byte passwort > geschützt hat... Üblich wäre dann auch das Security Setting 'Boot block cluster rewrite prohibit' (Tabelle 30-4 im Datenblatt[0]) zu setzen. Und vorab den Bootloader, also CAN Kommunikation mit Flash Self-Programming, in die Boot area (blocks 0+15) zu programmieren. Damit dürfte dieses Problem gar nicht auftauchen können: > der durch ein fehlgeschlagenes Update via CAN-Bus zum > "Ziegelstein" wurde. Eben weil sich der Bootloader dann nicht selber zerschiessen kann. > Gibt es eine Möglichkeit die Protection bits eines V850 mittels > JTAG interface auszulesen? Welche Security Settings ('Protection Bits') gesetzt sind geht IMHO implizit aus dem Fehlschlagen der Chip erase-, Block erase-, Program-, Read- Commands hervor. [0] https://docs-emea.rs-online.com/webdocs/1343/0900766b8134304e.pdf
Ich wollte nicht risiken das ein Erase womöglich zugelassen ist, aber ein Write dann nicht.
Warum testest du nicht erstmal ob der Controller ueberhaupt noch zuckt. Fuer den seriellen Flashmodus muss man "nur" FLMD0 auf GND ziehen. Dann sollten TXD nach dem Reset schonmal zappeln. Ich benutze zum Programmieren von den Dingern eine Software namens FPL. Meine haben aber nur 256k.
Olli Z. schrieb: > Ich wollte nicht risiken das ein Erase womöglich zugelassen ist, aber > ein Write dann nicht. Das wäre schön eine merkwürdige, aber wohl beim v850/SG3 mögliche, Kombination. Bei neuen v850 gibt es IMHO die Möglichkeit nach dem vollständigen Löschen aller Flash Blöcke das Passwort und die Protection Bits zurückzusetzen. Also praktisch zurück in den Auslieferungszustand des uC. Hatte ich gestern aber nicht beim überfliegen des SG3 Datenblatt gesehen.
Ich konnte die UARTA0 Pins, sowie andere auf einem unbestückten Header der Platine finden. Hab mal das DSO dran gehalten, aber weder RXD noch TXD geben irgendwas sinnvolles von sich wenn ich FLMD0 auf Vss lege. FLMD1 liegt vom Board aus über einen Widerstand gen Masse.
V850 Besitzer schrieb: > Fuer den seriellen Flashmodus muss man "nur" FLMD0 auf GND ziehen. Ist es nicht anders rum? FLMD0 auf Vss (+3,3V)? Für den Application mode ist der doch per Widerstand gegen GND. > Ich benutze zum Programmieren von den Dingern eine Software namens FPL. FPL?
void schrieb: > Bei neuen v850 gibt es IMHO die Möglichkeit nach dem vollständigen > Löschen aller Flash Blöcke das Passwort und die Protection Bits > zurückzusetzen. Also praktisch zurück in den Auslieferungszustand des > uC. Hatte ich gestern aber nicht beim überfliegen des SG3 Datenblatt > gesehen. Sowas hatte ich auch vermutet, aber in der Tat ebenfalls nicht gefunden.
Ah, ok. Laut Renesas geht das für den V850 nur mit dem Flash Programmer v2 https://www.renesas.com/sg/en/products/software-tools/tools/programmer/renesas-flash-programmer-programming-gui-v2.html Und hiervon würde ich den Schaltkreis Typ C in Verbindung mit einem USB/UART Kabel nutzen, weil der V850 kein USB direct unterstützt: https://www.renesas.com/sg/en/doc/products/tool/doc/001/r20ut0857ej0300_rfpsplcrct.pdf
:
Bearbeitet durch User
> Ist es nicht anders rum? FLMD0 auf Vss (+3,3V)? Für den Application mode > ist der doch per Widerstand gegen GND. Ja. Tschuldigung :-(. Da haben die Japaner an ein vermeintliches Massesymbol noch EVDD geschrieben. Und ich habs nicht gesehen. >> Ich benutze zum Programmieren von den Dingern eine Software namens FPL. > FPL? Naja, das sind nur 500 kB. Warum soll ich mir da den modernen Groessenwahn antun. Es ist die Version 1.10 vom Jahrgang 2003. Ist denn sonst an irgendwelchen Pins noch Gewackel zu sehen? Oder ist der Kaefer vielleicht einfach nur blank?
Ja, der chip lebt schon, nur halt mit Gedächtnisverlust. Ich werde mir mal den RFP v2 ziehen und ein USB/UART Interface basteln für 3,3V und dann mal schauen. Offensichtlich hat der Hersteller des Moduls ja auch damit gearbeitet, wenn vielleicht auch nur in der Entwicklung. Hier hab ich was dazu gefunden: https://www.renesas.com/sg/en/doc/products/mpumcu/apn/rl78/001/r01an1131eu0101_mcu.pdf
:
Bearbeitet durch User
Ich habe mir jetzt mal den RFP in der Version 2.05 installiert. In den Verbindungseinstellungen kann man jedoch nur zwischen einem "E1", "E20" oder "MINICUBE" Interface wählen. Dabei versucht sich die Software mit selbigem zu verbinden. Wie bekomme ich es denn hin, das mein USB/Serial Wandler dort verwendet wird? Ich will mich nach nur via UARTA0 an den uC ranmachen ;-)
Olli Z. schrieb: > Ich habe mir jetzt mal den RFP in der Version 2.05 installiert. In > den > Verbindungseinstellungen kann man jedoch nur zwischen einem "E1", "E20" > oder "MINICUBE" Interface wählen. Dabei versucht sich die Software mit > selbigem zu verbinden. > Wie bekomme ich es denn hin, das mein USB/Serial Wandler dort verwendet > wird? Ich will mich nach nur via UARTA0 an den uC ranmachen ;-) Hallo Olli, hat es damals mit dem Auslesen des V850 geklappt? Oder Ist es nicht möglich wenn die Protection eingeschaltet ist? Im RFP kannst du auch anstatt E1 einen COM-Port wählen wo du über den USB/UART/TTL Adapter den Chip dran hast. Welchen Schalt Kreis hast du verwendet? Hast du einfach MD0 udn MD1 auf 3,3V gezogen? oder umgekehrt? Ich verstehe diese Abbildung mit Schalter-Symbole usw nicht! :/ https://www.renesas.com/sg/en/document/man/renesas-flash-programmer-sample-circuit-programming-using-pcs-serial-port
Lex schrieb: > Hast du einfach MD0 udn MD1 auf 3,3V gezogen? Welche(n) Mode Pin(s) du auf welches Level ziehen musst um nach dem Reset release im seriellen (2-wire Uart) Programmiermodus zu landen hängt von deinem genauen uC Typen ab. So steht es auch in Note2 unter der Beispiel-Schaltung C in dem von dir verlinkten Dokument. Also genauen Typ von deinem V850 uC rausfinden und in dessen Handbuch reinschauen. Lex schrieb: > Oder Ist es nicht möglich wenn die Protection eingeschaltet ist? Wenn der Ausleseschutz eingeschaltet ist kann man nix auslesen. Lex schrieb: > Ich verstehe diese Abbildung mit Schalter-Symbole usw nicht! :/ Das sind ganz ordinäre Symbole aus dem angloamerikanischen. Masse/Ground ist mit drei Schrägstrichen garniert. Der Widerstand ein zick-zack.
Hallo Danke Dir, ich habe gleich eine Stunde nach meinem Post das Problem gelöst. Das mit den Schaltsymbole ist mir klar, ich kenne das.. trotzdem habe ich gerätselt ob die Schalter von einem automatisierten System zum richtigen Moment geschaltet werden müssen aber dann habe ich geschnallt dass es sich hier um eine statische Konfiguration handelt. MD0 => HIGH, MD1 => LOW und system Restart. Da war aber ein Hacken und deshalb hatte es gedauert und zwar: Ich kann nur dann Chip Signatur / Flash Optionen auslesen wenn ich das UserSystem einschalte und direkt danach in RFP auf Start klicke.Erneutes Auslesen klappt dann nicht bis zum nächsten Restart.In Datenblätter steht nichts darüber! Habe alle auswendig gelernt :D : den von E1 Emulator, v850-UserManual, RFP User Manual, AdditionalNotes usw. Nicht über das verhalten. Frage1: Kennt das Verhalten Jemand? Überlegung: Es kann natürlich sein, dass mein UserSystem bereits irgendwelche Reset/Boot-Steuerung hat und deshalb ein Konflikt mit der von dem E1 gibt.
Beitrag #6526090 wurde von einem Moderator gelöscht.
Nächste Frage: Auslesen von dem Flash ist bei Read Protection gesperrt. Bin gerade am ausprobieren und workarounds suchen. Wie kann man den chip auslesen (!ohne es mit xhip erase vorher zu löschen!)?
Lex schrieb: > Bin gerade am ausprobieren und workarounds suchen. Wie kann man den chip > auslesen (!ohne es mit xhip erase vorher zu löschen!)? Naja, das wird nicht einfach, sprich eher unmöglich denn genau dafür ist die Fuse ja gedacht ;-) Einzige Möglichkeit (neben so halbesotherischen Glitch-Attacken) die ich sehe wäre ein Trojaner oder eine Backdoor in der Firmware zu finden. Also in das laufende System eine eigene Software einzubringen welche dann den Inhalt des Flash ausliest und auf einen Port sendet. Boot über ein anderes Medium wird da vermutlich nicht helfen, denn die meisten Chips verhindern in diesem Fall das auslesen des internen Flash. Wenn das Zielsystem noch läuft (war ja bei mir nicht der Fall) und über einen Updatemechanismus verfügt, wäre da der Ansatz...
In China und Russland gibt es Firmen, die sich auf genau solche Ausleseattacken spezialisiert haben. Die lassen sich aber ihre Dienste gut bezahlen und posaunen ihr Wissen auch nicht in irgendwelche Bastlerforen :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.