ICnova ADB1000

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Entwicklungsboard für Module mit dem Atmel AP7000

Eine Beschreibung meiner Erfahrungen bei der Inbetriebnahme.

Wenn Sie so ein Kit erhalten, kann der Lieferumfang, die Position von Bauteilen, die Qualität, usw. schon wieder eine ganz andere sein. Und ich bin Anfänger in Sachen AVR32, Linux, Programmierung, ...

Für mich hat die Platine sehr gute Industriequalität.

Wenn ich Positionsangaben mache, liegt die Grundplatine so vor mir, daß ich auf die Anschlußbuchsen sehe: Links die gestapelten USBs, rechts der DC-Anschluß, hinten rechts die Steckpfosten der UARTS, hinten links die Lithiumzelle.

Anschluß des LCDs

Die Grundplatine hat zwei Anschlußleisten für LC-Displays, aber es kann immer nur eins angeschlossen werden, da die elektrischen Signale an den Anschlüssen parallel liegen.

Die Verriegelung der sehr filigranen Anschlußbuchsen ist geöffnet, wenn der bewegliche braune Plastikteil parallel zur Grundplatine liegt, d.h., hochgezogen wurde; das aber mit äußerster Vorsicht. Ist halt alles nur Plastik, und in der Industrie wird einmal gesteckt, verriegelt, und nur bei Reparatur wieder bewegt.

Die orangene, flexible Leiterbahn des Displays wird so in die Buchse gesteckt, daß das LCD von vorne betrachtet werden kann. Bei mir liegt es dann auf einem isolierenden Papier sozusagen hinter dem SD-Slot.

Steckernetzteil anschliessen

Im Auslieferungszustand sind 3 V eingestellt, den Schieber also auf 12V.

Einstecken: und nichts passiert. Nachmessen der Ausgangsspg.: Null Volt.

Nichts aufregendes, nur das übliche: Fertigungsrückstände auf den Kontakten des Schiebers bilden Übergangswiderstände. Einfach den Schieber mehrmals von Anschlag zu Anschlag bewegen, die Kontakte werden freigekratzt, und ich messe 16,5 V. Für diese einfachen Steckernetzteile, ohne Last gemessen, normal. Da max. 36V am Board anliegen dürfen, messe ich nicht mehr die Betr.spg. unter Last.

Einstecken, und los gehts.

Auf dem LCD können die Meldungen des Bootvorgangs beobachtet werden. Die letzten Zeilen:

...
VFS: Mounted root (jffs2 filesystem) on device 31:1.
Freeing init memory: 80K (90000000 - 90014000)
Thank you for using In-Circuit ICnova
icnova login:

Ist ein Netzwerkkabel angeschlossen, wird dies zusätzlich dokumentiert

...
VFS: Mounted root (jffs2 filesystem) on device 31:1.
Freeing init memory: 80K (90000000 - 90014000)
eth0: link up (100/Full)
Thank you for using In-Circuit ICnova
icnova login:

Ein DHCP-Client im AP7000-Modul versucht dann, im Netzwerk eine IP-Adresse abzufragen. Ein DHCP-Server kann z. B. in einem Router aktiv sein. In meiner Anwendung wurde durch die Konfiguration des DHCP-Servers keine IP zugewiesen: es sollten nur Anfragen von bekannten, d.h., im Router eingetragenen, MAC-Adressen beantwortet werden. Die MAC-Adresse kann von einem Label auf dem AP7000-Modul abgelesen werden.

Erfolgt jetzt keine weitere Eingabe über eine angeschlossenen Tastatur, wird nach ca. 10 Min. der Bildschirmschoner aktiv, und das Display dunkel

Terminalanschluß

die Anzeigen des Displays können auch mit einem Terminal-PGM, z. B. Hyperterminal, Tera Term, ..., mitgelesen werden.
Baud 115200, Data 8, Parity none, Stop 1, Flow control no
Der Anschluss erfolgt über den UART0-Port oben rechts. Ich benutze die USB-UART-Bridge.
Die Adaption Bridge<->ADB1000 erfolgt über ein selbst zu lötendes Adapterkabel. Der Printaufdruck auf beiden Seiten erleichtert die Pinzuweisung. Intuitiv würde man jetzt vielleicht den Sende-Pin TX mit einem Empfangs-Pin RX der Gegenseite verbinden. Da die Bridge aber nur ein Medienkonverter ist, erfolgt die Verdrahtung 1:1. Das ermöglicht auch das Einlöten einer 4-poligen Buchse in die Bridge, und einfaches Stecken auf die Pfostenleiste. Besonders mit angeschlossenem USB-Kabel ist mir aber dann die Last auf den Lötstellen zu hoch.
Die Betriebsspg. am USB-Port wird durch eine rote LED angezeigt, Aktivität auf der UART-Seite durch zwei grüne LEDs

Tastatur

An einer der USB-Host-Buchsen, die drei ganz links, kann eine USB-Tastatur angeschlossen werden.

Ich nutze eine PS2-Tastatur mit PS2-USB-Adapter. Der Adapter ist nur ein kleines Gehäuse mit den notwendigen Buchsen, kein Spgs.anschluß. Die Tastatur wird im laufenden Betrieb aufgesteckt.
Das ist die Antwort des 'Systems'

...
hub 1-1:1.0: unable to enumerate USB device on port 3
hub 1-1:1.0: unable to enumerate USB device on port 3
hub 1-1:1.0: unable to enumerate USB device on port 3
hub 1-1:1.0: Cannot enable port 3.  Maybe the USB cable is bad?
hub 1-1:1.0: Cannot enable port 3.  Maybe the USB cable is bad?
hub 1-1:1.0: hub_port_status failed (err = 2)
hub 1-1:1.0: Cannot enable port 3.  Maybe the USB cable is bad?
hub 1-1:1.0: Cannot enable port 3.  Maybe the USB cable is bad?
hub 1-1:1.0: unable to enumerate USB device on port 3

Ich führe einen Reset aus, um zu sehen, ob die Tastatur evt. dann erkannt wird. Mit dem Durchlauf der Meldungen im Terminalprogramm fällt mir schon auf, dass einige Eintragungen vorher nicht vorhanden waren:

...
Empty flash at 0x00ee6814 ends at 0x00ee7000
jffs2_scan_dirent_node(): Node CRC failed on node at 0x00ee7fe8: Read 0xffffffff, calculated 0xb0229555
Empty flash at 0x00ee8014 ends at 0x00ee8800
jffs2_scan_inode_node(): CRC failed on node at 0x00ee97c8: Read 0xffffffff, calculated 0xb1ac01e3
Empty flash at 0x00ee9814 ends at 0x00eea000
jffs2_scan_inode_node(): CRC failed on node at 0x00eeafc8: Read 0xffffffff, calculated 0xb1ac01e3
Empty flash at 0x00eeb014 ends at 0x00eeb800
jffs2_scan_inode_node(): CRC failed on node at 0x00eec7c8: Read 0xffffffff, calculated 0xb1ac01e3
Empty flash at 0x00eec814 ends at 0x00eed000
Empty flash at 0x00ef0ae4 ends at 0x00ef1000
Empty flash at 0x00ef2748 ends at 0x00ef2800
Empty flash at 0x00ef9a70 ends at 0x00efa000
Empty flash at 0x00efbc94 ends at 0x00efc000
Empty flash at 0x00efdc94 ends at 0x00efe000
port 1 high speed
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 3 ports detected
JFFS2 notice: (806) check_node_data: wrong data CRC in data node at 0x007c9f74: read 0xe4782e56, calculated 0x18694a37.
hub 1-1:1.0: unable to enumerate USB device on port 1
VFS: Mounted root (jffs2 filesystem) on device 31:1.
Freeing init memory: 80K (90000000 - 90014000)
hub 1-1:1.0: unable to enumerate USB device on port 1
hub 1-1:1.0: unable to enumerate USB device on port 1
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
JFFS2 notice: (819) check_node_data: wrong data CRC in data node at 0x0065ef24: read 0x79e575c5, calculated 0xddd3cb14.
JFFS2 notice: (819) check_node_data: wrong data CRC in data node at 0x00eff724: read 0x45cb7688, calculated 0xb03179ce.
JFFS2 notice: (819) check_node_data: wrong data CRC in data node at 0x00efcf24: read 0x6ce41f3f, calculated 0x64c6953d.
JFFS2 notice: (819) check_node_data: wrong data CRC in data node at 0x00efaf24: read 0x6ce41f3f, calculated 0x64c6953d.
JFFS2 notice: (819) check_node_data: wrong data CRC in data node at 0x00ef8d00: read 0x6ce41f3f, calculated 0xebd1c313.
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
hub 1-1:1.0: unable to enumerate USB device on port 1
Thank you for using In-Circuit ICnova

Empty flash und JFFS2 notices gab es, glaube ich, vorher nicht. Diese Meldungen bleiben jetzt auch bei abgezogener PS2-Tastatur.
Ein paar Tage später noch ein Test mit einer 'echten' USB-Tastatur:

...
jffs2_scan_inode_node(): CRC failed on node at 0x00ee07cc: Read 0xffffffff, calculated 0x8b46ec64
Empty flash at 0x00ee0818 ends at 0x00ee1000
jffs2_scan_dirent_node(): Node CRC failed on node at 0x00ee1ff0: Read 0xffffffff, calculated 0x007e2f7e
Empty flash at 0x00ee201c ends at 0x00ee2800
jffs2_scan_inode_node(): CRC failed on node at 0x00ee37c8: Read 0xffffffff, calculated 0x9cf27226
Empty flash at 0x00ee3814 ends at 0x00ee4000
jffs2_scan_dirent_node(): Node CRC failed on node at 0x00ee4fec: Read 0xffffffff, calculated 0xe31c5271
Empty flash at 0x00ee5018 ends at 0x00ee5800
jffs2_scan_inode_node(): CRC failed on node at 0x00ee67c8: Read 0xffffffff, calculated 0x8e677f76
Empty flash at 0x00ee6814 ends at 0x00ee7000
jffs2_scan_dirent_node(): Node CRC failed on node at 0x00ee7fe8: Read 0xffffffff, calculated 0xb0229555
Empty flash at 0x00ee8014 ends at 0x00ee8800
jffs2_scan_inode_node(): CRC failed on node at 0x00ee97c8: Read 0xffffffff, calculated 0xb1ac01e3
Empty flash at 0x00ee9814 ends at 0x00eea000
jffs2_scan_inode_node(): CRC failed on node at 0x00eeafc8: Read 0xffffffff, calculated 0xb1ac01e3
Empty flash at 0x00eeb014 ends at 0x00eeb800
jffs2_scan_inode_node(): CRC failed on node at 0x00eec7c8: Read 0xffffffff, calculated 0xb1ac01e3
Empty flash at 0x00eec814 ends at 0x00eed000
Empty flash at 0x00ef0ae4 ends at 0x00ef1000
Empty flash at 0x00ef2748 ends at 0x00ef2800
Empty flash at 0x00ef9a70 ends at 0x00efa000
Empty flash at 0x00efbc94 ends at 0x00efc000
Empty flash at 0x00efdc94 ends at 0x00efe000
port 1 high speed
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 3 ports detected
JFFS2 notice: (806) check_node_data: wrong data CRC in data node at 0x007c9f74: read 0xe4782e56, calculated 0x18694a37.
VFS: Mounted root (jffs2 filesystem) on device 31:1.
Freeing init memory: 80K (90000000 - 90014000)
usb 1-1.1: new low speed USB device using isp176x and address 3
usb 1-1.1: configuration #1 chosen from 1 choice
input: Key Tronic Keytronic USB Keyboard as /class/input/input1
generic-usb 0003:03F9:0100.0001: input: USB HID v1.10 Keyboard [Key Tronic Keytronic USB Keyboard] on usb-isp176x.0-1.1/input0
JFFS2 notice: (827) check_node_data: wrong data CRC in data node at 0x0065ef24: read 0x79e575c5, calculated 0xddd3cb14.
JFFS2 notice: (827) check_node_data: wrong data CRC in data node at 0x00eff724: read 0x45cb7688, calculated 0xb03179ce.
JFFS2 notice: (827) check_node_data: wrong data CRC in data node at 0x00efcf24: read 0x6ce41f3f, calculated 0x64c6953d.
JFFS2 notice: (827) check_node_data: wrong data CRC in data node at 0x00efaf24: read 0x6ce41f3f, calculated 0x64c6953d.
JFFS2 notice: (827) check_node_data: wrong data CRC in data node at 0x00ef8d00: read 0x6ce41f3f, calculated 0xebd1c313.
Thank you for using In-Circuit ICnova

Diese Tastatur wird also erkannt, und kann benutzt werden


=== *die crc fehler kommen weil du einen reset gemacht hast, einfach mal augen auf und lesen, jffs2 ist nicht readonly* ======