VNC Unterstützung

VNC können Sie die Inhalte der Ziel-Anzeige auf Ihrem Windows-PC anzuzeigen. In anderen Worten: Sie können das Ziel Display direkt auf Ihrem PC sehen. Tatsächlich brauchen Sie nicht einmal notwendig, um eine Anzeige auf Ihrem Zielsystem haben, um Ihr Ziel Testen beginnen, solange Sie haben ein TCP / IP-Stack, die auf Ihre Zielgruppe. VNC besteht aus zwei Arten von Komponenten. Ein Server, der eine Anzeige generiert, und ein Betrachter, der tatsächlich lenkt die Anzeige auf Ihrem Bildschirm. Der Remote-Maschine (Ziel-oder Simulation) können nicht nur angesehen werden, sondern auch per Maus oder Tastatur gesteuert. Der Server und der Betrachter kann auf verschiedenen Rechnern und auf den unterschiedlichen Architekturen werden. Das Protokoll, welches die Server und Viewer verbindet ist einfach, offen und plattformunabhängig. Kein Staat ist in der Viewer gespeichert. Breaking des Betrachters Verbindung zum Server und dann Wiederverbindung wird nicht in den Verlust von Daten führen. Da die Verbindung von remade kann woanders, gewinnen Sie sehr gute Bewegungsfreiheit. Mit dem VNC-Server, können Sie steuern Ihr Ziel von überall und man kann Screenshots machen (zB für eine manuelle oder Marketing-Zwecken) von einem "Live"-System.

Bedarf

TCP / IP-Stack

Da die Kommunikation zwischen dem Server und dem Betrachter wird auf eine TCP / IP-Verbindung beruht, erfordert VNC ein TCP / IP-Stack. In der Win32-Simulationsumgebung, TCP / IP (Winsock) ist in der Regel vorhanden. In dem Ziel, ein TCP / IP-Stack muss vorhanden sein. Die TCP / IP Stack ist nicht Teil des uC / GUI. Die flexible Schnittstelle sorgt dafür, dass alle TCP / IP-Stack verwendet werden kann. Micrium bietet uC / TCP-IP.

Multi-Tasking
Der VNC-Server muss als in einem separaten Thread ausführen. Daher ist eine Multi-Tasking-System benötigt, um den uC / GUI VNC-Server zu verwenden.
Hinweise zur Umsetzung unserer
Unterstützte Client-Server-Einträge
Der uC / GUI VNC-Server unterstützt Zeiger Ereignismeldungen und Tastatur Ereignismeldungen.

Codierung

Der Server unterstützt RAW-Codierung und Hextile Codierung.
Authentifizierung

Der Server derzeit keine Authentifizierung erfordert. Allerdings kann diese Funktion auf den Server problemlos auf Anfrage hinzugefügt werden.

Performance

Die meisten Zuschauer unterstützen Hextile Kodierung, die Abstammung Kompression unterstützt. Ein typisches Viertel-VGA-Bildschirm benötigt typischerweise 20 bis 50 KB Daten. Eine Implementierung, die auf einem ARM7-Plattform (50 MHz, mit Cache) erfordert App. 200 bis 300 ms für eine Aktualisierung des gesamten Bildschirms. Der Server verarbeitet inkrementelle Updates in den meisten Fällen die aktualisierte Anzeige Gebiet ist viel kleiner als das gesamte Display und weniger Daten übertragen werden. Ein typisches ARM7-System ermöglicht somit in Echtzeit aktualisiert.

Mehrere Server

Die Umsetzung ist voll threadsicher und reentrant; mehrere VNC-Server können auf derselben CPU für verschiedene Schichten oder Displays gestartet werden. Wenn Ihr Ziel (natürlich das gleiche gilt für die Simulation) hat mehrere Displays oder mehreren Schichten, kann dies eine sinnvolle Option sein. Nur ein VNC-Server können pro Schicht zu einem bestimmten Zeitpunkt gestartet werden, sobald die Verbindung zu einem Viewer endet, eine andere Verbindung herstellen können.

Der VNC-Viewer

Verfügbarkeit

Die Unterordner ™ Tool ™ enthält einen VNC-Viewer aus dem AT & T Laboratories Cambridge. Es ist freie Software und wird unter den Bedingungen der GNU Public License verteilt. Die aktuelle Version des VNC-Software kann von http:// www.uk.research.att.com / vnc, wo mehr Informationen über das VNC-Protokoll sowie Quellcode für Server und Clients für verschiedene Plattformen verfügbar sind heruntergeladen werden.

Version

Der uC / GUI VNC Umsetzung hat sich mit Version 3.3.3R2 und arbeitet mit späteren Versionen getestet.

Plattformen

Der Betrachter ist verfügbar für verschiedene Plattformen. Bitte werfen Sie einen Blick auf die Website von AT & T Laboratories Cambridge, um detaillierte Informationen über die Verfügbarkeit.

Starten des VNC-Viewer

Start der Betrachter durch einen Doppelklick auf die Datei Tool \ vncviewer.exe. Es wird für den VNC-Server veranlassen, angeschlossen werden:
Anschließen an einen VNC-Server mit der Simulation auf dem gleichen PC
Beim Ausführen VNCViewer und Simulation auf dem gleichen PC, tippen Sie "localhost: 0" zu verbinden. ": 0" bedeutet, Server-Index 0. Lassen Sie den Index-Server nimmt den Betrachter Server 0. Also in den meisten Fällen geben Sie "localhost" kann, um die Simulation zu verbinden.
Anschließen an einen VNC-Server läuft auf einem anderen PC oder das Zielv Um eine Verbindung zum VNC-Server läuft auf einem anderen PC oder auf dem Zielsystem, geben Sie den Namen oder die IP-Adresse des Rechners (optional gefolgt von einem ":" und die Server-Anzahl). Um eine Verbindung zu einem VNC-Server auf dem Computer "Jörg", mit der IP-Adresse 192.168.1.2, können Sie "192.168.1.2:0" oder "Joerg: 0" oder "Jörg". Um eine Verbindung zu einem Ziel mit der IP Adresse 192.168.1.254, geben Sie "192.168.1.254".

Screenshot

Die folgenden Screenshots zeigen den Betrachter:
Verbunden mit der Simulation
Verbunden mit dem Ziel

uC / GUI VNC-Server

Starten des uC / GUI VNC-Server

Das einzige, was benötigt, um den VNC-Server starten wird, um die Funktion GUI_VNC_X_StartServer ()-Aufruf:

void MainTask (void) (
GUI_Init ();
GUI_VNC_X_StartServer (0, / * Index * Layer /
0); / * Server-Index * /
...
)

Die obige Funktion Aufruf erzeugt einen Thread, die auf Port 5900 lauscht eine eingehende Verbindung. Nachdem eine Verbindung hergestellt wurde GUI_VNC_Process () erkannt wird, aufgerufen werden.

Ports

Der VNC-Server lauscht auf Port 590x, wobei x den Server-Index. Also für die meisten PC-Servern, wird der Port 5900 sein, weil sie Anzeige 0 als Standard zu verwenden.

Wie der Server gestartet ...

Beim Einsatz der Simulation, muss nur die Funktion GUI_VNC_X_StartServer () aufgerufen werden. Es schafft ein Faden, der auf Port 590x lauscht, bis eine eingehende Verbindung erkannt und die Anrufe GUI_VNC_Process (), die die Durchführung des eigentlichen Servers.

Integration der VNC-Server auf dem Zielsystem

Bevor die Funktion GUI_VNC_X_StartServer () kann verwendet werden, muss es angepasst werden die verwendeten TCP / IP-Stack und die Multitasking-System. Eine Implementierung Probe, die verlangen, nur kleinere Änderungen vorgesehen werden sollte. Die Beispieldatei verwendet keine dynamische Speicherzuweisung an Speicher für die Struktur zuordnen GUI_VNC_CONTEXT später beschrieben. So ermöglicht diese Implementierung nur auf einen Server zu starten.

Konfigurationsoptionen

Typ

Makro

Beschreibung

GUI_VNC_BUFFER_SIZE

Frame buffer size. Der Puffer wird auf dem Stack zugeordnet werden.
Es ist nicht die Geschwindigkeit des Systems, wenn die Puffergröße vergrößern.
Wenn der Stack-Größe ist kurz die Größe des Puffers kann Dow reduziert werden
n zu App. 200 Bytes.
GUI_VNC_LOCK_FRAME
Wenn auf 1 gesetzt wird während der GUI einen Rahmen gesperrt werden wird an den Betrachter.
Diese Option könnte Sinn machen, wenn für eine Dokumentation Screenshots gemacht werden sollte.
/ Div>
GUI_VNC_PROGNAME

(Siehe Erläuterung)

Dieses Makro definiert den Namen des Ziels in der Titelleiste des Viewers angezeigt.
Wenn Sie den Betrachter in die Simulation der Standard ist:
"Embedded GUI auf WIN32"
Wenn Sie auf das Ziel der Standard ist:
"Embedded GUI" v

Members Login
username
password
New MemberRegister Here
Newsletter Signup