Morgen,
ich beschäftige mich momentan - wie so viele hier - mit dem STm32F4
Discovery Board.
Mittlerweile läufts auch, mit eigenem Makefile. Die ersten Timer laufen,
die LEDs blinken.
Jetzt frag ich mich, was soll ich damit anstellen?
Ich habe bisher mehrere Projekte mit den AVRs umgesetzt. Uhren, die
obligatorische LED-Matrix, einen (kleinen) Cube etc...
Für alle diese Projekte war der Atmel mehr als ausreichend.
Vor allem war der Weg immer das Ziel. Jedes Projekt hat wieder neue
Hardware"treiber" benötigt, bevor es mit der eigentlichen (meist eher
trivialen) Applikation losging. Im Laufe der Zeit kam da natürlich eine
schicke Sammlung an "Bibliotheken" zustande.
So, mein STM32F4 läuft. Dank CMSIS und ST Lib kann ich sofort loslegen.
Nur mit was?
Mir fällt spontan kein Projekt ein dass ich nicht mit dem Atmel
erschlagen könnte. Sogar einfacher, denn wenns ans Anfertigen einer
eigenen Platine geht ist der Atmel doch um einiges handlicher.
Ich frag mich grad, welche Art von Projekten im Hobbybereich diese
Rechenpower braucht.
Versteht mich ned falsch, allein zu Lernzwecken werd ich mich weiterhin
mit dem STM32 beschäftigen. Aber ob ich damit jemals was umsetzen werde
ist fraglich.
Spontan fallen mir Projekten mit Grafikausgabe ein, oder viele
hochauflösende PWM. Da kann der Atmel natürlich nicht mithalten.
Was habt ihr denn mit den 32Bittern hobbymäsig umgesetzt?
Viele Grüße!
Ich bin umgestiegen bzw. benötige die Geschwindigkeit und den Flash für
kleine grafische Displays.
Mit Icons im const geht Platz drauf.
Außerdem bekommt man kleine Bauformen mit mehreren UARTs.
Leg den STM weg und kauf Dir einen Raspberry Pi. Mit dem kann man auch
"große" Sachen wir Media-Server, Webserver mit Datenbank etc. machen.
Und ein richtiges Betriebssystem bringt der schon mit.
Das Gefrickel mit dem PHY würde ich mir heute nicht mehr antun.
Naja der Raspberry Pi ist gut, wenn Du quasi einen "richtigen PC" haben
willst. Um da direkt Hardware anzusteuern ist der nicht ganz so toll,
einfache Sachen wie LED Matrixen gehen aber natürlich auch da.
Da ist halt Kontinuum der Anwendungen vom ATMega(usw.) über die ARMs bis
zu einem Linux SoC. Der ATMega kann halt harte Echtzeit im
Nanosekundenbereich sehr einfach, während Du bei einem Linux SoC mit
viel Aufwand vielleicht mal auf Mikrosekunden runter kommst. Dafür sind
Netzwerksachen mit einem Linux SoC trivial.
Das RaspberrryPi ist ein Minicomputer, der STM32 ein Mikrocontroller.
Dementsprechend hat der RPi kaum vernünftige Außenschnittstellen etc.
Außerdem ist es ca. 5x-8x so teuer mit Speicherkarte, Stromversorgung
etc. und braucht auch deutlich mehr Strom. Außerdem ist das Phy
Gefrickel echt überschaubar.
Als Bauvorschlag: Es gibt schon DSO Projekte für den STM32, aber eins
mit externem, größeren Display hab ich noch nicht gesehen. Ebenso mit
entsprechender Analogtechnik vorweg sieht es noch mau aus.
Außerdem: Du kannst deine alten Projekte nochmals mit dem STM
realisieren und versuchen, echt sauberen, gut wartbaren Code zu
produzieren. Auf dem STM kann man sich häufigere Funktionsaufrufe ja
leisten, weswegen man echt die Chance hat, hochgradig wartbar und sauber
zu programmieren. Das ist meiner Meinung nach eine lohnenswerte
Herausforderung.
Erstmal danke euch!
Also den Pi find ich hier in der Diskussion ein wenig deplatziert. Der
liegt auch bei mir zuhause. Allerdings sehe ich es so, dass der Pi für
gänzlich andere Projekte geeignet ist. Eben vorrangig
Media/File/Web-Server, die aus bestehenden Linux-Tools aufgesetzt
werden.
Der STM32 ist ja immer noch näher am Atmel, was die Anwendung betrifft.
Nur eben um ein vielfaches leistungsstärker und komplexer.
Wer weiß, vielleicht realisier ich damit mal einen echt großen RGB-Cube
(mit Spektrumanalyser und Sound? :-) ). Ist momentan meine einzige Idee.
Sowas würd zwar auch auf einem oder mehreren Atmels gehen, aber dann
wirds echtes Gefrickel und hässlicher Code.
RTOS werd ich auch mal eins aufsetzen. Wobei der obige Kommentar "dann
hast du ein echtes Betriebssystem" für mich nicht nachvollziehbar ist.
Ich kenn z.B. FreeRTOS, aber als echtes Betriebssystem würd ich das
nicht bezeichnen. Das ist doch nur ein Scheduler mit preemptivem
Taskwechsel und bisl Semaphoren zur Synchronisation. Wärs ein "echtes
OS" könnt ich den Vim crosskompilieren und auf dem Discovery laufen
lassen :-)
Aber wir schweifen ab...
wendelsberg schrieb:> Komisch, schon mehr als 2 Stunden und der Papst der STM32-Kirche ist> noch nicht aufgetaucht.
Meinst du er hat sich gebessert?
Oder mal laut rufen wie im Kaspertheater:=)
Helmut Lenzen schrieb:> Meinst du er hat sich gebessert?
Kaum. Ich glaube eher, dass, wie jeden Tag, mal wieder der Schaum vom
Mund abgewaschen wird :-)
Mir fallen da spontan einige Dinge ein:
Der hat ein SD-Card-Interface und 2xUSB, dazu drei schnelle ADCs und
LCD-Support -> Datenlogger mit Grafikdisplay
Er hat auch zwei schnelle DACs mit an Bord: Arbiträrgenerator mit zwei
Kanälen.
Oder ein Netzwerkanalysator mit Bodeplot-Ausgabe auf Grafikdisplay.
Oder, oder, oder...
Eine industrielle Steuerung habe ich bereits mit dem STM32 hinter mir
(STM32F4 SPS mit 8DI/DO 2AI/2AO mit Modbus, Profibus und Profinet).
Fertig zertifiziert etc. nur an der Software zum Programmieren müsste
man arbeiten.
Michl schrieb:> ich beschäftige mich momentan - wie so viele hier - mit dem STm32F4> Discovery Board.
Tja, da merkst du, wozu diese Boards da sind: eben nur zum Kennenlernen.
Aber wenn du den µC darauf dann mal kennst, wäre das ja ein guter
Anfang, dessen eigentliche Leistungen mal in der Praxis zu erproben.
Beispielsweise ein kleines tragbares SDR Kurzwellenradio zu bauen und
die DSP-Fähigkeiten des STM auszureizen. Also HF per I/Q-Mischer
runtermischen und in Audio-ADC rein, SDR.., Audio Richtung Lautsprecher
raus, einfaches monochrom-Display und Drehgeber als Bedienelemente.
W.S.
Michl schrieb:> Mir fällt spontan kein Projekt ein dass ich nicht mit dem Atmel> erschlagen könnte.Michl schrieb:> Vor allem war der Weg immer das Ziel.
Jetzt nicht mehr? Du musst den Power nicht voll nutzen. Mach mit dem
Ding etwas einfaches.
Michl schrieb:> Jedes Projekt hat wieder neue> Hardware"treiber" benötigt, bevor es mit der eigentlichen (meist eher> trivialen) Applikation losging. Im Laufe der Zeit kam da natürlich eine> schicke Sammlung an "Bibliotheken" zustande.
Na gut, die hast du jetzt mit CMSIS und der ST-Lib schon ab Werk. Dann
kann man sich jetzt auf die Applikation konzentrieren. Versuch doch
etwas mit FFT, Demodulation oder so. Du wirst die 32 Bit lieben lernen.
Jan Berg schrieb:> Außerdem: Du kannst deine alten Projekte nochmals mit dem STM> realisieren und versuchen, echt sauberen, gut wartbaren Code zu> produzieren. Auf dem STM kann man sich häufigere Funktionsaufrufe ja> leisten, weswegen man echt die Chance hat, hochgradig wartbar und sauber> zu programmieren. Das ist meiner Meinung nach eine lohnenswerte> Herausforderung.
That's it. Ich hab mit Uwe Beckers guten Bibliotheken angefangen.
Inzwischen ist die ganze Geschichte mit SDCARD, TFT, RFM12, USB, UART,
PWM, Touchscreen etc. schon wieder fast so unübersichtlich geworden wie
beim AVR, wo man schon ein bißchen schlau mit den Ressourcen umgehen
muß.
Ich glaube, mit dem STM32 hat man die Chance, auch saubere Bibliotheken
zu erstellen (in dem Sinne, daß man sie standalone nutzen kann).
Wobei ich sagen muß: Die Touchscreencontroller bei den dicken Displays
(4.3""-7") kann man mit einer schnellen Abfrage von vier Analogports des
AVR schneller und präziser abfrühstücken als mit meinem derzeitigen
STM32-Code.
Zum TO: Graphik-RGB-TFTs lassen Dir keine Ruhe vor Ideen mehr, wenn erst
mal ein STM32 dranhängt. Da kann man den AVR aber sowas von vergessen...
Ich würde mir was anspruchsvolles raus suchen, was mich auch
interessiert. Das kann für jeden was anderes sein. Aber ich würde z.B.
interessant finden damit etwas signalverarbeitungstechnisches zu
realisieren.
z.B. wäre es mal interessant eine Antenne+Vorverstärker für DCF77 zu
bauen und den Rest der Signalverarbeitung in Software zu machen (im
ersten Ansatz nur schnell sampeln und Filtern). Oder was anderes
funktechnisches. Die Franzosen senden ihr Zeitsignal z.B.
phasenmoduliert auf nem AM Radiosender. Abtasten, IQ demodulation in
Software und auswerten der Phase (oder so ähnlich :-).
MP3 Player geht immer, bringt nur nicht viel (weil man kaum eine
Möglichkeit hat es anders oder besser zu machen als existierende/fertige
Lösungen). Hatte mal einen gemacht und einen Equalizer hinter gehangen.
Hat gut funktioniert.
Aber einen wirklich kompletten MP3 player auf ARM Basis mit Interface,
ID3, Xing VBR interpretation, JPEG dekoder für Covers usw. habe ich
bisher noch nicht gesehen und wäre mal was. Andere Formate wie AAC usw.
sollten dann natürlich auch rein.
Emulation von anderen Systemen ist auch ganz nett.
Wenn Rechenpower abgefackelt werden muss, dann sind neuronale Netze das
richtige Mittel!
Du kannst z.B. einen Regler basteln, der versucht 'ohne zu Verstehen'
eine Strecke auf einen Sollwert zu regeln. Nur durch "Ubung/Training. So
wie ein Mensch halt auch. Die meisten habe keine Ahnung, wie Lenken beim
Radfahren funktioniert, k"onnen es aber. Und k"onnen das (Nicht-)Wissen
nicht einfach weitergeben, wie ein Kochrezept!!
Du wirst richtig viel Matrizenrechnung brauchen, usw...
Schau mal nach 'backpropagation' und 'neural networks'.
avus schrieb:> Zum TO: Graphik-RGB-TFTs lassen Dir keine Ruhe vor Ideen mehr, wenn erst> mal ein STM32 dranhängt. Da kann man den AVR aber sowas von vergessen...
Logisch. Dann macht ein STM32 endlich Sinn (wenn denn auch was
Sinnvolles aufs Display kommt und die Übertragung/Darstellung auf
Tablet. bzw. im Netz die schlechtere Alternative ist ;). Aber schön daß
der AVR im Gedächtnis bleibt.
Hallo lieber ThreadEröffner,
ich habe das stm32f3Discovery. Mir ging es dabei nicht direkt um die
Rechenleistung, sondern die Möglichkeit auf einem Controller C++ nutzten
zu können. Bin da auch noch lange kein Meister vor dem Herrn, habe aber
schon die erste Applikation mit dynamischer Objektallocierung laufen und
finde es unheimlich spannend. Allerdings muss man aufpassen, man kann
nicht jedes Featrue einer OO Sprache bedenkenlos auf einem immer noch
relativ kleinem System wie dem stm nutzten.
z.B. würde es sich anbieten, die klassische 7Seganzeige aus Objekten
aufzubauen, die jeweils eine Anzeige ansteuern.
Daneben kann der stm dynamisch Speicher allokieren und ist soweit ich
weiß (weiß es nicht ganz genau) reentrantfähig (bei Bedarf googlen).
Es geht nicht immer nur um die pure Leistung.
Hi,
diese F4-Discovery-Hype verstehe ich auch nicht. Die meisten kaufen sich
vermutlich nur das Testboard, weil es über den grünen Klee gelobt wird.
Vermutlich verrotten die meisten Boards nach ein paar Versuchen im Regal
neben dem fast unbenutzem Raspberry PI :-).
Der F4 ist für viele Hobbyprojekte zu fett und komplex. Dann noch dies
IMHO unsägliche "Peripheral Library" ...
Dabei hat ST doch sehr schöne Cortex-M0 Typen. Besonders den F051 und
den F072 kann ich empfehlen. Wenns kleiner sein soll, den F030. Die sind
viel besser fürs Anfangen mit STM32 geeignet, weil sie nicht ganz so
komplex sind.
Chuck Norris schrieb:> Daneben kann der stm dynamisch Speicher allokieren und ist soweit ich> weiß (weiß es nicht ganz genau) reentrantfähig (bei Bedarf googlen).> Es geht nicht immer nur um die pure Leistung.
Das ist jetzt aber nicht unbedingt ein Feature des Controllers, sondern
eher der Software. Reentrant wird bei AVR ja meist nicht benötigt.
Regelungstechnische Aufgaben ist der cortex auch gut geeignet für. Wenn
ein AVR genug dampf hätte um z.B. einen quadcopter zu regeln würden die
Chinesen keinen ARM verbauen.
> Regelungstechnische Aufgaben ist der cortex auch gut geeignet für. Wenn> ein AVR genug dampf hätte um z.B. einen quadcopter zu regeln würden die> Chinesen keinen ARM verbauen.
Gehen tut das schon (habs gemacht) aber Spaß macht das nicht :/.
Jedenfalls war dann die zweite Version mit stm32 schon viel leichter und
schöner umsetzbar. Dann sogar mit FreeRtos :-)
Video-Generierung ist ein Klassiker, mit dem man uCs an ihre Grenzen
bringen kann. Probier doch mal ein kleines Grafik-Demo auf einem
VGA-Monitor zu machen - ist schaltungstechnisch echt einfach. MIPS
und RAM hast du ja genug am F4!
Der von mir aktuell genutzte 16-Bit Infineon XC164 hat nur 4kB RAM und
40 MIPS... Da geht nur zeichenbasierte Darstellung, aber wenigstens
genug MIPS um 50 Zeichen pro Zeile darzustellen und einen weichen
Scroller zu realisieren - alles interruptgesteuert und in C, ohne
zyklengenauen ASM-Code!
Mit dem F4 solltest du locker ein Demo in Amiga-Qualität schaffen.
Chninamann schrieb:> Und warum nicht?
Stimmt AVRs sind wahrscheinlich schon teurer als kleine ARMs. Aber so
ein chinesischer 8051 wäre noch eine Alternative :-)
Wird eine etwas provokative Antwort.
Als ich den Titel dieses Beitrags las, lief folgendes Szenario spontan
vor meinen Augen ab:
In einem Forum für P.rno-Liebhaber schreibt ein Mitglied: "Jungs, ich
bin gerade mit den P.rno-Darstellerinnen ABC und XYZ zusammen. Die
ersten Gehversuche habe ich erfolgreich hinter mir, sprich ich krieg
eine Erektion hin. Frage: was kann ich mit diesen beiden Damen machen?"
Die Frage haette (in beiden Faellen) lauten sollen: Was kann ich nicht
machen?
Mehmet Kendi schrieb:> bin gerade mit den P.rno-Darstellerinnen ABC und XYZ zusammen. Die> ersten Gehversuche habe ich erfolgreich hinter mir, sprich ich krieg
Tja, so sind wir doch alle mehr oder weniger!?
Apropos:
ABC und XYZ sind nicht mal Schwestern und ziemlich verschieden von ihren
Vorstellung. Ich bezweifel auch, dass ABC eine P.rnodarstellerin ist,
obwohl das immer wieder behauptet wird. Kommt mir eher wie ein Fl*ttchen
vor.
Ich hingegen bem"uh mich grad ehrlich um die rattenscharfen (!) (nicht
eineiigen) Zwillinge LP und C. Die ersten Erfolge haben sich bei mir
noch nicht so eingestellt. Hmmm. Und weil das sooo peinlich ist, hab ich
in einem anderen Forum um Rat gefragt. (Oh weh, wenn das hier publik
wird ):
Immerhin hat mich die gr"ossere jetzt wenigstens mal angeblinzelt, wow!
Obwohl das leckere Essen jemand anderes gekocht hat. Na, ja, das lern
ich auch noch.
Allerdings macht das mit den Zweien schon jetzt Schwierigkeiten, weil
doch jede so ein wenig ihren eigenen Geschmack hat. Und dann auch noch
das:
Beim Duschen lassen die beiden (BEIDE (!!) in EINER (!) Dusche... ;)
allerdings gleich mal das 10fache an Wasser den Abfluss runterlaufen.
Muss das sein, nur so zum Spass?
Also Sparen ist mit denen nich !