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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo, > > ich antworte mir heute mal selber! Es geht! Somit ist ein Update per USB oder Modem möglich. > > Ich kopiere zuerst das Programm und die Konstanten vom USB-Stick (Prinzipiell auch per Modem > möglich) in die Segmente 1,2 und 7. Vorrausetzung ist, das die Konstanten nicht >64k sind. > Dann starte ich die Assemblerroutine, die Seg.1 in Seg. 4, Seg 2 in Seg 5 und Seg 7 in Seg 6 kopiert. > Anschließend wird ein Softwarereset ausgeführt und die neue Software. > > Hier die Assemblerroutine: > <asm> > $case > $segmented > $model(medium) > $extend > $nomod166 > $stdnames(reg164ci.def) > > regdef R2,R4,R12,R13,R14 > ;*************************************************** > userseg SECTION CODE word at 3B000h > assume dpp3:userseg > ;*************************************************** > ; Programm aus Segment 1+2 in Segment 4+5 kopieren > ; Konstanten aus Segment 7 in Segment 6 kopieren > ; Author: Björn Boldt aka Icebear > ; License: Freeware > > public kkupdate > > kkupdate proc far > ; 1. Segment 4+5+6 löschen > CALLS 0,0255ch ;Löschroutine in int. RAM kopieren > MOV R12,#4 ;Segment 4 > CALLS 0,02552h ;Erase-routine > MOV R12,#5 ;Segment 5 > CALLS 0,02552h ;Erase-routine > MOV R12,#6 ;Segment 6 > CALLS 0,02552h ;Erase-routine > > ; 2. Kopieren > CALLS 0, 025d0h ;Schreibroutine in int. RAM kopieren > ;Segment 1 -> 4 > mov R2, #0 ;mit Addr 0 beginnen > Loop1: > ;Addr in R2 > mov R4, #1 ;aus Segm 1 lesen > ;Segm in R4 > EXTS R4, #1 > mov R14, [R2] ;in R14 lesen > > MOV R12, #4 ;in Segment 4 schreiben > MOV R13, R2 ;Addr > CALLS 0,02552h ;Schreib-Routine > add R2, #2 > cmp R2, #0 > jmpr cc_NZ, Loop1 > > ;Segment 2 -> 5 > CALLS 0, 025d0h ;Schreibroutine in int. RAM kopieren > mov R2, #0 ;mit Addr 0 beginnen > Loop2: > ;Addr in R2 > mov R4, #2 ;aus Segm 2 lesen > ;Segm in R4 > EXTS R4, #1 > mov R14, [R2] ;in R14 lesen > > MOV R12, #5 ;in Segment 5 schreiben > MOV R13, R2 ;Addr > CALLS 0,02552h ;Schreib-Routine > add R2, #2 > cmp R2, #0 > jmpr cc_NZ, Loop2 > > ;Segment 7 -> 6 (Konstanten) > mov R2, #0 ;mit Addr 0 beginnen > Loop3: > ;Addr in R2 > mov R4, #7 ;aus Segm 7 lesen > ;Segm in R4 > EXTS R4, #1 > mov R14, [R2] ;in R14 lesen > > MOV R12, #6 ;in Segment 6 schreiben > MOV R13, R2 ;Addr > CALLS 0,02552h ;Schreib-Routine > add R2, #2 > cmp R2, #0 > jmpr cc_NZ, Loop3 > > ; 3. Segment 1+2+7 löschen > CALLS 0,0255ch ;Löschroutine in int. RAM kopieren > MOV R12,#1 ;Segment 1 > CALLS 0,02552h ;Erase-routine > MOV R12,#2 ;Segment 2 > CALLS 0,02552h ;Erase-routine > MOV R12,#7 ;Segment 7 > CALLS 0,02552h ;Erase-routine > > ; 4. Neustart > srst > CALLS 0, 0h > JMPS 0, 0h > > pop R2 ;2xPOP > pop R2 > rets ;Rücksprung > kkupdate endp > > userseg ends > end > </asm> > > > Gruß Björn
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB