Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Flashspeicher löschen Kategorie: Progr. Assembler, TaskingTools, OS (von André H. - 19.09.2004 19:59)
Als Antwort auf Flashspeicher löschen von Thomas - 19.09.2004 15:54
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
Hallo Thomas,

> bevor du mit dem CC2-Downloadtool ein neues Betriebssystem überträgst löscht du den Flashspeicher in
> Segment 0, richtig? Meine Frage ist nun wie du das genau machst? Ist das eine kleine Assemblerroutine
> im Bootloader die alle Bits auf Null setzt, oder wie funktioniert das?

Das CC2Net.de-Download-Tool löscht beim OS-Load nicht das Segment 0.
Das übernimmt der CC2-Bootloader (boot.hex).
Das Download-Tool wartet lediglich eine einstellbare Zeit nach dem Laden von boot.hex,
bevor mit dem Laden des OS begonnen wird, da das Löshen eine gewisse (von Unit zu Unit
leicht unterschiedliche) Zeit benötigt.
Diese Wartezeit ist über den Parameter BootLoaderTimeout in den Einstellungen konfigurierbar.
Der Standardwert beträgt hier 3000ms. Rückmeldung gibt es seitens des Bootloaders keine.
Anders ist dies mit dem aktuellen Bootloader nicht möglich.
Vielleicht modifiziere ich einmal den Bootloader, soda� es einmal eine Rückmeldung gibt.

> Normalerweise läuft das laden eines neuen OS ja folgenderma�en ab:
>   - Laden der ersten 32-Byte (primary Loop)
>   - Laden eines weiteren Skriptes zum Downloaden des OS (secondary loop)

Das Laden der ersten 32Byte, der Startup-Code, und das Laden des restlichen Bootloaders
erfolgt in einem Schritt und ist eben die boot.hex .

>   - Laden des OS an Adresse 0x00
>
> An welcher Stelle sollte man nun den Flashspeicher löschen und ist das zwingend notwendig?

Wie gesagt, übernimmt das der Bootloader.
Von au�en hat man sonst keine Möglichkeit ein Flashsegment beim OS-Load zu löschen.

> Antworte mir bitte auch falls du es nicht weiÃ?t. Du kannst mir ja vielleicht am ehesten sagen wo ich
> nach meiner Antwort suchen muss (z.B. disassemblieren des boot.hex, hab ich aber noch nicht probiert,
> da ich mit dem Disassembler nicht so gut zurecht gekommen bin...;-))

Die boot.hex braucht man nicht zu disassemblieren. Die ist so schön klein, soda�
es fast schon Klartext ist. ;-)
Zumindest habe ich bei dem vielen OS-Durchforsten mit der Zeit die Hex-Codes für die einzenen
Instruktionen gelernt.
Ich hab' sozusagen einen InBrain Disassembler. (Nur ist dieser noch nicht ganz so zuverlässig *grins*.)
Es liegt aber auch daran, daÃ? ich angefangen hatte einen eigenen Disassembler zu schreiben, und
mir so ebenfalls die Werte für die einzelnen Instruktionen gemerkt habe. ;-)


MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: boot.hex disassemblieren (von Thomas - 20.09.2004 23:58)
Re: Flashspeicher löschen (von Thomas - 20.09.2004 19:13)
    Re: Flashspeicher löschen (von André H. - 21.09.2004 18:44)
        Re: Flashspeicher löschen (von André H. - 21.09.2004 19:27)
            Re: Flashspeicher löschen (von Gordon Klimm - 22.09.2004 13:13)
                Re: Flashspeicher löschen (von Thomas - 23.09.2004 16:32)
                    Re: Flashspeicher löschen (von André H. - 23.09.2004 19:02)
                       Re: Flashspeicher löschen (von Thomas - 25.09.2004 15:25)
                          Re: Flashspeicher löschen (von André H. - 26.09.2004 9:29)