Hallo,
nachdem wir nun schon seit einiger Zeit mit dem Emlix-BSP arbeiten, entstand nun doch eine größere Liste von Dingen, die mit der Version 1.0 nicht funktionieren:
Ethernet
Der Ethernet PHY wird nicht richtig initialisiert, es wurde offensichtlich vergessen, eine Verstärkung einzustellen. Wir mußten den kostenpflichtigen Support dafür in Anspruch nehmen, was uns von Emlix voll in Rechnung gestellt wurde:
QuoteDisplay Moreanbei ein Patch den Sie auf den aktuellen Kernel Source anwenden können. Der Patch fügt eine neue Umgebungsvariable zum bootargs Parameter bzw. der Kernel-Commandline hinzu.
Der Parameter nennt sich 'net_gain' und beschreibt die Signalstärke des PHY.
Dieser Parameter lässt sich mit den folgenden Werten initialisieren:
0.0
0.4
0.8
1.2
Der Default Wert liegt bei 0.4dB. Die Autonegotiation des in meiner vorherigen Mail angesprochenen Switch funktionierte mit einem Wert von 0.0dB problemlos.
Der Patch funktioniert bisher nur für den Kernel und nicht für U-Boot, d.h. nach einem harten Reset funktioniert Ethernet nicht auf Anhieb.
Den Kernel mußte ich im übrigen selber bauen, auch wenn uns an anderer Stelle versichert wurde, dass wir das gar nicht müssen, das nur mal nebenbei: http://www.forum.fs-net.de/viewtopic.php?p=2784#p2784
GPIOs
Bisher war es uns nicht möglich, über den fsio-Treiber GPIOs zu lesen, weder mit dem Beispielcode aus der schriftlichen Anleitung, noch mit dem Beispielprogramm aus dem BSP, noch mit eigenem Code. Schreiben funktioniert problemlos. Emlix hat auf unsere Supportanfrage bisher nicht geantwortet.
Debugging
Remote-Debugging mit gdb und gdbserver funktionieren nur sehr unzuverlässig. Auch eine neue (kostenpflichtige) GDB-Version von Emlix hat nicht wirklich geholfen. Das Problem scheint in der Kommunikation zwischen "arm-linux-gnueabi-gdb" und "gdbserver" auf dem Target zu liegen.
Watchdog
Der Watchdog funktioniert bei mir nicht. Ich aktiviere ihn wie im Manual in U-Boot mit "setenv watchdog enable" und "saveenv" und starte in rcS als erstes den einfachen Busybox-Watchdog mit "watchdog -t 1 /dev/watchdog". Wenn ich den nun kille, müßte nach 15 Sekunden ein Reset ausgelöst werden, was nicht passiert. Emlix wurde eben kontaktiert.
Ansonsten läuft die Hardware ganz brauchbar, wir haben mehrere eigene Boards mit dem PicoCOM1 bestückt, eine Applikation von einer 16-Bit CPU der Firma Beck innerhalb von 2 Wochen auf die neue Plattform portiert und ein recht komplettes Linux implementiert (ssh, lighttpd, sntp, Booten der Applikation von SD-Karte mit einem Loop-FS) sowie das Ganze in ein neues Produkt von uns eingebaut.
Wie sieht es denn bei den anderen Forenteilnehmern aus, wie sind da die Erfahrungen?