Forum: Mikrocontroller und Digitale Elektronik PIC32MZ mit 32MB RAM - GUI basteln?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von PICianer (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Hi,

es gibt ja inzwischen solche PIC32MZ mit 2D-GPU und 256kByte SRAM / 32MB 
DDR2-RAM:
http://www.microchip.com/wwwproducts/en/pic32mz1025dab176

Die haben ein 24-Bit-LCD-Interface. Mit einem LVDS-Serializer wie den 
SN75LVDS83B kann man große TFTs mit LVDS-Interface ansteuern.
Meine PIC32 Wetterstation könnte auch ein Upgrade vertragen. Da käme der 
Chip gerade recht.

Problem:
Ich habe schon mal eine (kleine) GLCD-Lib geschrieben, drum habe ich 
eine grobe Vorstellung, wie aufwändig es sein würde, eine halbwegs 
schöne GUI auf so große Displays zu bringen. Wenn man bei 0 anfängt. 
Will ich hier nicht ;-)

Die Frage wäre:
Welche GLCD-Lib benutzt man für sowas?
Gibts was offenes?

von Lothar (Gast)


Bewertung
1 lesenswert
nicht lesenswert
PICianer schrieb:
> Meine PIC32 Wetterstation könnte auch ein Upgrade vertragen

Wenn schon ein PIC32 im Einsatz ist kann das vielleicht lohnen. Es gibt 
z.B. das hier:

http://ww1.microchip.com/downloads/en/DeviceDoc/30003033E.pdf

Aber eventuell wäre es einfacher und billiger ein Pi 1A+ zu nehmen. Oder 
kann der PIC32 im Bereich I/O was das ein Pi nicht kann?

von PICianer (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Lothar schrieb:
> PICianer schrieb:
>> Meine PIC32 Wetterstation könnte auch ein Upgrade vertragen
>
> Wenn schon ein PIC32 im Einsatz ist kann das vielleicht lohnen. Es gibt
> z.B. das hier:
>
> http://ww1.microchip.com/downloads/en/DeviceDoc/30003033E.pdf

Danke, das sehe ich mir mal an.

> Aber eventuell wäre es einfacher und billiger ein Pi 1A+ zu nehmen. Oder
> kann der PIC32 im Bereich I/O was das ein Pi nicht kann?

Man sollte SOCs und µC nie in den gleichen Topf werfen.

Den PIC würde man meist ohne Betriebssystem laufen lassen (oder ein 
kleines RTOS verwenden), der Raspberry PI ist ein vollwertiger 
Linux-Rechner. Die Art wie man sowas programmiert und die Features der 
Teile sind nicht wirklich vergleichbar.

Meine Anwendung ist eher ein Grenzfall. Ich vermute aber, wenn das Ziel 
rein die Wetterstation ist, ist der Raspberry PI die sinnvollere Wahl.

Aber hier geht es mir um die Beschäftigung mit dem Grafikdingen und dem 
konkreten µC. Natürlich muss sich ein möglicher Mehraufwand im 
sinnvollen Rahmen halten. Ob das so ist, versuche ich herauszufinden.

von Lothar (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PICianer schrieb:
> Raspberry PI ist ein vollwertiger Linux-Rechner

Wir verwenden den Pi 1A+ ohne Betriebssystem oder mit RTOS - für Linux 
ist der ohnehin zu schwach:

https://ultibo.org/download/
https://www.riscosopen.org/content/downloads/raspberry-pi

FreeRTOS gibt es auch, läuft noch nicht so rund, hätte ohnehin keine 
Grafik für GUI.

von macload1 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Doch doch,
Ich habe mal selbst ein Projekt gemacht mit dem Raspberry Pi, FreeRTOS 
und einer Grafiklib die µGFX (https://ugfx.io/) heißt.
Die ist eh zu empfehlen für deinen Fall (gratis und da sind einige tolle 
Features drin), egal, ob du der Raspberry ohne OS (oder mit FreeRTOS) 
oder den PIC32 nimmst.
Das Problem mit Bare Metal auf dem RPi ist, dass es kein echtes 
Treiberpaket gibt, es gibt zwar hier und da ein paar Source Codes, die 
du übernehmen kannst (siehe "Circle"), aber wenn etwas davon nicht 
funktionniert, dann musst du dir die Register selbst raussuchen, und das 
ist auf jeden Fall nicht so gut dokumentiert wie beim PIC.
Viel Spaß bei deinem Projekt!

von PICianer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
macload1 schrieb:
> Doch doch,
> Ich habe mal selbst ein Projekt gemacht mit dem Raspberry Pi, FreeRTOS
> und einer Grafiklib die µGFX (https://ugfx.io/) heißt.
> Die ist eh zu empfehlen für deinen Fall (gratis und da sind einige tolle
> Features drin), egal, ob du der Raspberry ohne OS (oder mit FreeRTOS)
> oder den PIC32 nimmst.
> Das Problem mit Bare Metal auf dem RPi ist, dass es kein echtes
> Treiberpaket gibt, es gibt zwar hier und da ein paar Source Codes, die
> du übernehmen kannst (siehe "Circle"), aber wenn etwas davon nicht
> funktionniert, dann musst du dir die Register selbst raussuchen, und das
> ist auf jeden Fall nicht so gut dokumentiert wie beim PIC.
> Viel Spaß bei deinem Projekt!

Danke, das klingt sinnvoll. Die Lib werde ich mir ansehen.
Aber vermutlich nicht auf dem Raspberry PI.

von Lothar (Gast)


Bewertung
1 lesenswert
nicht lesenswert
macload1 schrieb:
> Das Problem mit Bare Metal auf dem RPi ist, dass es kein echtes
> Treiberpaket gibt, es gibt zwar hier und da ein paar Source Codes, die
> du übernehmen kannst (siehe "Circle"), aber wenn etwas davon nicht
> funktionniert, dann musst du dir die Register selbst raussuchen

Deswegen hatte ich ultibo oder RiscOS pico empfohlen. Bei ultibo wird 
grade massiv an den Treibern gearbeitet, insbesondere bei der Grafik 
fehlt es aber noch. RiscOS pico ist eine Single-Task Version von RiscOS 
und funktioniert wie Bare Metal mit einer Core Library. Es gibt hier 
keine Latenz, sogar PWM im ns Bereich ist möglich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.