32 Bit MCU gesucht

Gast #7146638
Lesenswert?

Ich arbeite im Moment mit einem Atmega328, der aufgrund diverser, nicht 
umgehbarer floating point Operationen an seine Grenzen stößt und die 
Berechnungen für die Einstellung eines Messinstruments zu lange dauern. 
Der wird außerdem nur mit 8MHz betrieben.

Ich würde daher gerne langfristig mal auf eine 32 bit Architektur 
umsteigen. Diese soll nach möglichkeit mit deutlich mehr als 8MHz 
betrieben werden. Dann wäre es auch nicht so tragisch wenn keine FPU 
vorhanden ist.

Kann mir jemand vielleicht MCUs empfehlen, die von der Peripherie her 
das gleiche wie der Atmega328 haben (oder mehr) und sich ähnlich einfach 
handhaben lassen?
#7146735
Lesenswert?

Eine unendlich oft gestellte Frage hier.
Die C/C++ Programmierung sieht erstmal gleich aus, die Peripherie und 
Core Features machen den Unterschied. Low Level Registerprogrammierung 
wie bei den AVR geht auch, nur sind die devices viel komplexer und man 
muss meist mehr einstellen. Dafür gibt es dann viel fertige 
Unterstützung vom Hersteller oder Drittherstellern.
#7146752
Lesenswert?

Conrad J. schrieb:
> Es geht nicht um anzeigen, sondern um Werte einzustellen für eine
> Messrampe. Das muss deutlich öfter als 3 mal in der Sekunde passieren.

Kann schon sein, aber auch das schafft ein AVR ziemlich zügig. Die 
größte Begrenzung sitzt meistens vor der Tastatur.

Warum nur 8 MHz? 3,3V Betrieb? Die neueren ATXmega können bei 3,3V bis 
32MHz, da ist schonmal Faktor 4 kostenlos erreicht.

Und last but not least gibt es Festkommaarithmetik, die in vielen 
Fällen ausreichend und schneller ist.
#7146788
Lesenswert?

Conrad J. schrieb:
> Ich arbeite im Moment mit einem Atmega328, der aufgrund diverser,
> nicht umgehbarer floating point Operationen an seine Grenzen stößt

Das "nicht umgehbar" zweifle ich mal stark an. Floating point scheint 
zwar auf den ersten Blick das Schweizer Taschenmesser zu sein. Aber bei 
vielen Ausgabenstellungen reicht auch Integer. Notfalls lang (bis 64 Bit 
kann der gcc) und/oder als Fixpoint-Arithmetik. Und wenn es um Rampen 
geht, die kann man auch vorberechnen.

> Der wird außerdem nur mit 8MHz betrieben.

Er könnte aber mit 16MHz betrieben werden und wäre dann doppelt so 
schnell. Was spricht dagegen?

> Ich würde daher gerne langfristig mal auf eine 32 bit Architektur
> umsteigen. Diese soll nach möglichkeit mit deutlich mehr als 8MHz
> betrieben werden. Dann wäre es auch nicht so tragisch wenn keine FPU
> vorhanden ist.

32 Bit µC sind eine ganz andere Liga. Aber auch die werden entsprechend 
langsamer, wenn du sie mit Taktfrequenzen weit unter ihren Möglichkeiten 
betreibst. Und eine floating point Lib ist auch da langsamer als die 
FPU.

> Kann mir jemand vielleicht MCUs empfehlen, die von der Peripherie her
> das gleiche wie der Atmega328 haben (oder mehr) und sich ähnlich einfach
> handhaben lassen?

Gibts nicht. Etwas umlernen mußt du schon. Und im Moment wäre das 
wichtigste Kriterium wohl ohnehin Verfügbarkeit. Es sei denn, dein 
"langfristig" von oben meint mehrere Jahre.
Gast #7146807
Lesenswert?

Nimm einen Arm-M4 oder. Die haben FPU.
Ich mußte auch mal Luftfeuchteberechnungen machen. Das war zwingend 
notwendig in Floating Point. Und auf dem M0 (ohne FPU) brauchte es doch 
Rechenzeit, die dann für was anderes fehlte.

Aktuell habe ich eine STM H7. Ist aber sehr in der oberen Liga. Dafür 
angenehm zu benutzen und sehr viel Leistung.
#7146843
Lesenswert?

PittyJ schrieb:
> Nimm einen Arm-M4 oder. Die haben FPU.
> Ich mußte auch mal Luftfeuchteberechnungen machen. Das war zwingend
> notwendig in Floating Point.

Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu 
UNBEDINGT ne FPU braucht?

> Und auf dem M0 (ohne FPU) brauchte es doch
> Rechenzeit, die dann für was anderes fehlte.

Glaub ich nicht.

> Aktuell habe ich eine STM H7. Ist aber sehr in der oberen Liga. Dafür
> angenehm zu benutzen und sehr viel Leistung.

Für die faulen und unfähigen Programmierer. Nicht immer, aber oft.
Gast #7146849
Lesenswert?

Falk B. schrieb:
> Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu
> UNBEDINGT ne FPU braucht?

Das hab ich mich auch gefragt... hier mal mit Nano auf 16Mhz

Für 1 berechnungen hat:
calc int = 13 berechnet in 4 microSekunde.
calc long = 13 berechnet in 4 microSekunde.
calc float = 13.00 berechnet in 12 microSekunde.
---------
Für 10 berechnungen hat:
calc int = 40 berechnet in 4 microSekunde.
calc long = 40 berechnet in 8 microSekunde.
calc float = 40.00 berechnet in 96 microSekunde.
---------
Für 100 berechnungen hat:
calc int = 310 berechnet in 4 microSekunde.
calc long = 310 berechnet in 4 microSekunde.
calc float = 310.00 berechnet in 1064 microSekunde.
---------
Für 1000 berechnungen hat:
calc int = 3010 berechnet in 4 microSekunde.
calc long = 3010 berechnet in 8 microSekunde.
calc float = 3010.00 berechnet in 9020 microSekunde.
---------
Für 10000 berechnungen hat:
calc int = 30010 berechnet in 4 microSekunde.
calc long = 30010 berechnet in 4 microSekunde.
calc float = 30010.00 berechnet in 97404 microSekunde.

selbst bei 1000 Berechnungen brauch er nur 1ms.
Gast #7146870
Lesenswert?

Falk B. schrieb:
> PittyJ schrieb:
>> Nimm einen Arm-M4 oder. Die haben FPU.
>> Ich mußte auch mal Luftfeuchteberechnungen machen. Das war zwingend
>> notwendig in Floating Point.
>
> Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu
> UNBEDINGT ne FPU braucht?

Das war eine komplexere Berechnung. Die hatte der Sensorhersteller mit 
beigelegt. Mit Kompensation zu Temperatur, Druck, Luftfeuchtigkeit und 
anschliessender Taupunkt Berechnung.

Das frickel nicht selber auf Ints um. Wenn sich in der Maschine 
plötzlich Kondenswasser bildet, will ich nicht Schuld sein. Da nehme ich 
dann lieber die Originalformeln.

Ausserdem mußten gleichzeitig noch diverse andere Dinge stattfinden. An 
der CPU sind noch ca 12 weitere Sensoren und 3 Kommunikationskanäle.

Manche Leute machen mehr, als nur einen Sensor an ihren AVR 
dranzufädeln.
Da nehme ich einen Prozessor mit FPU, und habe meine Ruhe.
Gast #7146897
Lesenswert?

PittyJ schrieb:

>> Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu
>> UNBEDINGT ne FPU braucht?
>
> Das war eine komplexere Berechnung. Die hatte der Sensorhersteller mit
> beigelegt. Mit Kompensation zu Temperatur, Druck, Luftfeuchtigkeit und
> anschliessender Taupunkt Berechnung.
>
> Das frickel nicht selber auf Ints um.

Ich glaube nicht, das es keine reputable floatin point emulation/library 
für den avr gibt.
Und so ein taupunkt schlägt nicht alle milisekunden um, da ist schon 
eine Berechnung pro Sekunde mehr als genug.  Die NASA hat schliesslich 
mit Transistorcomputern auch den Mond getroffen.
#7146898
Lesenswert?

PittyJ schrieb:
> Das war eine komplexere Berechnung. Die hatte der Sensorhersteller mit
> beigelegt. Mit Kompensation zu Temperatur, Druck, Luftfeuchtigkeit und
> anschliessender Taupunkt Berechnung.
>
> Das frickel nicht selber auf Ints um. Wenn sich in der Maschine
> plötzlich Kondenswasser bildet, will ich nicht Schuld sein. Da nehme ich
> dann lieber die Originalformeln.

Vollkommen OK.

> Ausserdem mußten gleichzeitig noch diverse andere Dinge stattfinden. An
> der CPU sind noch ca 12 weitere Sensoren und 3 Kommunikationskanäle.

Auch OK. Aber ehe eine 32 BIT CPU, auch wenn es nur ein AMR-M0 ist, in 
die Knie geht, muss schon einiges passieren. Meistens ist es das 
schlechte Konzept.

> Manche Leute machen mehr, als nur einen Sensor an ihren AVR
> dranzufädeln.
> Da nehme ich einen Prozessor mit FPU, und habe meine Ruhe.

Ja, so machen es leider sehr viele, auch Profis. Keinen Plan, keinen 
Bock, einfach fette Hardware und Ruhe. Kann man machen, muss man aber 
nicht gut finden.

Lass mich raten. Du hast nicht gemessen und analysiert, WO und WARUM 
viel CPU-Leistung gebraucht wird.
Gast #7146922
Lesenswert?

> Und auf dem M0 (ohne FPU) brauchte es doch
> Rechenzeit, die dann für was anderes fehlte.

> Wenn 3,3V OK sind würde ich mir mal den RP2040 anschauen, den kann man
> wenigstens kaufen.

Das ist ein stinkender M0!
Es sind sogar zwei stinkende M0!

> Mein aktueller Favorit ist der STM32F303, davon habe ich auch genug
> vorrätig. Aber die gebe ich nicht her.

Das hebt nicht mal Rosemarie Nitribit an.
Auch dem fehlt die FPU.
#7147014
Lesenswert?

Conrad J. schrieb:
> Kann mir jemand vielleicht MCUs empfehlen,

Also meine wahl ist der PSOC5lp weil :
* 32 bit / 256MBit
* Eingebauter 1x Hohe genauigkeits- deltasigma ADC
* Eingebauter 2x SAR ADC
* Eingebauter 4xDAC mit Strom/Spannung-ausgang
* Eingebauter DC/DC converter speisung ab 0.8V
* Speisung bis 5V
* Pro port unterschiedliche Vcc moeglich
* Viele hardware moeglichkeiten eingebaut (Opamps, 4xDAC 
Strom/Spannung...)
* ... Die unabhangig von controller selber funktionieren koennnen
* Flexibele clock-speed moeglichkeiten >> Low power vs High speed
* Viele libraries angeboten durch Hersteller
* Devboards $10 incl programmer
Also viel eingebaute peripherals, nicht viel externe Komponenten 
benoetigt

Nur... was heute oft das problem ist ob die chips jetzt verfuegbar sind 
(bei viele Hersteller)

Patrick aus die Niederlaende
Gast #7147079
Lesenswert?

Falk B. schrieb:
> Lass mich raten. Du hast nicht gemessen und analysiert, WO und WARUM
> viel CPU-Leistung gebraucht wird.

Nö wozu auch. Geplant sind 1000 Einheiten. Kostet eine CPU 5 Euro mehr, 
weil sie genug Leistung hat, ich aber 2 Monate Entwicklung einspare, 
dann hat die Firma mehr verdient als durch eine Spar-CPU.
Und da nehme ich die CPU, die ich schon kenne, selbst wenn die 50 
Prozent überdimensioniert ist. Da kenne ich alle Probleme, die 
Arbeitsumgebung ist eingerichtet, die API vertraut.
Da analysiere ich keinen Monat, ob ich evtl 1/3 Flash weniger brauche, 
und nehme dann was unbekanntes mit alles Risiken.
#7147083
Lesenswert?

Falk B. schrieb:
> Ist oft nicht das Mittel der Wahl, weil man das Meiste in einem Projekt
> gar nicht braucht.

Fuer die art der Projekten die ich mache ist er ja super. Ich design auf 
maximaler version, wenn design fertig kann ich noch wenn noetig 
preisweter machen mittels pin-compatible version der weniger resourcen 
hat.
Jetzt musz ich sagen das bei meine Projekten die stuckzahl wenig ist und 
die Kosten 90% gemacht werden waerend entwicklung, nicht warende die 
Produktion.

Dann ist ein Flexibeler Processor mit viel resources prima.

Patrick aus die Niederlaende
Gast #7147096
Lesenswert?

Patrick C. schrieb:
> Also meine wahl ist der PSOC5lp weil :
> * 32 bit / 256MBit
> * Eingebauter 1x Hohe genauigkeits- deltasigma ADC
> * Eingebauter 2x SAR ADC
> * Eingebauter 4xDAC mit Strom/Spannung-ausgang
> * Eingebauter DC/DC converter speisung ab 0.8V
> * Speisung bis 5V
> * Pro port unterschiedliche Vcc moeglich
> * Viele hardware moeglichkeiten eingebaut (Opamps, 4xDAC
> Strom/Spannung...)
Sigma-Delta und interner DC/DC. Dachte immer, sowas schließt sich von 
selbst aus. Ansonsten is das schon ganz schön krass, wass der an Bord 
hat.
#7147110
Lesenswert?

PittyJ schrieb:
>> Lass mich raten. Du hast nicht gemessen und analysiert, WO und WARUM
>> viel CPU-Leistung gebraucht wird.
>
> Nö wozu auch. Geplant sind 1000 Einheiten. Kostet eine CPU 5 Euro mehr,
> weil sie genug Leistung hat, ich aber 2 Monate Entwicklung einspare,
> dann hat die Firma mehr verdient als durch eine Spar-CPU.

Das war gar nicht das Thema. Sondern deine Aussage

Beitrag "Re: 32 Bit MCU gesucht"

"Nimm einen Arm-M4 oder. Die haben FPU.
Ich mußte auch mal Luftfeuchteberechnungen machen. Das war zwingend
notwendig in Floating Point. Und auf dem M0 (ohne FPU) brauchte es doch
Rechenzeit, die dann für was anderes fehlte."

Mein Einwand war und ist

"Wieviel Millionen Berechnungen pro Sekunde waren da nötig, daß man dazu
UNBEDINGT ne FPU braucht?"

> Und da nehme ich die CPU, die ich schon kenne, selbst wenn die 50
> Prozent überdimensioniert ist. Da kenne ich alle Probleme, die
> Arbeitsumgebung ist eingerichtet, die API vertraut.

Du lenkst vom Thema ab. Es ging nie darum, eine andere CPU-Architektur 
zu nutzen.

> Da analysiere ich keinen Monat, ob ich evtl 1/3 Flash weniger brauche,
> und nehme dann was unbekanntes mit alles Risiken.

Auch darum ging es nicht. Sondern um deine gewagte Aussage, daß für eine 
Luftfeuchteberechung eine FPU nötig ist. Und meine Frage, ob du jemals 
gemessen oder analysiert hast, wo wieviel Leistung verbraten wird, da ja 
nach deiner Aussage die Berechnung per Software Fließkomma zu langsam 
war.
Gast #7147167
Lesenswert?

Falk B. schrieb:
> Auch darum ging es nicht. Sondern um deine gewagte Aussage, daß für eine
> Luftfeuchteberechung eine FPU nötig ist. Und meine Frage, ob du jemals
> gemessen oder analysiert hast, wo wieviel Leistung verbraten wird, da ja
> nach deiner Aussage die Berechnung per Software Fließkomma zu langsam
> war.

Wie schon gesagt, auf der CPU war auch schon sonst viel zu tun. Und da 
brauche ich es nicht, dass sie in der FPU-Emulation herumhängt.
Für eine 2 Berechnung (Farbkorrektor HLS) habe ich Teile schon in einen 
Low Prio Thread verpackt, damit die Kommunikation besser reagieren 
konnte. Damit steigt aber die Komplexität und Fehleranfälligkeit.
Das war eine M0 ohne FPU.
Da freut man sich über eine STM M7 mit FPU. Das ist entspannter.
#7147231
Lesenswert?

PittyJ schrieb:
> Wie schon gesagt, auf der CPU war auch schon sonst viel zu tun. Und da
> brauche ich es nicht, dass sie in der FPU-Emulation herumhängt.

Du kannst deine Aussage nicht begründen. Punkt.

> Für eine 2 Berechnung (Farbkorrektor HLS) habe ich Teile schon in einen
> Low Prio Thread verpackt, damit die Kommunikation besser reagieren
> konnte. Damit steigt aber die Komplexität und Fehleranfälligkeit.
> Das war eine M0 ohne FPU.
> Da freut man sich über eine STM M7 mit FPU. Das ist entspannter.

Das kann jeder Depp.
Gast #7147283
Lesenswert?

Falk B. schrieb:
> PittyJ schrieb:
>> Wie schon gesagt, auf der CPU war auch schon sonst viel zu tun. Und da
>> brauche ich es nicht, dass sie in der FPU-Emulation herumhängt.
>
> Du kannst deine Aussage nicht begründen. Punkt.

Warum auch.
Mein Chef ist zufrieden.
Die Firma macht gut Gewinn.
Mein Haus ist abbezahlt.
Die Geräte laufen 24/7 ohne Probleme, keine Ausfälle.

Was will ich mehr?
Nur mir noch beweisen dass es auch mit einem Atmel328 gehen würde? Da 
habe ich besseres zu tun.
#7147350
Lesenswert?

Falk B. schrieb:
> PittyJ schrieb:
>>> Du kannst deine Aussage nicht begründen. Punkt.
>>
>> Warum auch.
>
> Also mal wieder nur substanzloses Geplapper. Moderne Märchen erzählen,
> aka urban legend. Spiel, Satz, Sieg.

Mit solchen Kindereien bist du für mich der größte Looser auf dem Platz. 
Kein Fachwissen der Welt kann soviel Arroganz und Großkotzigkeit 
aufwiegen.
#7147371
Lesenswert?

J. S. schrieb:
>> Also mal wieder nur substanzloses Geplapper. Moderne Märchen erzählen,
>> aka urban legend. Spiel, Satz, Sieg.
>
> Mit solchen Kindereien bist du für mich der größte Looser auf dem Platz.
> Kein Fachwissen der Welt kann soviel Arroganz und Großkotzigkeit
> aufwiegen.

Ein hohes Niveau sieht nur von unten wie Arroganz aus. ;-)

Im Ernst. Wenn einer eine Behauptung aufstellt, muss er sie auch 
sinnvoll begründen können. Erst recht bei "gewagten" Behauptungen.

"Extraordinary claims require extraordinary proof."

wie die Angelsachsen so schön sagen. Haltlose Behauptungen gibt es im 
Internet schon genug.
#7147381
Lesenswert?

es geht doch gar nicht darum ob jemand (der sich mit H7 herumschlägt) 
nicht auch einen Mega328 programmieren könnte. Der TO wollte mehr Power 
und die AVR haben ihr Limit, auch wenn es nicht ein paar float 
Berechnungen sind. Nur muss man sich in die 32 Bit Welt auch 
einarbeiten, und wenn ein Cortex-M da überdimensioniert erscheint, dann 
ist das trotzdem ist eine gute Übung zum Einstieg.
Ich mag diese Kleingeistigkeit nicht. Für 3D Drucker haben die 8 Bitter 
die Entwicklung nur blockiert. Als man Marlin noch für jede Einstellung 
neu kompilieren musste, konnte Smoothieware auf dem 32 Bit LPC1769 schon 
lange SD Karten einlesen und darüber konfiguriert werden. Und per 
Ethernet gefüttert werden. Mal so als Beispiel.
In jede Controller Architektur muss man sich erstmal einarbeiten und ist 
wieder blutiger Anfänger. Bei den CM reicht das aber für lange lange 
Zeit bis man DMA, Ethernet, USB, schnelle Displays usw. ausgereizt hat. 
Da sind 8 Bitter schon lange abgehängt.
Aktuell habe ich eine Kiste mit 17x H7 vor mir. Ich kann den Kollegen ja 
mal sagen das sie nicht programmieren können und das gefälligst mit 
Mega328 bauen sollen.
Gast #7147388
Lesenswert?

Falk B. schrieb:
> Ja, so machen es leider sehr viele, auch Profis. Keinen Plan, keinen
> Bock, einfach fette Hardware und Ruhe. Kann man machen, muss man aber
> nicht gut finden.

Profis können rechnen 5€ mehr für die CPU oder 50 Stunden frickeln. Wie 
viele Stück muss man kaufen, dass sich das Frickeln lohnt:

Profi = 200€/h*50h/5€/Stück = 2000 Stück
Falk B. = 0€/h*50h/5€/Stück = 0 Stück
#7147418
Lesenswert?

Karl schrieb:
>> Ja, so machen es leider sehr viele, auch Profis. Keinen Plan, keinen
>> Bock, einfach fette Hardware und Ruhe. Kann man machen, muss man aber
>> nicht gut finden.
>
> Profis können rechnen 5€ mehr für die CPU oder 50 Stunden frickeln. Wie
> viele Stück muss man kaufen, dass sich das Frickeln lohnt:

Jaja, das Gelaber. Mein Gott. Geh mal davon aus, daß ich weiß, was eine 
Aufwandsabschätzung und Gewinnschwelle ist.

https://de.wikipedia.org/wiki/Gewinnschwelle

Und geh mal davon aus, daß auch ich weiß, daß bei Einzelstücken oder 
kleinen Stückzahlen die Entwicklungskosten die Materialkosten um 
Größenordnungen übersteigen. Ich mache Entwicklung, jeden Tag. Das war 
aber gar nicht das Thema der Diskussion.

Aber auch für dich "Blitzmerker" nochmal langsam. Der Op meint, seine 
Berechnungen sind zu langsam und er hätte gern mehr CPU Power. Der Op 
ist ein Bastler, Gewinnschwelle und Kosten sind bedeutungslos.

PittyJ stellt eine Behauptung auf, die er keine Sekunde belegen kann. 
Nix als Ausreden und Ablenkung. So wie bei dir. Auch nix Neues, wenn 
Leute keine Argumente mehr haben.
Gast #7147432
Lesenswert?

Moin, -

Conrad J. schrieb:
> Ich arbeite im Moment mit einem Atmega328, der aufgrund diverser, nicht
> umgehbarer floating point Operationen an seine Grenzen stößt und die
> Berechnungen für die Einstellung eines Messinstruments zu lange dauern.
> Der wird außerdem nur mit 8MHz betrieben.

Das haben ja alle schon gesagt: Man kann auch mit der Frequenz nach oben 
gehen, aber vielleicht Faktor 3.

> Ich würde daher gerne langfristig mal auf eine 32 bit Architektur
> umsteigen. Diese soll nach möglichkeit mit deutlich mehr als 8MHz
> betrieben werden. Dann wäre es auch nicht so tragisch wenn keine FPU
> vorhanden ist.
>
> Kann mir jemand vielleicht MCUs empfehlen, die von der Peripherie her
> das gleiche wie der Atmega328 haben (oder mehr) und sich ähnlich einfach
> handhaben lassen?

Natuerlich ist ein STM32 schon ein ganz anderes Biest, mehr omphf!, mehr 
Moeglichkeiten. Ob Du diese Moeglichkeiten brauchst kannst nur Du 
entscheiden.

1) STM32 et al. haben 3.3V Technologie, d.h es kann sein, dass Du Deine 
Peripherie anpassen musst,
2) STM32 et al. haben die Moeglichkeit des InCircuit Debuggings, d.h. Du 
kannst in Deinem Code einen Breakpont setzen und Register/Variablen 
anzeigen. Das ist DIE Erfindung/Verbessung schlecht hin. Selbst wenn Du 
einen neuen orginalen ST/Link kaufst, die Lebenszeit die Du mit diese 
Debugging-Moeglichkeit gewinnst ist unglaublich.

Gruesse

Th.
#7147443
Lesenswert?

Thomas W. schrieb:
> 1) STM32 et al. haben 3.3V Technologie, d.h es kann sein, dass Du Deine
> Peripherie anpassen musst,

wobei die meisten Eingänge 5V tolerant sind. Und wenn die Bastler bei 
3,3 V angekommen sind (was die meiste Peripherie heute schon erwartet 
und nur in Arduino Shields hin- und her gewandelt wird), ist die Welt 
schon bei 2,5 oder 1,8 V.

Thomas W. schrieb:
> die Lebenszeit die Du mit diese
> Debugging-Moeglichkeit gewinnst ist unglaublich.

full ack, aber auch hier verteidigen die Frickler ihr Serial.print() 
debugging vehemment.
Gast #7147471
Lesenswert?

Moin, -

ich wollte nur darauf hinweisen, dass der STM32 eine 3v3-Maschine ist. 
Ob das ein Unterschied macht weiss nur der TO.

Beim Debugging: ca. 1990 war das Debugging beim PC ungefaehr wie beim 
Arduino, bei TurboPascal halt mit PrintLN(). Fuer normales Geld hatte 
man nix anderes.

Als ich (ca. 1993) eine VAX (mit VMS) gesehen hatte (mit dem VAX 
Debugger) dachte ich: Das ist das Endziel: Sprachen-unabhaengig, 
Source-code beim Debug zu sehen (step-In, Step-out, Breakpoints), 
automatisieren von Ablaeufen. Ich war komplett begeistert.

OK, 2022: Eclipse mit Debugger ist ungefaehr das. Ein ST-Link-Clone 
kostet keine 5EUR und spart richtig Lebenszeit. Ich will das nicht mehr 
missen.

Gruesse

Th.

P.S.: Komplett bloed, aber ein Song ueber den besten Debugger (in 1993):

https://catonmat.net/ftp/mark_wheadon-just_one_more_hack.mp3

Ein paar Warme Worte:

https://catonmat.net/musical-geek-friday-just-one-more-hack

Schon lange her
#7147504
Lesenswert?

Ich werfe mal einen neuen Kandidaten ins Feuer - ATSAMC20.
Ja, Chipkrise und so, aber Digikey hat erstaunlicherweise gerade
ATSAMC21E18A-AUT ab Lager: 
https://www.digikey.de/de/products/detail/microchip-technology/ATSAMC21E18A-AUT/5875967
Das ist ein Cortex M0+, 48MHz, läuft 2,7V bis 5V, Peripherie bis unters 
Dach, auf funktionale Sicherheit ausgelegt und der kleinste "E" ist im 
gleichen Gehäuse wie der Mega328.
Und theorethisch gibt es in der Familie zig Varianten, so 48, 64, 100 
Pins, weniger Speicher.
Der Unterschied zwischen ATSAMC20 und ATSAMC21 ist, der C21 hat CAN-FD, 
beim 32er Pin 1 Kanal, ab 64 Pins zwei Kanäle.

Dabei fällt mir das hier ein:
https://github.com/RudolphRiedel/SAMC21_one/blob/master/04_Hardware/SAMC21_one/SAMC21_one.PDF

Das liegt hier noch, aber inzwischen benutze ich hauptsächlich die "J" 
Version mit 64 Pins und 2 CAN-Kanälen.
Oder den dickeren ATSAME51J (der nicht zu bekommen ist), der ist bis auf 
einen Pin kompatibel zum C21J und ist ein Cortex M4F mit noch mehr 
Peripherie.

Ich bin da ran, weil ich vor ein paar Jahren die Notwendigkeit gesehen 
habe im Job CAN-FD unterstützen zu müssen.
Und eine Alternative zu denen ist mir immer noch nicht in die Finger 
gekommen.
#7147583
Lesenswert?

>2) STM32 et al. haben die Moeglichkeit des InCircuit Debuggings, d.h. Du
>kannst in Deinem Code einen Breakpont setzen und Register/Variablen
>anzeigen. Das ist DIE Erfindung/Verbessung schlecht hin. Selbst wenn Du
>einen neuen orginalen ST/Link kaufst, die Lebenszeit die Du mit diese
>Debugging-Moeglichkeit gewinnst ist unglaublich.

Das haben die AVRs allerdings auch. Nur brauchst du dort keinen ST-Link 
sondern einen Atmel-ICE o.ä.
#7147607
Lesenswert?

PittyJ schrieb:
> ich aber 2 Monate Entwicklung einspare,
> dann hat die Firma mehr verdient als durch eine Spar-CPU.

Oder Du wunderst Dich, warum die Super-Duper CPU genau so langsam ist, 
weil Du den Flaschenhals nicht beseitigt hast.
Ein Profiling, wo es klemmt, kostet keine 2 Monate.
Oftmals erreicht man durch simples Umstellen des Programmablaufs mehr 
Optimierung, als durch stupide Erhöhung der CPU-Frequenz und damit des 
Stromverbrauchs.
Gast #7147615
Lesenswert?

Stefan ⛄ F. schrieb:
> Thomas W. schrieb:
>> ca. 1990 war das Debugging beim PC ungefaehr wie beim
>> Arduino, bei TurboPascal halt mit PrintLN().
>
> Das stimmt nicht. Die Turbo Pascal IDE von Borland aus dem Jahr 1990
> hatte einen richtigen Debugger.
>
> 
http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/turbo_pascal/Turbo_Pascal_Version_6.0_Users_Guide_1990.pdf

OK, ich hatte bei TP 3 aufgehoert. Und da war das Debugging nicht so 
fortschrittlich... Vielleicht war es auch schon/erst 1986 (Zeitzeugen 
sind nicht die besten Zeugen)

Gruesse

Th.
Gast #7147637
Lesenswert?

Christoph M. schrieb:
> Thomas W. schrieb:
>> 2) STM32 et al. haben die Moeglichkeit des InCircuit Debuggings, d.h. Du
>> kannst in Deinem Code einen Breakpont setzen und Register/Variablen
>> anzeigen. Das ist DIE Erfindung/Verbessung schlecht hin. Selbst wenn Du
>> einen neuen orginalen ST/Link kaufst, die Lebenszeit die Du mit diese
>> Debugging-Moeglichkeit gewinnst ist unglaublich.
> Das haben die AVRs allerdings auch.

Moin,

jein...

Natürlich gibt es beim AVR auch InCircuit Debugging. Die Arm CoreSight 
Unit der Cortex-M bietet aber deutlich mehr Debugging Features und 
manche können ohne Einfluss auf die Ausführungsgeschwindigkeit der 
Applikation genutzt werden (z.B. Data Breakpoints).

Gruß,
Michael
#7148064
Lesenswert?

Ingo Less schrieb:
> Sigma-Delta und interner DC/DC. Dachte immer, sowas schließt sich von
> selbst aus.

Man braucht es nicht beiden zu nutzen, in mein Projekt benutze ich DCDC 
um spannung flexibel anzubieten (wegen stromverbrauch). Auch 
processorclock wird zwischen 3MHz und 48MHz hin und her gesetzt. Da 
alles integriert ist kan man 'einfach' der delta-sigma synchronisieren 
mit frequenz von DC/DC oder sogar DC/DC ausschalten waehrend der messung 
und danach wieder einschalten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren