Hinweise und informationen zu OSOPT V3.0

- Features
- Einsprungadressen
- HOST-LED-(Blink)Anzeigen
- Host-Mode-Kommandos


Features nach oben

- Als Grundlage dient OSOPT V2

- Das CC2-interne LCD wird vom System nichtmehr angesteuert. 
  Somit wird diese I²C-Bus-Adresse frei, wenn man das interne LCD, falls vorhanden, 
  abschaltet.(LCD-Adj der Unit auf GND ziehen)
  Das Display kann aber noch aus dem C2-Programm angesteuert werden. 
  Hier ist aber dann zwingend ein lcd.init() notwendig. 

- Ausgabe der Systemmeldungen über eine "HostLED", welche sich bereits auf 
  dem CC2-StarterBoard und dem CC2-ReglerBoard ab V1.1 befindet.
  Diese LED wird über einen Transistor (PNP) oder einen Puffer an den Host-Pin 
  angeschlossen und soll leuchten, wenn der Pin einen GND-Pegel besitzt.
  Mehr siehe Host-LED-(Blink)Anzeigen 
  Als Nebeneffekt durch die HostLED:
  Programme starten nach einem Reset um einiges schneller.
  Auch muß man nurnoch 2 statt 3sek. auf Host drücken, um in den Host-Mode zu gelangen.

- Zugriff auf Flash-Segmente 1 & 2: 
  Bei der CC2 gab es bisher zwei völlig ungenutzte Flashsegmente: Sement 1 & 2. 
  Das OS befindet sich lediglich in Segment 0. 
  Ab OSOPT V3.0 können diese beiden Segmente wie Segment 3 für ASM/C-Code 
  benutzt werden. Somit stehen insgesamt 192kB statt 64kB für System-Routinen zur Verfügung.
  Für das Löschen der Segmente 1 & 2 sowie das Laden von Daten gibt es vier 
  weitere Hostmode-Kommandos.
  
- Systemtreiber sys0001.hex unf capture.hex integriert. 
  Die Systemtreiber capture.hex und sys0001.hex sind in OSOPT V3.0 
  bereits integriert. Somit entfällt das Laden dieser Dateien.
  Mehr dazu siehe Hinweise zum Laden von HEX-Dateien.


Einsprungadressen nach oben

Die integrierten System-Routinen haben folgende Einsprungadressen:
(Segment 0)

Für cap.c2:
0xD400 CAPTURE
0xD438 RELEASE
0xD44E GET


Für i2c.c2:
0xD476 I2C_CAPTURE
0xD49A I2C_CSTOP


Für lcdext.c2:
0xD4A6 PUT
0xD4B0 PRINT
0xD4CA SEND
0xD4DE SENDCHAR
0xD50C ZIFF
0xD544 WriteCMD
0xD54E Write8Bit


Für stports.c2:
0xD5DC SETALL
0xD5F2 SETPORT
0xD61C TOGPORT
0xD634 PULSE
0xD694 GETPORT


Host-LED-Anzeigen nach oben

Auf dem CC2-StarterBoard und auf dem CC2-ReglerBoard auf V1.1
existiert bereits die gelbe HOST-LED.
Zum Nachrüsten bei anderen Platinen und auch bei der CC2-Station kann
folgende Schaltung verwendet werden:


Der Host-Pin (P3.4) wird als Open-Drain benutzt. So kann es zu keinerlei 
Kurzschlüssen kommen, wenn die LED ansteuert wird und gleichzeitig 
die Hosttaste gedrückt wird. Es muß lediglich darauf geachtet werden, daß 
eventuelle weitere Eingangssignale, welche über den Hostpin(P3.4) erfasst 
werden, als Open-Drain/Collector ausgeführt sind. (z.B. Inkremental-Geber)
Die HostLED leuchtet, wenn sich die CC2 im Hostmode befindet und gibt 
Blink-Codes bei Fehlermeldungen und beim Beenden von Programmen aus, 
welche bisher als Text-Meldungen auf das interne LCD ausgegeben wurden. 
Während des Ausführens von Programmen und Ausführen von Hostmode-Kommandos
Leuchtet geht die LED aus. Der HOST-Pin ist dann als Eingang geschaltet.

Beim Beenden von Programmen blinkt die Host-LED mit kurzen
Blinkintervall ein bis 10mal entsprechend dem an quit übergebenen Parameter.
Bei Parametern größer 10 wird wird so lediglich die Einerstelle ausgegeben.
Bei der Einerstelle 0 blinkt die LED 10mal.
Achtung: Wird das CC2Net.de-DL-Tool zum Einleiten des Hostmodes benutzt,
so muß bei Blink-Werten größer 8 (z.B. quit 20) die WarteZeit im DL-Tool
vergrößert werden.
Wird mit quit -1 ein Softwarereset ausgelöst, so blinkt die LED zweimal, bevor
das Programm neu gestartet wird.

Ausgabe von Fehler-Codes:
Kommt es zu einem Fehler bei der Ausfürhung des Programms
so werden folgende Blink-Codes in einer Endlosschleife
ausgegeben:
Blink-Folge Fehlermeldung
3x lang, 1x kurz BURN ERR
Es wurde versucht an Specherzellen im Flash zu schreiben
welche nicht gelöscht wurden.
3x lang, 2x kurz STO TRAP
3x lang, 3x kurz STU TRAP
1x lang, 1x kurz ILL OPA
1x lang, 2x kurz BTRAP
1x lang, 3x kurz UND OPC
1x lang, 4x kurz FP ERR
1x lang, 5x kurz FPE DIV0
1x lang, 6x kurz FPE STOF
1x lang, 7x kurz FPE INOF
1x lang, 8x kurz ILL INA
2x lang, 1x kurz FPE CONV
2x lang, 2x kurz FPE UNDF
2x lang, 3x kurz PRT FLT
2x lang, 4x kurz FPE STUF
2x lang, 5x kurz FPE FLUF
2x lang, 6x kurz ILL BUS
2x lang, 7x kurz FPE FLOF

Die Fehleranzeigen können durch Drücken der Hosttaste quittiert werden.
Die CC2 wird dann in den Host-Mode versetzt.



Host-Mode-Kommandos nach oben

Kommando Bedeutung
0 CMD_SEND_ID
antwortet mit dem Text "C-Control II"
1 CMD_SEND_RELEASE
antwortet mit dem Release Datum
2 CMD_SEND_VERSION
antwortet mit dem Versionsstring
3 CMD_START 3
startet ein vorhandenes C2-Programm
4 CMD_LOAD_VMC
Beginn der Übertragung eines C2-Programms
5 CMD_LOAD_HEX_SEG3
Beginn der Übertragung eines ASM-Programms/Routine in Segment 3
6 CMD_ERASE_VMC
löscht ein vorhandenes C2-Programm
7 CMD_ERASE_HEX_SEG3
löscht Segment 3, den Bereich für ASM-Programme/Routinen,
gibt nach Löschen 7 als Echo zurück
8 CMD_SET_HI_BAUD
setzt die ser. Schnittstelle im Hostmode auf 57.600Baud
9 CMD_SET_DEF_BAUD 9
setzt die ser. Schnittstelle im Hostmode auf 19.200Baud
(Standard)
14 CMD_LOAD_HEX_SEG1
Beginn der Übertragung eines ASM-Programms/Routine in Segment 1
15 CMD_LOAD_HEX_SEG2
Beginn der Übertragung eines ASM-Programms/Routine in Segment 2
16 CMD_ERASE_HEX_SEG1
löscht Segment 1, gibt nach Löschen 16 als Echo zurück
17 CMD_ERASE_HEX_SEG2
löscht Segment 2
, gibt nach Löschen 17 als Echo zurück
255 CMD_RESET 255
führt einen Software-Reset der CC II aus

 


SP2.10 powered by CC2Net.de