Autor Thema: AskSin++ Library  (Gelesen 142524 mal)

Offline Xent

  • Full Member
  • ***
  • Beiträge: 166
Antw:AskSin++ Library
« Antwort #1380 am: 04 November 2019, 08:50:52 »
Der Bootloader schreibt ja nur die Pages die per OTA übertragen werden.
Nur beim Selbstupdate ist es anders, da dort die Routine sehr klein sein muss.

Wenn man per OTA den Bootloader aktuallisiern will, muss ja folgendes passieren:

1. neuen Bootloader per OTA flashen an die Adresse 0x0000 (wie eine normale Firmware)
2. an Adresse 0x6FFC muss ein Magciword geschrieben werden
3. bei Booten prüft der Bootloader, ob das Magicword an Adresse 0x6FFC steht.
4. wenn Magicword gefunden wurde, liest der Bootloader ab Adresse 0x0000 und schreibt 30 Pages ab Adresse 0x7000. Dadurch aktualisiert sich der Bootloader selbst

Bei 30 Pages wird aber auch die Page 0x7F00 überschrieben oder hab ich mich da verrechnet?

Zitat
/**
 * The updateBootloaderFromRWW function is placed in the topmost page and cannot be changed via OTA Update
 * This must not be touched for OTA update otherwise you may brick the bootloader and need and ISP update
 */

Offline Xent

  • Full Member
  • ***
  • Beiträge: 166
Antw:AskSin++ Library
« Antwort #1381 am: 08 November 2019, 21:17:05 »
Hmm ich bekomme es irgendwie nicht so recht hin eine Firmware zu bauen, die man per OTA flashen könnte.
Entweder passt beim Konvertieren ins eq3 Format was nicht oder aber das flash-ota meckert rum.

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1527
Antw:AskSin++ Library
« Antwort #1382 am: 09 November 2019, 07:43:51 »
Was machst Du denn genau ? Meine Glaskugel ist gerade kaputt.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline Xent

  • Full Member
  • ***
  • Beiträge: 166
Antw:AskSin++ Library
« Antwort #1383 am: 09 November 2019, 08:40:50 »
Sorry, war gestern etwas kurz angebunden ...

Habe mich am Makefile versucht um damit eine Firmware für das OTA Update des Bootloaders zu bauen.
Soweit wird auch alles gebaut und das Magicword landet auch an der richtigen Stelle im Flash.

Hier mal die letzten Zeilen der Firmware.
Wie man sieht kommt das Magicword an die Adresse 6FFC.
Was mich aber vewundert ist, die Zeile davor.
Da wird ja nur von 30 bis 34 hochgezählt ...
:100E90008CEB91E00E94EA0681E00E94EE050E9440
:100EA000CC030E94F203FB01DC0102C005900D920D
:100EB00041505040D8F70895FB01DC0102C0019079
:0E0EC0000D9241505040D8F70895F894FFCF9E
:100ECE003031323334353637383941424344454672
:026FFC0011473B
:00000001FF

Wenn ich die angehängte Hex-Datei umwandel und dann mit flash-ota versuche zu übertragen, bekomme ich folgenden Fehler:
HomeMatic OTA flasher version 0.103-git

Reading firmware from Bootloader-AskSin-OTA-Atmega328p_OTA_201911090831.eq3...
can't get length information!

Ich hab irgendwie die Vermutung, das es daran liegt, dass der Flash nicht zusammenhängend ist.
Also, dass erst vorne alles hingeschrieben wird und dann noch was am Ende.
« Letzte Änderung: 09 November 2019, 08:46:54 von Xent »

Offline Xent

  • Full Member
  • ***
  • Beiträge: 166
Antw:AskSin++ Library
« Antwort #1384 am: 09 November 2019, 09:04:35 »
Jetzt hab ich mal die erste Page mit dem Magicword gefüllt und den Bootloader ab 0x1000 anfangen lassen und schon akzeptiert auch das flash-ota die Datei ...

Offline Xent

  • Full Member
  • ***
  • Beiträge: 166
Antw:AskSin++ Library
« Antwort #1385 am: 09 November 2019, 18:24:10 »
Hab’s jetzt hinbekommen, dass man den Bootloader OTA aktualisieren kann.
Mehr schreib ich morgen dazu.

Aktuell hab ich noch das Problem mit der Makefile, dass dort die eine Zeile des Flashs die Adresse 0x0ECE hat. 
Irgendwie passt das nicht da in der Zeile ja schon was ab 0x0EC0 geschrieben wurde.
Musste jetzt diese Zeile raus editieren.

Offline jp112sdl

  • Full Member
  • ***
  • Beiträge: 153
Antw:AskSin++ Library
« Antwort #1386 am: 09 November 2019, 22:20:00 »
Hattest du es mal mit der https://github.com/jabdoa2/Asksin_OTA_Bootloader/blob/master/Contrib/hex2eq3.php versucht?
Da kannst du beim Konvertieren des HEX-Files als Parameter direkt markAsBootloaderUpdate mitgeben.

Offline Xent

  • Full Member
  • ***
  • Beiträge: 166
Antw:AskSin++ Library
« Antwort #1387 am: 10 November 2019, 07:02:38 »
Oh ne, dass hab ich noch garnicht gesehen.
Werd ich mir mal anschauen.