Hallo,
ich habe oben genanntes Board erworben.
Vorneweg: ich bin blutiger Laie was die Programmierung von µC angeht,
und wollte mal reinschnuppern.
Das von mir erworbene Bord ist ja randvoll mit Peripherie, unter anderem
ein Display sowie ein Gyroskop.
Nun ist meine Frage folgende: Wenn ich nun GPIO-Pins nutzen will an
denen schon etwas von der Peripherie mit dranhängt, zB das Display, wie
muss ich da vorgehen? Kann ich die Pins einfach als Ein-oder Ausgang
konfigurieren oder zerschiesse ich mir damit was (einzig für PA0
befindet sich eine Solder Bridge auf dem Bord um den Taster zu
deaktivieren)?
Mir schwebt ein Monitor für einen externen Bus vor, bei dem 40 Pins
überwacht werden müssen, weswegen ich mit den 25 freien Pins nicht
wirklich weiter komme. Ich kann für mein Vorhaben auf das LCD
verzichten, da ich die gelesenen Daten ins SD-RAM übertragen möchte und
dann auf Stick speichern. Allerdings finde ich nirgends in den
Unterlagen von ST ob und wie ich das Display deaktivieren kann und ob
ich die Pins einfach mit ihrer alternativen Funktion nutzen kann, wo das
Display ja fest verbaut ist.
Per Jumper kann ich augenscheinlich auch nichts deaktivieren, daher nun
meine Ratlosigkeit. Auf zeroscience werden die meisten Pins als "used,
may be used for other purpose" gekennzeichnet, aber es gibt auch hier
keine Info was ich beachten muss.
Wer kann mir da eine kurze einsteigerfreundliche Erklärung oder Links
zum passenden Wissen vermitteln, die ich nach selbstständiger Suche
leider nicht fand?
Gruß
BladeRunner
Knapp an der Frage vorbei, aber: während die Doscovery-Boards eher
ziemlich voll sind, muß man bei den Nucleo-Boards weniger stillegen. Die
sind nicht so zugepflastert.
Im Allgemeinen musst du dir jedes verbaute Gerät einzeln anschaun und
evaluieren, wie es sich bei verschiedenen Signalen verhält. Irreversibel
kaputt machen kannst du aber nur etwas, wenn zwei Geräte die selbe
Leitung treiben wollen.
Beim Bildschirm beispielsweise sehe ich da kein großes Problem, da die
meisten Signale wohl nur Eingänge am Bildschirm sind. Prüfe das aber
selbst! (ich habs nur kurz überfogen...)
Im schlimmsten Fall macht die Hardware irgendwas, was sie nicht soll,
z.B. der Bildschirm zeigt irgendwelche Dinge an. Das ist aber wieder
zurückgesetzt, wenn du ein Reset durchführst.
Wie gesagt, es geht erst richtig was kaputt, wenn du zwei Treiber auf
einer Leitung hast.
Beachten musst du natürlich auch, wie sich das zu messende Signal
verhält, wenn es in einen anderen Chip läuft (Eingangsimpedanzen und
so). Höchst präzise Messungen wirst du mit einem solchen Board nicht
durchführen können.
Wenn das dein erster Mikrocontroller ist, war die Wahl wohl nicht ganz
so geschickt. Großer Chip mit viel Hardware, das macht den Einstieg
nicht gerade leicht.
Little Basdart schrieb:> Wenn das dein erster Mikrocontroller ist, war die Wahl wohl nicht ganz> so geschickt.
Bei den lächerlichen Preisen ist der Verlust ja nicht dramatisch.
Das macht insofern sogar Sinn: von den Discover-Boards kann man
abkupfern, wie etwas gemacht werden könnte.
Mit den kleinen Boards baut man dann seine eigenen Prototypen auf.
Uwe hat als Startpunkt eine Übersicht zusammengestellt, auf der
zumindest mal alle wirklich freien Pins zu erkennen sind:
http://mikrocontroller.bplaced.net/wordpress/wp-content/uploads/2013/10/Pinbelegung_f429_v100.html
Die Farbleitungen des Displays kannst du benutzen (R/G/B0 - R/G/B7),
aber nicht die Kontrollleitungen. Fernhalten solltest du dich auch von
den Pins, die schon für SPI und I²C benutzt werden, denn die Onboard
Peripherie funkt dir sonst dazwischen.
Für Experimente mit einem Barebone STM32 ist das Board allerdings nicht
gedacht. Da fährst du besser mit einem VL-Discovery. Das LCD mit Touch
ist ja gerade eines der Highlights dieses Disco.
Kaputt geht da übrigens überhaupt nix, egal wie du die Ports
konfigurierst. Allerdings sind die im Datenblatt als 5V tolerant
bezeichneten Pins das natürlich nicht, wenn da schon Peripherie dran
hängt.
Hallo,
erst mal danke für die freundlichen und ausführlichen Antworten, auch
wenn sie mich ein wenig ernüchtert haben.
Ich hatte mir das Board unter folgenden Überlegungen zugelegt:
- extrem gutes P/L-Verhältnis - knapp 25 Euro waren ein Schnapp.
- flotter Prozessor, da ja einiges an Daten ermittelt und dann hin- und
her geschaufelt werden muss.
- Grosses RAM zum kurzen lagern der Daten, 8MiByte SDRAM als
Datensammler
- USB on board zum Schreiben der ermittelten Daten.
- viele (so dachte ich) freie GPIO, welche 5V tolerant sind.
Das Bus-System was ich überwachen will ist Vintage: der Expansion Port
des Commodore 64. Nahziel wäre Monitoring aller Leitungen, Fernziel auch
Beschreiben des Speichers im C64 per DMA. Das Bussystem ist mit 1MHz
getaktet und arbeitet auf 5V.
Ein Fehlansprechen des Displays kann ich problemlos verschmerzen, ein
Rösten von Bauteilen da die keine 5V vertragen eher nicht ;)
Es geht insgesamt nur um digitale Signale, Analog liegt da nichts vor.
Für den STM32 hab ich mich auch entschieden da ich Kentnisse in C (nicht
prickelnd, aber vorhanden), Basic (verschiedene Dialekte, ich sah dass
es auch ein Mikrobasic für ARM gibt) und ein wenig Assembler (hier
allerdings größtenteils 6502 / Z80) beherrsche.
Ich würde gern auch bei der einfachen Programmierung pert ST-Link
bleiben.
Gibt es denn ein Board was mir den 429+USB+vorbereitetes SDRAM+40 freie
(5V-)GPIO bietet?
Eine Experimentierschnittstelle wie hier (also auf Steckerleisten nach
aussen geführt) wäre absolut von Vorteil.
Ich weiss zwar wo der Lötkolben heiss wird, scheue mich aber vor SMD und
BGA geht für Otto Normalverbraucher ja gar nicht.
Im Zweifel klemme ich lieber die nicht benötigten Bauteile auf dem Board
ab, falls das ohne größeren Schaden machbar ist - hierzu sind meine
Elektronikkentnisse aber doch eher zu rudimentär. Ich kann zwar
Schaltungen nach Plan aufbauen, bei vielen Bauteilen fehlt mir jedoch
zugegeben das tiefere Verständnis.
Daher wollte ich den Aufbau auch minimal halten.
Danke schon jetzt,
BladeRunner
Naja, wenn es nicht gerade der 429'er sein muss, wäre da das
STM32-H407 Board von Olimex:
https://www.olimex.com/Products/ARM/ST/STM32-H407/open-source-hardware
Das ist deutlich weniger Peripherie drauf, und somit viel mehr Ports
frei.
Stell Dir die Programmierung aber nicht als allzu simpel vor. In diesem
Forum findest Du unzählige Beiträge zu den STM32 Kontrollern und dem
Thema IDE oder wie man sie programmiert.
- Proprietäre Entwicklungsumgebung oder OpenSource (GCC ev. mit Eclipse)
- Welche IDE und wenn es auch nur ein Editor ist.
- Welche Toolchain.
- Nativ oder mit den (verschiedenen Libs) von ST.
Da wirst Du ein paar Stunden/Tage/Nächte investieren müssen, bis Du
durchblickst.
Empfehlen kann ich http://mikrocontroller.bplaced.net/wordpress/
G D
Ok,
wenn es wirklich mit reinem Auslöten nicht benötigter Teile getan ist
(keine Lötbrücken vonnöten?) dann wäre das zumindest eine Option.
Wobei ich vorher erst mal nach und nach mit den bisjetzt freien Pins
experimentieren ob ich überhaupt Erfolg habe, bevor ich die Platine
umsonst kannibalisiere.
Daniel B. schrieb:> Da wirst Du ein paar Stunden/Tage/Nächte investieren müssen, bis Du> durchblickst.
Ich habe da eher im Wochen- bis Monatszeitraum geplant. Das Schöne ist
allerdings dass ich auch keinerlei Zeitdruck habe. Es geht mir ja um's
Experimentieren und Lernen, wie anno dazumal, als der C64 noch "Neuland"
für mich war. Daher ja auch eben die Anmerkung dass ich erstmal mit den
freien Ports spielen werde. Am Anfang werd ich schon stolz wie Bolle
sein wenn ich einfach mal den Prozessortakt vernünftig monitoren kann.
Ein einzelner Pin ist erstmal eine überschaubare Aufgabe.
Ich habe mir die Demo von Mikrobasic sowie die CoIDE von coocox
installiert und werde das Schritt für Schritt angehen.