Abo
  • Services:

Register auslesen

Als Nächstes schreibe ich ein kleines Skript für OpenOCD, um den Inhalt der SoC-Register über JTAG auszulesen. Die folgenden OpenOCD-Kommandos zeigen zum Beispiel die Konfiguration des GPIO-Port C an:

> mdw phys 0x56000020
0x56000020: aaaa56aa
> mdw phys 0x56000024
0x56000024: 0000000c
> mdw phys 0x56000028
0x56000028: ffffffff
Stellenmarkt
  1. Technische Universität Kaiserslautern, Kaiserslautern
  2. Universitätsmedizin Göttingen, Göttingen

Allein mit dem Blick auf die Register gibt es schon Einiges zu entdecken. Die Registerdaten zusammen mit dem Datenblatt für den SoC helfen mir, herauszufinden, wie die Hardware konfiguriert ist.

An der Adresse 0x56000020 steht das GPIO-C-Control-Register (GPCCON). Es legt fest, wie die GPIO-Pins konfiguriert sind. Jedem Pin im Register sind zwei Bits zugewiesen. Der Wert 00 heißt, der Pin ist ein Input-Pin, 01 ein Output-Pin und 10 weist dem Pin eine spezielle Funktion zu. Die Pins 5, 6 und 7 sind als Output definiert, die übrigen mit speziellen Funktionen. Bei Port C heißt das, sie werden für die Videoausgabe benutzt. Das Register an Adresse 0x56000024 (GPCDAT) zeigt den aktuellen Zustand der Pins dieses Ports und 0x56000028 (GPCUDP) steuert aktiviert Pull-up- beziehungsweise Pull-down-Widerstände an den Pins.

Die Belegung für die Videoausgabe-Pins habe ich mir notiert:

GPC0    2 LEND      Video Line End
GPC1    2 VCLK      Video Clock
GPC2    2 HSYNC     Video Horizontal Sync
GPC3    2 VSYNC     Video Vertical Sync
GPC4    2 VDEN      Video Data Enable
GPC5    1 Output
GPC6    1 Output
GPC7    1 Output
GPC8:15 2 VD[0:7]   Video Data[0:7]

Ein Großteil der Pins an den Ports C und D steuert das LCD an. Indem ich die Register des Display-Controllers im SoC auslese, erhalte ich die LCD-Konfiguration: Länge des Sync-Signals, Videotaktrate und so weiter.

Mit Port A funktioniert es genauso:

> mdw phys 0x56000000
0x56000000: 0f7f6f5c
> mdw phys 0x56000004
0x56000004: 00010003
> mdw phys 0x56000008
0x56000008: 00000000

Jeder Pin benutzt aber nur ein Bit in 0x56000000 (GPACON). Die 0 steht für einen Output-Pin, 1 entspricht einer Spezialfunktion.

Die Pins GPA17 bis 22 dienen zur Ansteuerung des NAND-Flash-Speichers, wie er auch auf dem Mainboard verbaut ist. Allerdings scheinen andere, wie GPA 25 und 26, weniger sinnvoll. Sie sind für eine Spezialfunktion konfiguriert. Die Pins (DQM2 und 3) sollten mit 32 Bit breiten SDRAM verwendet werden, aber der verbaute Hynix SRAM ist nur 16 Bit breit. Entweder handelt es sich dabei um die Standardkonfiguration des Chips oder der Firmware-Code enthält Überbleibsel aus früheren Versionen.

Wenn Pins als Output konfiguriert sind, ist es auch lehrreich, einfach ihren Zustand zu ändern. Schalte ich GPA1 oder GPA2, höre ich ein Klickgeräusch im Inneren des Oszilloskops. Wahrscheinlich schalten sie Relais im Analog-Frontend. Das ist praktisch, wenn mit der Zustandsänderung ein Geräusch verbunden ist, die anderen Pins muss ich dagegen durchmessen, um zu sehen, was sie tatsächlich tun.

Der erste Versuch mit Linux

Praktisch habe ich jetzt alles, was notwendig ist, um Linux für das Oszilloskop zu portieren. Mit den Registerdaten dauert es nur drei Abende, Linux auf dem Oszilloskop mit einer seriellen Konsole und einer Busybox-Shell zu starten.

Linux unterstützt den SoC und die meisten seiner Funktionen bereits. Ich werde nicht zu tief in die Details gehen, aber im Prinzip geht es allein darum, die Werte aus den Registern in die existierenden Treiber einzubauen.

 Flash-Speicher auslesenTrotzdem ist es nicht ganz einfach 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9.  


Anzeige
Spiele-Angebote
  1. 54,99€ mit Vorbesteller-Preisgarantie (Release 14.11.)
  2. 14,99€
  3. 45,99€ (Release 19.10.)
  4. 33,99€

grslbr 22. Nov 2016

+1 Mehr davon und ich abonniere auch. Und wie laoladabamba sagt, die Weltraumartikel...

grslbr 22. Nov 2016

Aber ehrlich. Wenn's nur News über neue Grafikkarten gibt heulen die selben Leute über...

cherubium 22. Nov 2016

ich seh das ja auch immer mit einem zwinkernden Auge. Entwickler sollen entwickeln und...

maze_1980 22. Nov 2016

Die Chancen dass es ein Linux ist sind relativ gross. Würde es mich interessieren hätte...

okidoki 22. Nov 2016

Hier kann man mal sehen, was Fachkraft wirklich bedeutet. *Davon* haben wir zu wenige.


Folgen Sie uns
       


Lenovo Yoga Book C930 mit E-Ink-Display ausprobiert (Ifa 2018)

Ein Convertible mit E-Ink-Display - das Yoga Book C930 ist ein Hingucker, aber wie bedient es sich? Wir haben es ausprobiert.

Lenovo Yoga Book C930 mit E-Ink-Display ausprobiert (Ifa 2018) Video aufrufen
iPhone Xs, Xs Max und Xr: Wer unterstützt die eSIM in den neuen iPhones?
iPhone Xs, Xs Max und Xr
Wer unterstützt die eSIM in den neuen iPhones?

Apples neue iPhones haben neben dem Nano-SIM-Slot eine eingebaute eSIM, womit der Konzern erstmals eine Dual-SIM-Lösung in seinen Smartphones realisiert. Die Auswahl an Netzanbietern, die eSIMs unterstützen, ist in Deutschland, Österreich und der Schweiz aber eingeschränkt - ein Überblick.
Von Tobias Költzsch

  1. Apple Das iPhone Xr macht's billiger und bunter
  2. Apple iPhones sollen Stiftunterstützung erhalten
  3. XMM 7560 Intel startet Serienfertigung für iPhone-Modem

Virtuelle Realität: Skin-Handel auf Basis von Blockchain
Virtuelle Realität
Skin-Handel auf Basis von Blockchain

Vlad Panchenko hat als Gaming-Unternehmer Millionen gemacht. Jetzt entwickelt er ein neues Blockchain-Protokoll. Heute kann man darüber In-Game Items sicher handeln, in der anrückenden VR-Zukunft aber alles, wie er glaubt.
Ein Interview von Sebastian Gluschak

  1. Digital Asset Google und Startup bieten Blockchain-Programmiersprache an
  2. Illegale Inhalte Die Blockchain enthält Missbrauchsdarstellungen

Gesetzesentwurf: So will die Regierung den Abmahnmissbrauch eindämmen
Gesetzesentwurf
So will die Regierung den Abmahnmissbrauch eindämmen

Obwohl nach Inkrafttreten der DSGVO eine Abmahnwelle ausgeblieben ist, will Justizministerin Barley nun gesetzlich gegen missbräuchliche Abmahnungen vorgehen. Damit soll auch der "fliegende Gerichtsstand" im Wettbewerbsrecht abgeschafft werden.
Von Friedhelm Greis


      •  /