Forum: Mikrocontroller und Digitale Elektronik Nachfolger für ATMega gesucht


von Alec T. (803)


Lesenswert?

Hallo zusammen,

ich suche einen neuen Standard-Controller für kleinere bis mittelgroße 
Projekte.

Bin ne Weile raus.. Früher war mein Standardcontroller der ATMega328P, 
aber bei dem kam ich insbesondere wegen des kleinen Speichers bei 
Projekten mit GUI immer wieder an Grenzen. Daher würde ich jetzt gern 
mal einen Plattformwechsel machen. Zudem sind die 8bitter irgendwie auch 
einfach nicht mehr zeitgemäß. Gearbeitet hab ich ansonsten noch mit PICs 
und XC161, aber 32bit wären wohl heute eher angebracht?

Könnt ihr mir einen Nachfolger empfehlen?

Anforderungen
- Möglichst kostenlose Toolchain für C oder C++ (oder gibts was besseres 
inzwischen?)
- Preislich idealerweise vergleichbar mit den Atmels (1-2€), zumindest 
nicht viel teurer
- Gut beziehbar, wenns geht auch für Privat
- Deutlich mehr Flash, idealerweise eine skalierbare kompatible 
Controllerfamilie
- wenns geht von Hand noch handlebar bzw. so das man sich Teile auf ne 
Adapterplatine fürs Breadbord schnallen kann, idealerweise nicht mehr 
als 32pins
- CAN Controller onboard wär fein (idealerweise schon CAN-FD?)
- falls möglich bis 5V bzw. zumindest tolerant, ist aber keine harte 
Anforderung wenn das zu viele Nachteile birgt.
- Die üblichen verdächtigen möglichst on-chip UART(möglichst x2), SPI, 
I2C, PWM, ADC

Hmm, hab ich noch was vergessen?

Was nutzt ihr so?

Viele Grüße
Alec

von Harry L. (mysth)


Lesenswert?

Alec T. schrieb:
> Was nutzt ihr so?

STM32

von Bimbo. (Gast)


Lesenswert?

STM32F0:

Alec T. schrieb:
> Anforderungen
> - Möglichst kostenlose Toolchain für C oder C++ (oder gibts was besseres
> inzwischen?)

Ja,direkt von ST: Atollic Studio.

> - Preislich idealerweise vergleichbar mit den Atmels (1-2€), zumindest
> nicht viel teurer
Auch das dürfte hinhauen.

> - Gut beziehbar, wenns geht auch für Privat
Auf jeden Fall kriegste was bei Mouser und Mouser liefert an privat. 
Check.

> - Deutlich mehr Flash, idealerweise eine skalierbare kompatible
> Controllerfamilie

Da braucht manwohlnichts zu sagen :). Deutlich mehr..

> - wenns geht von Hand noch handlebar bzw. so das man sich Teile auf ne
> Adapterplatine fürs Breadbord schnallen kann, idealerweise nicht mehr
> als 32pins

Hier ein jein. Gibt kleine und halt typische TQFP32-100.

> - CAN Controller onboard wär fein (idealerweise schon CAN-FD?)

Gibt soweit ich weiß auch STM32F1 oder F0 mit CAN.

> - falls möglich bis 5V bzw. zumindest tolerant, ist aber keine harte
> Anforderung wenn das zu viele Nachteile birgt.

Leider wohl alles 3.3V.

> - Die üblichen verdächtigen möglichst on-chip UART(möglichst x2), SPI,
> I2C, PWM, ADC

Das ist natürlich selbst auf dem kleinsten STM32 drauf. An alle 
Klugscheisse: Nicht überprüft.

von Sebastian R. (sebastian_r569)


Lesenswert?

STM32.

Die klassische Blue Pill mit dem F103 und dazu nen China-STLink.

Sind etwas unter 5€ für den Einstieg mit nem Breadboard-Kompatiblen 
Board und ISP-Programmer

von c-hater (Gast)


Lesenswert?

Alec T. schrieb:

> Bin ne Weile raus.. Früher war mein Standardcontroller der ATMega328P,
> aber bei dem kam ich insbesondere wegen des kleinen Speichers bei
> Projekten mit GUI immer wieder an Grenzen. Daher würde ich jetzt gern
> mal einen Plattformwechsel machen.

Warum? ATmega1284P existiert. 16k RAM, 128kFlash.

> Zudem sind die 8bitter irgendwie auch
> einfach nicht mehr zeitgemäß.

Bullshit. Nur Vollidioten behaupten sowas. Ein 8Bitter ist solange 
zeitgemäß, solange man die Anforderungen einer Applikation damit 
umsetzen kann.

> - Möglichst kostenlose Toolchain für C oder C++ (oder gibts was besseres
> inzwischen?)

Check. Außerdem: du kennst sie schon. Ist exakt die Gleiche wie beim 
Mega328P...

> - Gut beziehbar, wenns geht auch für Privat

Check.

> - Deutlich mehr Flash, idealerweise eine skalierbare kompatible
> Controllerfamilie

Check.

> - wenns geht von Hand noch handlebar bzw. so das man sich Teile auf ne
> Adapterplatine fürs Breadbord schnallen kann, idealerweise nicht mehr
> als 32pins

Check.

> - falls möglich bis 5V bzw. zumindest tolerant, ist aber keine harte

Check.

> - Die üblichen verdächtigen möglichst on-chip UART(möglichst x2), SPI,
> I2C, PWM, ADC

Check.

> Was nutzt ihr so?

Rate mal!

von J. Zimmermann (Gast)


Lesenswert?

c-hater schrieb:
>> Zudem sind die 8bitter irgendwie auch
>> einfach nicht mehr zeitgemäß.
>
> Bullshit. Nur Vollidioten behaupten sowas.

Seh ich auch so. Hab mal eine Aufgabe mit einen XMega128A1 realisiert, 
die ein Kollege mit einem 32-bit PIG nicht auf die Reihe bekommen hat.

Welche Entwicklungsumgebung hast Du genutzt? Ich halte es nicht für 
sinnvoll, sich ständig an neue Programme und Programmer, ICE usw. 
gewöhnen zu müssen. Mit Atmel Studio und dem Atmel ICE kannst Du die 
ganze Bandbreite vom 8-poligen 8-bitter bist zum CORTEX M4F bearbeiten. 
Werden wieder einige Bastler jammern "oh, Atmel ICE, teuer", während 
sich in ihren Schachteln die nicht funktionierenden Billig-Teile 
ansammeln...

mfg
Achim

von foobar (Gast)


Lesenswert?

> Könnt ihr mir einen Nachfolger empfehlen?

Such mal auf eBay nach STM32F103 - dann weißt du, was der Nachfolger des 
328 ist ...

von Silc P. (silch12)


Angehängte Dateien:

Lesenswert?

STM32 hat alles möglich, von Low-Power bis Leistungsfähigeren Cortex-M4, 
einfach mal schauen:
https://www.st.com/en/microcontrollers/stm32-32-bit-arm-cortex-mcus.html

Wenns nicht umbedingt 32Bit sein muss gibts da auch noch die MSP430 von 
TI (16Bit). Abgesehen vom sehr! niedrigen Stromverbrauch gibt es auch 
welche im DIP-Gehäuse, welche für den Hobby-Nutzer einfacher zu nutzen 
sind (obschon SMD-Gehäuse auf Adapterplatinen dasselbe bringen):
http://www.ti.com/microcontrollers/msp430-ultra-low-power-mcus/overview.html#

von Stefan F. (Gast)


Lesenswert?

Ich empfehle STM32F103, den gibt es in unterschiedlichen Grössen. Hier 
kannst du einen ersten Eindruck davon bekommen:

http://stefanfrings.de/stm32/index.html

von Sebastian R. (sebastian_r569)


Lesenswert?

Ich glaube nicht, dass das eine ideologische Diskussion werden sollte, 
wie sinnvoll oder sinnlos der Umstieg von Atmel AVR 8bit auf etwas 
anderes ist.

Sehr weit oben als Vorschlag ist definitiv STM32.
Auch der MSP430 hat sehr viel Schönes.

Beide haben sehr gute Tools und eine sehr große Community.

Es gibt dann noch so ein paar Underdogs, wie den Silabs Gecko, den NXP 
LPC, Freescale (was auch immer auf den Freedom-Boards ist),...

Aber wenn man sich einen neuen Controller ans Bein bindet, dann 
idealerweise einen, zu dem man sehr viele Informationen und Beispiele im 
Internet angucken kann.


Ansonsten: Für den allerersten Schritt: Schau dir mal den ATMega328*PB* 
an. Der hat 2 UARTs, 2 SPIs, 5 (?) Timer,... Ist insgesamt ein 
aufgemöbelter 328P

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sebastian R. schrieb:
> Auch der MSP430 hat sehr viel Schönes.

Leider nur sehr beschränktes und vor allem nicht erweiterbares RAM.

von Udo K. (Gast)


Lesenswert?

Wenn du jetzt wegen einer guten GUI und RAM wechseln willst,
macht eigentlich nur mehr ein Cortex M4 oder M7 Sinn.
(Oder gleich ein Rasberry)

Man sieht den Trend ja schon an den günstigen China
Messequipment.  Siglent verwendet etwa TI A8 Sitarra
oder Blackfin, beide noch mal deutlich leistungsfähiger.

Heute haben alle mindestens 4.3 Zoll Displays mit hoher Auflösung
und Touch.
Da ist ein M0 oder M3 schon überfordert.

Und wenn man ehrlich ist, bleibt es ja nicht beim
guten Display, sondern man braucht auch FAT, USB 2.0
und Ethernet - und damit ein kleines Betriebssystem.

Preislich ist da auch kein grosser Unterschied.

ST ist sicher gut, aber ziemlich teuer... irgendwie
müssen sie die viele Werbung wieder reinbekommen...

von Stefan F. (Gast)


Lesenswert?

Udo K. schrieb:
> ST ist sicher gut, aber ziemlich teuer

Zumindest der STM32F103C8T6 kostet nur 1€ einzeln und 1,50€ als Modul 
mit zwei Quarze, USB Buchse und Spannungsregler. Der ATmega328 ist 
teurer.

Ich finde die Aussicht nach oben gut. Momentan ist der STM32F103 für 
mich ein würdiger Nachfolger zum ATmega328. Er hat von allem mehr. Bei 
der Anzahl der Pins und Speichergrösse habe ich sogar viele 
Wahlmöglichkeiten.

Und falls der doch mal zu klein/langsam sein sollte, nehme ich einen 
STM32F407. Der spielt in der nächst höheren Liga und wird weitgehend 
gleich programmiert.

Und es geht noch weiter nach oben ... (für mich wohl nicht)

von Udo K. (Gast)


Lesenswert?

Stefanus F. schrieb:
> Zumindest der STM32F103C8T6 kostet nur 1€ einzeln und 1,50€ als Modul
> mit zwei Quarze, USB Buchse und Spannungsregler. Der ATmega328 ist
> teurer.

Ich weiss ja nicht wo du den kaufst...
aber bei Digikey zahlst du 4.7 Euro netto bei Abnahme von 10 Stück...
Bei Mouser liegt der auch bei 4.5 Euro.

Wenn ich bei Digikey nach Cortex M0 - M7 im 32-64 Pin Gehäuse suche,
dann ist Microchip ganz vorne mit dem M0+ ATSAMD21J16A um 0.64 Euro 
netto.
Der günstigste M3 ist ebenfalls von Microchip, und liegt bei 1.05 netto.

Aber wie schon gesagt, wenn man sich jetzt die Mühe macht, 
umzusteigen...
dann sollte man sich bewusst sein, wohin der Markt geht...
und für irgendwelche Steueraufgaben reicht ein Atmega meist auch aus.

von Stefan F. (Gast)


Lesenswert?

Udo K. schrieb:
> Ich weiss ja nicht wo du den kaufst...

Für meine Hobbybasteleien bin ich relativ schmerzfrei:
https://de.aliexpress.com/item/50-st-cke-STM32F103C8T6-LQFP48-32F103C8T6-QFP48-QFP-ARM-neue-und-original-IC/32875492687.html

Das scheint wohl das Lockangebot zum Anfixen zu sein. Ich kann nur jedem 
raten, sich nicht allzu sehr an die HAL Libraris zu binden, sonst kommt 
man von STM32 wirklich nicht mehr so leicht weg.

von udok (Gast)


Lesenswert?

Fürs Hobby ist das ja auch ok.

Ich möchte wissen, wo die ihre Chips herhaben bei dem Preis.... 
Vielleicht günstig gekauften Restposten?

von Anton M. (antonm)


Lesenswert?

Sebastian R. schrieb:
> Ansonsten: Für den allerersten Schritt: Schau dir mal den ATMega328*PB*
> an. Der hat 2 UARTs, 2 SPIs, 5 (?) Timer,... Ist insgesamt ein
> aufgemöbelter 328P

Viel besser wäre hier gleich der aktuellste Mega4808/09.

von Stefan F. (Gast)


Lesenswert?

udok schrieb:
> Ich möchte wissen, wo die ihre Chips her haben bei dem Preis....

Vielleicht sind es gebrauchte aus dem Recycling.

Vielleicht haben sie ihren GD32F103 auch weiter entwickelt so dass er 
jetzt als (gefälschter) STM32F103 taugt.

von Alec T. (803)


Lesenswert?

Vielen Dank für eure Anregungen.

Der ATmega1284P ist im Prinzip aber nicht viel anders als der 328P oder? 
Dann fällt der für mich glaub ich auch eher raus. Nicht nur wegen des 
fehlenden CAN, auch weil bei 128k dann schon wieder Schluss ist. Zudem 
habe ich beim XC161 ich das das priorisierte Interruptsystem sehr zu 
schätzen gewusst. Die Cortex scheinen ja was ähnliches zu bieten.

Ich hätte wohl noch dazu sagen sollen das es mir wichtig ist in der 
Software ordentlich abstrahieren zu können. Insbesondere wenn man (auch 
und wenn dann kleine und einfache) Grafikdisplays ansteuern will. Klar 
kann man auch auf Codegröße optimiert programmieren, aber das kostet 
mich zu viel Zeit, die habe ich leider nicht mehr. Möchte mir (wieder) 
meine Bibliothek aus konfigurierbaren Standard-Modulen aufbauen um neue 
Projekte schnell umsetzen zu können.


Die STM32 machen dabei auf den ersten Blick schon n sehr guten Eindruck 
:)

Werde mir wohl mal den STM32F103(TB) genauer ansehen, gibts ja schon ab 
knapp 2,50 und mit Board 4-5€
Oder den STM32F103(C8)
Beide CAN on board was man sonst noch an Peripherie braucht.


p.s. irgendwas größeres auf Linux basierend oder so scheidet definitiv 
aus. Dazu gibts genug fertiges wie den Raspberry, das Rad brauche ich 
nicht neu erfinden.

von Stefan F. (Gast)


Lesenswert?

Wobei die STM32F103 entweder CAN oder USB können - nicht beides 
gleichzeitig.

von Alec (Gast)


Lesenswert?

Ah, Danke für die Info. Schade, aber für mich i.O. denke ich. Vielleicht 
findet sich ja ne gute Implementierung mit automatischer oder manueller 
Umschaltung.

von Gerd E. (robberknight)


Lesenswert?

Stefanus F. schrieb:
> Wobei die STM32F103 entweder CAN oder USB können - nicht beides
> gleichzeitig.

ja, der ist schon etwas älter und da geht das noch nicht. Die 
aktuelleren Serien können das auch gleichzeitig. Z.B. beim STM32F072 ist 
das kein Problem.

von Mehmet K. (mkmk)


Lesenswert?

c-hater schrieb:
> Bullshit. Nur Vollidioten behaupten sowas.

Tut immer wieder gut, wenn ich sehe, dass nicht nur hier in meinem Lande 
Türkei das Niveau einer Meinungsaeusserung nicht adäquat mit der Bildung 
einhergeht.

von Silc P. (silch12)


Lesenswert?

Gerd E. schrieb:
> STM32F072

Kann ich so definitiv auch empfehlen,
gibt es als Board zum Beispiel auf dem Nucleo (~10€), oder ohne Board 
für etwa 3€.

https://www.st.com/en/evaluation-tools/nucleo-f072rb.html

Allgemein ist ein Wechsel zu grösseren STM32 einfach zu erlernen, wenn 
man sich mit einem mal auskennt (gilt generell für Cortex M)

: Bearbeitet durch User
von Rudolph R. (rudolph)


Lesenswert?

ATSAMC21 wenn es 5V sein soll mit CAN-FD.
Bis 256k Flash, 32/48/64/100 Pins, Cortex M0+ 48MHz.

Oder in 3,3V dafür bis 1MB Flash, bis 128 Pins, Cortex M4F 120MHz: 
ATSAME51.

Edit: die gerne gehypten STM32 gibt es erst ab H7 mit CAN-FD, die 
kleinste von den Kacheln ist mir aber deutlich zu fett.

Edit: die Suche bei ST ist nicht so der Hit, es gibt auch STM32L55 mit 
1x CAN-FD.

: Bearbeitet durch User
von Silc P. (silch12)


Lesenswert?

Rudolph R. schrieb:
> Edit: die Suche bei ST ist nicht so der Hit

Da hast du recht, da man eine Zusatzsoftware braucht:
https://www.st.com/en/development-tools/st-mcu-finder.html

von c-hater (Gast)


Lesenswert?

Alec T. schrieb:

> Der ATmega1284P ist im Prinzip aber nicht viel anders als der 328P oder?

Naja, er hat mehr Pins, mehr RAM, mehr Flash, mehr UARTs, mehr Timer, 
aber weiterhin Bauformen, die ohne Adapterstress (und -kosten) sofort 
für's Protoyping verwendet werden können und er ist weiterhin 5V-fähig.

Er liefert also fast alles, was du wolltest. Es fehlen eigentlich nur 
CAN und USB. Naja und der Preis ist auch ganz schön happig. Wobei: wenn 
du die Stückzahlen verbaust, bei denen der Hardwarepreis eine Rolle zu 
spielen beginnt, dann bekommst du sicher auch einen akzeptablen Preis...

> Dann fällt der für mich glaub ich auch eher raus.

> Nicht nur wegen des
> fehlenden CAN, auch weil bei 128k dann schon wieder Schluss ist.

Die musst du erstmal voll bekommen. Und wenn's tatsächlich da klemmt 
(was ich kaum glauben kann) dann wäre immer noch Atmega2560/2561 
möglich. Das sind dann schon 256kFlash.

> Zudem
> habe ich beim XC161 ich das das priorisierte Interruptsystem sehr zu
> schätzen gewusst.

Kann man auch beim AVR8 haben. Muss man halt nur selber bauen.

> Ich hätte wohl noch dazu sagen sollen das es mir wichtig ist in der
> Software ordentlich abstrahieren zu können.

Ach so, ein Theoretiker. Naja dann... Für maximales Abstraktionslevel 
würde ich mindestens zu einem XEON-Octacore-Board mit mindestens 
256GByte RAM und 64 Terabyte Massenspeicher raten. Damit dürften dann 
auch die Hardcore-Abstraktoren noch ein "Hello world" gebacken bekommen, 
welches noch in diesem Jahrhundert die Ausgabe zur Anzeige bringt. 
Gerade so...

LOL

Beitrag #5711370 wurde von einem Moderator gelöscht.
von m.n. (Gast)


Lesenswert?

c-hater schrieb:
>> Zudem
>> habe ich beim XC161 ich das das priorisierte Interruptsystem sehr zu
>> schätzen gewusst.
>
> Kann man auch beim AVR8 haben. Muss man halt nur selber bauen.

Es gibt Dinge, die kann man nicht sinnvoll in Software erledigen. Den 
NVIC eines ARM bekommst Du auf einem AVR nur als Simulation 
programmiert. Praktischen Nutzen bezüglich Ausführungsgeschwindigkeit 
hat das nicht.

Viele Sachen passen in einen AVR. Aber wenn man einen "Nachfolger" sucht 
ist STM32 keine falsche Entscheidung. Auch ohne Schinaschnäppchen sind 
die µCs bezahl- und verfügbar - egal ob einem der F1xx reicht oder man 
gleich einen F4xx benutzt, weil RAM, Flash und "Speed" die Anwendung 
nicht mehr ausbremsen.

von Rödel (Gast)


Lesenswert?

Bevor du wechselst und alles neu lernen musst, schau dir erstmal 
folgende 8 Bitter an.

ATXMEGA384C3 -> 384 KB Flash, 32 KB SRAM
ATXMEGA128A1U -> 128 KB Flash, 8 KB SRAM, EBI (um das SRAM auf 16 MB zu 
erweitern.)

Beide haben: AES, DMA, Event System, USB, mehrere USARTs mit IrDA 
support, SPI, CRC16, CRC32, RTC, 12 Bit ADC, DAC (nur der A), 32 MHz 
Takt.

Damit kommt man auch heute noch sehr weit.

von Rödel (Gast)


Lesenswert?

Der xmega hat auch einen priorisierbaren Interruptcontroller, der jedem 
Interrupt eine eigene Priorität zuweisen kann. Non-Maskable Interrupts 
und Round-Robin Modus inklusive.

von Rödel (Gast)


Lesenswert?

Der xmega E hat eine 120nA RTC, die du sehr frei konfigurieren kannst. 
Z.B. so, dass er nur einmal pro Stunde aufwacht und ansonsten halt nur 
120nA zieht. Oder mehrmals pro ms, wenn man will.

Ja, ich geb zu, ich bin ein echter xmega Fanboy. Die Teile sind einfach 
nur geil.

von schnippo (Gast)


Lesenswert?

ich setze im Hobby mittlerweile nur noch auf stm32. Ich habe mir beim 
China-Mann 10 Stück Bluepill für ein paar Euro gekauft (damit komme ich 
ne weile aus). Die nutze ich für alles. Auch wenn es nur eine blinkende 
LED ist. Spielt keine Rolle.

Da die Platinchen so günstig sind (etwa 2 euro oder weniger) lohnt es 
sich nichtmal die Platinen auf einen Sockel zu stecken und werden direkt 
auf Lochraster gelötet. Atmega ist für mich gestorben (habe ich früher 
gerne genutzt, aber sind definitiv nutzlos für mich geworden).

Ich nutze EMBitz als IDE.

von Rödel (Gast)


Lesenswert?

schnippo schrieb:
> ich setze im Hobby mittlerweile nur noch auf stm32. Ich habe mir beim
> China-Mann 10 Stück Bluepill für ein paar Euro gekauft (damit komme ich
> ne weile aus). Die nutze ich für alles. Auch wenn es nur eine blinkende
> LED ist. Spielt keine Rolle.

Ich setze im Strassenverkehr mittlerweile auch nur noch auf meinen 
fetten SUV. Damit komme ich ne Weile aus. Den nutze ich für alles. Auch 
wenn es nur eine Fahrt zum Bäcker umme Ecke ist. Spielt keine Rolle.

von Anton M. (antonm)


Lesenswert?

schnippo schrieb:
> ich setze im Hobby mittlerweile nur noch auf stm32.
> Atmega ist für mich gestorben (habe ich früher
> gerne genutzt, aber sind definitiv nutzlos für mich geworden).

Dann kann das ja nur mit anspruchsvolleren Anwendungen zusammenhängen.
Oder eher mit ressourcenfressender Programmierung?

Rödel schrieb:
> Ich setze im Strassenverkehr mittlerweile auch nur noch auf meinen
> fetten SUV.

Naja, der Vergleich mit dem fetten SUV hinkt ein wenig.
Der STM32 ist gehäuslich nicht größer und genauso billig.
Hat schon was für sich, einer für alles. Man muß eben nur sein Handwerk 
beherrschen. Der "nicht mehr zeitgemäße" 8Bitter stellt jedenfalls nicht 
so hohe Anforderungen. Dessen Markt wächst nach wie vor genauso. Warum 
wohl?

von Stefan F. (Gast)


Lesenswert?

Rödel schrieb:
> Ich setze im Strassenverkehr mittlerweile auch nur noch auf meinen
> fetten SUV. Damit komme ich ne Weile aus. Den nutze ich für alles. Auch
> wenn es nur eine Fahrt zum Bäcker umme Ecke ist. Spielt keine Rolle.

Bei diesem Fahrzeug sollte man auch den Energieverbrauch bei der 
Produktion und bei der Nutzung berücksichtigen.

Bei AVR versus diesem kleinen STM kommst du auf sehr ähnliche 
Verbrauchswerte. Der AVR ist nur im Stillstand ohne laufende Timer 
bedeutend sparsamer.

von Joachim B. (jar)


Lesenswert?

Alec T. schrieb:
> Vielen Dank für eure Anregungen.
>
> Der ATmega1284P ist im Prinzip aber nicht viel anders als der 328P oder?

kann man so sehen aber:

c-hater schrieb:
> Naja, er hat mehr Pins, mehr RAM, mehr Flash, mehr UARTs, mehr Timer,
> aber weiterhin Bauformen, die ohne Adapterstress (und -kosten) sofort
> für's Protoyping verwendet werden können und er ist weiterhin 5V-fähig.
> Die 128k musst du erstmal voll bekommen. Und wenn's tatsächlich da klemmt
> (was ich kaum glauben kann)

sehe ich absolut so, die 32K vom 328p habe ich öfter voll bekommen, die 
2K SRAM noch öfter, da wechselte ich zum 1284p 16KB SRAM! mit dem 
Vorteil das ich mit nur wenigen Änderungen den Quellcode übernehhmen 
kann.
Die 5V sind auch ein Vorteil für die meisten Module!

Als Arduino migthy mini 1284p genauso steckbrettfreundlich wie ein 
nano328p
https://github.com/JChristensen/mini1284
https://raw.githubusercontent.com/JChristensen/mini1284/master/mighty%20mini%201284p.jpg

> dann wäre immer noch Atmega2560/2561
> möglich. Das sind dann schon 256kFlash.

aber mit 8K nur halb so viel SRAM!

wenn schon Nachfolger auch fürs Steckbrett eher den ESP32 leider mit 
nötiger Pegelanpassung für 5V Module.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Joachim B. schrieb:
> wenn schon Nachfolger auch fürs Steckbrett eher den ESP32 leider mit
> nötiger Pegelanpassung für 5V Module.

Den ESP32 würde ich nicht als Nachfolger nennen. Erstens wegen seiner 
Stromaufnahme (falls die relevant ist) und zweitens weil dein eigenes 
Programm nur ein Teil der gesamten Software nebst Betriebssystem ist. 
Das macht seine Programmierung erheblich schwieriger, ganz besonders 
wenn es um Timings <1ms geht.

von Ralf (Gast)


Lesenswert?

Stefanus F. schrieb:
> Joachim B.
> ESP32
> Das macht seine Programmierung erheblich schwieriger, ganz besonders
> wenn es um Timings <1ms geht.

Vor allem lässt sich der AVR mit seinem deterministischen Programmablauf 
noch punktgenau auf alles hintrimmen. Der Support durch ein 
Betriebssystem ist bei den kleinen Teilen immer eine zweischneidige 
Sache.

von J. Zimmermann (Gast)


Lesenswert?

Rödel schrieb:
> Ja, ich geb zu, ich bin ein echter xmega Fanboy. Die Teile sind einfach
> nur geil.

Kann ich nur zustimmen.
Die Hardwareeinheiten rund um die CPU sind einfach genial. 8fach PWM 
extension (256MHz PWM), Wave generation - direkte Ansteuerung von 
Halbbrücken mit dead-time-generation, ADC mit sequencer (zusammen mit 
DMA 16 kanäle analog lesen ohne dass die CPU was machen muss), bis zu 24 
PWM-Kanäle, bis zu 8 USARTs (man braucht die sicher nicht alle, aber das 
PCB-Routen kann wesentlich entspannter erfolgen), Event machine mit 3 
QDECs (auslesen von rotary encodern ohne das die CPU was machen muß) 
und, und, und ... und wenn's dann doch nicht reicht, kann man quasi 
nahtlos zum AVR32 (wird leider von MicroChip geschasst) oder zum ARM 
übergehen, da die Struktur der xmega denen schon recht angepasst ist.
Mit Atmel Studio + ASF und Atmel ICE kann man so einen ziemlich breiten 
Controller-Leistungsbereich programmieren und debuggen, ohne ständig mit 
Installation/Konfiguration von Software und Ausprobieren von 
Hardware-Tools Zeit zu verschwenden.

mfg
Achim

von Joachim B. (jar)


Lesenswert?

Stefanus F. schrieb:
> Den ESP32 würde ich nicht als Nachfolger nennen.

keiner zwingt dich

ich konnte mein Arduino Programm vom 328p wordclock mit wenigen 
Änderungen übernehmen, dank wlan habe ich sofort Zugang zum NTP.

Stefanus F. schrieb:
> Erstens wegen seiner
> Stromaufnahme (falls die relevant ist)

in einer RGB wordclock zweitrangig und der ESP kann auch sleep.

Stefanus F. schrieb:
> und zweitens weil dein eigenes
> Programm nur ein Teil der gesamten Software nebst Betriebssystem ist.

in der Arduino IDE eben nebensächlich weil es klappt.

von Ralf (Gast)


Lesenswert?

Ich muss unbedingt hier noch meinen Liebling, den 1,8-5V, 20 MHz 
Tiny1614 hier unterbringen. In dem winzigen aber immer noch gut lötbaren 
SO-14, 60 Cent Gehäuse sind doch tatsächlich u. a. neben 16K Flash und 
2K SRAM je 1x UART/I2C/SPI samt zwei ADCs mit fünf wählbaren 
internen Referenzen, drei Comperatoren, RTC, Custom Logic und das 
bekannte Eventsystem enthalten- alles programmier/debugbar über die neue 
1Pin UPDI Schnittstelle.

von Joachim B. (jar)


Lesenswert?

Ralf schrieb:
> Ich muss unbedingt hier noch meinen Liebling, den 1,8-5V, 20 MHz
> Tiny1614 hier unterbringen

16K flash, 2K SRAM
was hast du an Grenzen vom 328p nicht verstanden?

Alec T. schrieb:
> Früher war mein Standardcontroller der ATMega328P,
> aber bei dem kam ich insbesondere wegen des kleinen Speichers bei
> Projekten mit GUI immer wieder an Grenzen

von Anton M. (antonm)


Lesenswert?

Joachim B. schrieb:
> was hast du an Grenzen vom 328p nicht verstanden?

Was hast Du an der Frage

Alec T. schrieb:
> Was nutzt ihr so?

nicht verstanden?

von Stefan F. (Gast)


Lesenswert?

"Was nutzt ihr so?" war doch ganz eindeutig im Kontext "grösser als 
ATmega328" gemeint.

Wer keine grösseren Mikrocontroller verwendet, war nicht angesprochen.

von Joachim B. (jar)


Lesenswert?

Anton M. schrieb:
> Was hast Du an der Frage
>
> Alec T. schrieb:
>> Was nutzt ihr so?
>
> nicht verstanden?

ach das alte Spiel, aus dem Zusammenhang reissen?

Ich habe zumindest den Eingangsbeitrag verstanden!

von Gerd E. (robberknight)


Lesenswert?

Rödel schrieb:
> Bevor du wechselst und alles neu lernen musst, schau dir erstmal
> folgende 8 Bitter an.
>
> ATXMEGA384C3
> ATXMEGA128A1U

Die XMegas gibt es nicht mit CAN und das wurde vom TO explizit 
gewünscht.

Und es sind von Atmel/Microchip auch schon lange keine neuen XMegas mehr 
angekündigt/freigegeben worden, so daß es nicht den Anschein macht, als 
ob die in der XMega-Serie eine große Zukunft sehen. Ich denke die sehen 
die Zukunft im 8 Bit-Bereich eher bei kleineren Controllern. Sie sind 
deshalb bei den Tinys fleißig dabei neue herauszubringen und übernehmen 
für die dann teilweise Funktionen und Peripherie aus den XMegas.

Das sind 2 Punkte die hier meiner Meinung nach gegen die XMegas 
sprechen.

: Bearbeitet durch User
von Anton M. (antonm)


Lesenswert?

Stefanus F. schrieb:
> Wer keine grösseren Mikrocontroller verwendet, war nicht angesprochen.

Na gut. Dann möchte ich noch den XMega128A4U erwähnen. Die umfangreiche 
XMega-Ausstattung wurde ja hier schon feilgeboten, wobei ich die 
immerhin 5 UARTs hervorheben möchte. Die 44 Pins lassen sich vom Bastler 
immer noch gut auf die Platine bringen und machen damit auch 
individuelle Designs ohne Adapterplatinengehampel möglich. Nur mit CAN 
schauts eben schlecht aus. Wofür braucht das der TO denn?

Gerd E. schrieb:
> so daß es nicht den Anschein macht, als
> ob die in der XMega-Serie eine große Zukunft sehen. Ich denke die sehen
> die Zukunft im 8 Bit-Bereich eher bei kleineren Controllern. Sie sind
> deshalb bei den Tinys fleißig dabei neue herauszubringen und übernehmen
> für die dann teilweise Funktionen und Peripherie aus den XMegas.

Würde ich zwar ähnlich sehen, aber was ist schon die "große Zukunft"?
Ist nicht viel entscheidender daß man einen Controller hat der die 
geplanten Anwendungen bewältigt? Was XMega vs. neue Megas/Tinys betrifft 
beginnen die Grenzen langsam aber stetig zu verschwimmen. Die neuen, 
viel günstigeren Controller nähern sich den alten XMegas immer weiter 
an.

von Axel S. (a-za-z0-9)


Lesenswert?

Gerd E. schrieb:
> Und es sind von Atmel/Microchip auch schon lange keine neuen XMegas mehr
> angekündigt/freigegeben worden, so daß es nicht den Anschein macht, als
> ob die in der XMega-Serie eine große Zukunft sehen

Das ist ein Trugschluß. Die neuen Mega0 und die neuen Tinies sind de 
facto XMegas, sie heißen nur nicht so. Sogar die neue Programmier- 
schnittstelle UPDI ist näher am PDI der XMegas als an ISP.

Tatsächlich ist es genau anders herum. Die Familien der Megas und Tinies 
haben keine neuen Mitglieder bekommen.

von Gerd E. (robberknight)


Lesenswert?

Axel S. schrieb:
> Gerd E. schrieb:
>> Und es sind von Atmel/Microchip auch schon lange keine neuen XMegas mehr
>> angekündigt/freigegeben worden, so daß es nicht den Anschein macht, als
>> ob die in der XMega-Serie eine große Zukunft sehen
>
> Das ist ein Trugschluß. Die neuen Mega0 und die neuen Tinies sind de
> facto XMegas, sie heißen nur nicht so. Sogar die neue Programmier-
> schnittstelle UPDI ist näher am PDI der XMegas als an ISP.

Ich sagte ja daß sie Funktionen und Peripherie von den XMegas übernommen 
haben.

Aber dennoch heißen sie Attiny und das nicht ohne Grund: Flash max. 
32KB, SRAM max. 2KB, Gehäuse max. 24 Pins,... - die sind also ganz klar 
als kleine Controller konzipiert wie es der Name auch andeutet. Dazu 
passt auch daß es Peripherie wie USB-Device oder CAN nicht gibt.

Von daher sind sie mit den echten XMegas nicht zu vergleichen, die waren 
ursprünglich durchaus als "größere" Controller gedacht und die gab es 
daher auch mit mehr Flash, RAM etc. Aber ich denke Atmel hat eingesehen, 
daß sie in dem Marktbereich mit 8 Bit Controllern heute nicht mehr 
punkten können und daß da eher ARM Cortex M angesagt ist.

von Rudolph R. (rudolph)


Lesenswert?

Um das noch mal zu erwähnen: ATSAMC21

Ich nutze im Moment den ATSAMC21E18-AU mit 256k FLASH, 32k SRAM, CAN-FD.

Das Teil hat das gleiche Gehäuse wie der ATMega16M1, ist dafür aber nur 
so vollgestopft mit Peripherie, lässt sich weiterhin mit dem AS7 und dem 
Atmel-ICE benutzen (und auch mal richtig debuggen), kostet dabei 
weniger.
Da der ATSAMC21 5V Versorgung verträgt, benötige ich auf meinem kleinen 
CAN-Knoten nur einen Spannungsregler.

Und wenn sich mal durch die Peripherie um den Controller herum ergibt 
das der besser mit 3,3V laufen sollte, dann kann der das auch bei vollem 
Takt.

Zusätzlich habe ich jetzt einen Upgrade Pfad, wenn die Pins nicht 
reichen gibt es die ATSAMC21 auch mit 48, 64 und 100 Pins.
Ab 48 Pins auch mit 2x CAN-FD.
Dazu mit unterschiedlich viel Speicher, falls man doch mal knausern 
muss.

Nicht so richtig wichtig, aber auch nicht ganz uninteressant, es gibt 
eine Automotive Version vom ATSAMC21, so im Gegensatz zum STM32.

Das einzige Manko bisher ist die Dokumentation dazu.
Da ich das ASF nicht verwenden will ist mir das Datenblatt an einigen 
Stellen einfach nicht ausführlich genug.


Wenn es sowas als AVR geben würde, dann würde ich den benutzen.
Wenn sowas noch als Tiny/AVR getarnter XMEGA kommen sollte, egal, zu 
spät.

von Max D. (max_d)


Lesenswert?

Von mir ein +1 für die STM32er.
Mit SW4STM32 gibt's eine fix&fertig IDE für Lau, auch für Linux.
Einstieg ist dank der Klicki-Bunti STM32CubeMX Umgebung auch leicht.

von Alec T. (803)


Lesenswert?

Hallo zusammen,

danke für den vielen Input.

Zunächst einmal sollte das in der Tat keine Glaubensdiskussion werden. 
Irgend welche SUV-Vergleiche sind da nun wirklich deplaziert bzw. 
unsinnig.
Natürlich kann man klein programmieren und vieles auf nen Tiny quetschen 
wenn man Spaß daran hat oder n paar Millionen davon produzieren will.

Ich such aber nunmal (für mich) die nächste one-fits-(fast)-all 
Variante.

Für die XMegas gabs n bischen was an Pro/Con, ich gucke mir die 
erwähnten Typen noch mal an. Tendenz für mich nach lesen dieses Threads 
geht aber schon eher in Richtung STM32. Am Ende erinner ich mich auch 
das ich mir in der Vergangenheit hin und wieder was breiteres als 8bit 
gewünscht hätte.

Die neueren STM32F0x2 sehen schon gut aus. Vielleicht kann mir noch 
jemand seine Einschätzung bzgl. der Unterschiede bzw. Vor/Nachteile 
zwischen der STM32F0x2 vs. F103 serie geben? USB & CAN parallel wurde 
genannt. Der F0x2 hat noch nen DAC onboard - nicht das ich den oft 
brauchen würde, dennoch schick :) Bzgl. Rechenpower schätze ich reicht 
mir Cortex M0...

Danke euch und schönen Sonntag zusammen :)

: Bearbeitet durch User
von Gerd E. (robberknight)


Lesenswert?

Alec T. schrieb:
> Die neueren STM32F0x2 sehen schon gut aus. Vielleicht kann mir noch
> jemand seine Einschätzung bzgl. der Unterschiede bzw. Vor/Nachteile
> zwischen der STM32F0x2 vs. F103 serie geben? USB & CAN parallel wurde
> genannt. Der F0x2 hat noch nen DAC onboard - nicht das ich den oft
> brauchen würde, dennoch schick :) Bzgl. Rechenpower schätze ich reicht
> mir Cortex M0...

Die F0 haben aktuellere und mehr Peripherie als die F1er. Das fängt bei 
der schieren Anzahl an Timern an, geht mit dem USB/CAN weiter und hört 
bei dem I2C auf.

Das I2C beim F1er ist sehr empfindlich und fehlerbehaftet, man kann es 
zwar ordentlich zum Laufen bekommen, es ist aber eher ein 
Spießrutenlauf. Viele nehmen daher gleich Software-I2C. Bei den F0ern 
ist das wesentlich entspannter, da funktioniert das Hardware-I2C 
ordentlich.

Nachteil der F0er ist, daß sie weniger SRAM, geringere Taktfrequenz und 
nur einen M0-Core haben. Der M0-Core ist bei Debugging, 
Interruptprioritäten, Befehlssatz,... ganz klar einfacher gestrickt als 
der M3-Core des F1ers. Wenn man vom Atmega kommt, wird man das aber erst 
mal gar nicht vermissen.

Schön ist, daß bei ST die Footprints zwischen den Serien weitgehend 
kompatibel sind. Wenn ich also vorher beim Schaltplandesign mal ins 
Datenblatt (bzw. eine Migration-Appnote) der größeren Serien schaue, 
kann ich meine Platine so designen, daß ich da hinterher einen F0, F1, 
F3 oder F4 drauflöten kann.

von Stefan F. (Gast)


Lesenswert?

Hat schon einmal jemand evaluiert, ein CAN Interface in Software zu 
implementieren? Auf den ersten Blick erscheint mit das nicht viel 
komplizierter, als eine UART. Also durchaus überschaubar.

Oder kommt man dann in Konflikt mit irgendwelchen Lizenzen?

von Display (Gast)


Lesenswert?

Für CAN-Interface nimmt man am besten MCP251x.. gibt es als normal can 
und als can-fd variante für SPI.
Libraries findet man dank der Arduino community auch genug dafür. 
Portierung auf STM32 sollte sehr einfach sein.

von Gerd E. (robberknight)


Lesenswert?

Stefanus F. schrieb:
> Hat schon einmal jemand evaluiert, ein CAN Interface in Software zu
> implementieren? Auf den ersten Blick erscheint mit das nicht viel
> komplizierter, als eine UART. Also durchaus überschaubar.

Ich fürchte beim 2. Blick wird Dir auffallen daß das doch nicht ganz so 
einfach ist:

Du musst eine mögliche Kollision auf dem Bus erkennen und dann aufhören 
zu senden. Dafür brauchst Du ein recht präzises Timing und eine schnelle 
Reaktion.

Auch um das ACK zu senden musst Du auf dem Bus mithören, direkt 
Prüfsumme etc. berechnen und dann entscheiden ob ACK oder nicht. Die 
Zeit, um auf einem µC zwischen dem CRC und dem ACK-Slot zu berechnen was 
Du senden musst, ist ziemlich knapp. Du musst dabei immer auch die 
Sinallaufzeit auf einem Bus mit maximaler Leitungslänge mit beachten, 
das macht die Sache komplizierter.

Wenn der µC kein eigenes CAN hat, würde ich daher auch zum MCP2515 
raten.

: Bearbeitet durch User
von Florian S. (sevenacids)


Lesenswert?

Den "Standard-Controller" für kleine bis mittelgroße Projekte gibt es 
meiner Ansicht nach nicht. Letztlich ist das entscheidende ja immer, was 
man genau realisieren möchte. Ich habe auch schon überlegt mich in 
Zukunft auf eine Plattform zu beschränken und evtl. auf ARM umzusteigen, 
da vermeintlich moderner. Bei näherer Betrachtung, was mir momentan so 
an Ideen vorschwebt, würde ein aktueller ATmega4808/09 in der Mehrzahl 
vermutlich völlig ausreichen, 8-bit hin oder her. Wenn es also ein 
Standard-Controller sein soll, braucht man meines Erachtens nach 
trotzdem mindestens zwei davon, die nicht unbedingt die selbe 
Architektur aufweisen müssen: Einen für die einfachen Sachen, den 
anderen fürs Komplexe.

In Sachen ARM würde ich mir zunächst auch mal die SAM C/D/E von 
Microchip näher ansehen, da die STM32 bei vergleichbarer Leistung nach 
einer Kurzrecherche vor ein paar Monaten doch teilweise deutlich teurer 
sind (zumindest bei DigiKey in Mengen zu zehn Stück). Keine Ahnung, 
warum die in diesem Forum hier dem Anschein nach verpönt sind und bei 
ARM jeder nur an STM32 denkt. Gibt es dafür technische Gründe? Ich habe 
bisher noch mit keinem von beiden gearbeitet.

Interessant für die Zukunft dürfte auch RISC-V sein. Leider sind z.B. 
die FE310 von SiFive derzeit vergriffen, gerade als ich mit dem Gedanken 
gespielt habe die mal auszuprobieren und schon angefangen hatte mir ein 
kleines Entwicklungsboard dafür zu erstellen. Mit etwa 5 Dollar pro 
Stück zwar etwas teuer, vor allem da die Peripherie doch etwas dürftig 
ist, dafür aber im Gegensatz zu ARM eine offene, lizenzfreie 
Architektur.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Gerd E. schrieb:
> Ich fürchte beim 2. Blick wird Dir auffallen daß das doch nicht ganz so
> einfach ist

Danke für deine Erklärung.

von Stefan F. (Gast)


Lesenswert?

Florian S. schrieb:
> Keine Ahnung, warum die in diesem Forum hier dem Anschein
> nach verpönt sind und bei
> ARM jeder nur an STM32 denkt. Gibt es dafür technische Gründe?

Verpönt sind sie (bei mir) nicht, ich habe aber ganz banale Gründe, 
warum ich mich für den STM32F103 entschieden habe:

a) Bekommt man als Steckbrett/Lochraster kompatibles Modul
b) Die Module sind sehr billig
c) Ich kann diesen Chip als Endverbraucher problemlos in kleinen 
Stückzahlen kaufen.
d) Das Evaluationsboard samt Programmieradapter/Debugger (Nucleo-64) ist 
billig und auch wieder für mich problemlos zu beschaffen.
e) Die Entwicklungsumgebung ist kostenlos und basiert auf mir bereits 
vertrauten Tools (Eclipse, gcc, Make).
f) Weil er mich zufrieden gestellt hat, habe ich andere gar nicht 
ausprobiert.

ATtiny, ATmega und Xmega kenne ich alle, sind auch nicht schlecht. Xmega 
sind aber für mich letztendlich sehr viel teurer. Ich müsste mir dazu 
erst eine passenden Debugger kaufen und bräuchte jedes mal eine 
Adapterplatine weil ich die Chips sonst nicht auf meine Lochrasterkarten 
drauf bekomme. Das gleiche Problem habe ich auch mit fast allen 32bit 
Mikrocontrollern.

von Udo K. (Gast)


Lesenswert?

Alec T. schrieb:
> Für die XMegas gabs n bischen was an Pro/Con, ich gucke mir die
> erwähnten Typen noch mal an. Tendenz für mich nach lesen dieses Threads
> geht aber schon eher in Richtung STM32. Am Ende erinner ich mich auch
> das ich mir in der Vergangenheit hin und wieder was breiteres als 8bit
> gewünscht hätte.

Ich vermisse die 8 Bit Zeiten definitiv nicht.
Ein wichtiger Vorteil der 32 Bit Arm M0-M7 ist die C compilerfreundliche 
Architektur:
Genug 32 Bit Register, Parameterübergabe über Register, Effiziente
Interruptroutinen (mit optional eigenem Stack).
Bei Bedarf auch Mult/Div in Hardware und bei M4F auch Floating Point.

>
> Die neueren STM32F0x2 sehen schon gut aus. Vielleicht kann mir noch
> jemand seine Einschätzung bzgl. der Unterschiede bzw. Vor/Nachteile
> zwischen der STM32F0x2 vs. F103 serie geben? USB & CAN parallel wurde
> genannt. Der F0x2 hat noch nen DAC onboard - nicht das ich den oft
> brauchen würde, dennoch schick :) Bzgl. Rechenpower schätze ich reicht
> mir Cortex M0...

Mit was anderem als einem M4 oder M7 mit mindestens 256kB RAM
würde ich heute nicht mehr anfangen...
ansonsten kannst du ja gleich beim ATMega bleiben.

Die Einarbeitungszeit ist praktisch genauso hoch, und für
halbwegs moderne Gui's brauchst du Speicher...
ein 480x320 Hintergrundbild in 8 Bit braucht 150kByte.

Schau drauf, dass der uC ein LCD Interface integriert hat,
dann ist die LCD Ansteuerung effizient über DMA.
SPI ist bei kleinen LCD's eine gute Lösung.

Es muss nicht immer ST sein...
NXP ist auch gut, mit besser dokumentierter Peripherie,
teilweise mit USB 2.0 High Speed Phy (gibts bei ST gar nicht),
von Freescale gibt es auch eine 5 Volt kompatible Schiene.
Beide deutlich günstiger über offizielle Distributoren erhältlich.

Von TI gibt es einen M4F mit Ethernet Phy integriert,
das ist sehr praktisch wenn man einen Webserver braucht.

Die Microsemi Arm Peripherie dürte weitgehend zu der XMega Serie
kompatibel sein.

Von ST gibt es das STM32F746G-Disco Kit um ca. 60 Euro,
da sieht man was möglich ist:
https://www.youtube.com/watch?v=JPXR5su4PKs

von Ingo Less (Gast)


Lesenswert?

Ich stand privat auch vor der entscheidung meines derzeitigen Projekts: 
STM32F0 oder AVR.

Bin dann zum STM gegangen. Man erkauft sich das Performanceplus sowie 
die gute Debugmöglichkeit zum Preis von etwas aufwändigerer Hardware. 
Habe heute zwei Stunden damit verbracht den Controller mit HSI und PLL 
auf den richtigen Takt zu bekommen. Das wäre beim AVR schneller gegangen 
bzw. hat der keine PLL. Dafür war die Inbetriebnahme eines Sensors 
deutlich einfacher wegen dem debugger. Kein Vorteil ohne Nachteil

von Stefan F. (Gast)


Lesenswert?

Ingo Less schrieb:
> Habe heute zwei Stunden damit verbracht den Controller mit
> HSI und PLL auf den richtigen Takt zu bekommen.
> Das wäre beim AVR schneller gegangen bzw. hat der keine PLL.

Dann halte dich vom Xmega fern, der ist in dieser Hinsicht nicht 
einfacher als STM32.

von Udo K. (Gast)


Lesenswert?

Die Arm Peripherie ist deutlich komplexer, aber dafür auch sehr
leistungsfähig.

Von dem Gedanken, jedes Bit auf dem Prozessor zu kennen,
muss man sich ganz schnell verabschieden...

Features die man nicht braucht, muss man einfach ignorieren, sonst kommt
man an kein Ziel.

Ähnlich wei bei moderner Bloatware (Qt, .Net) PC Programmierung, da darf 
man
auch nicht anfangen in den Lib Sourcen reinzuschauen...

von c-hater (Gast)


Lesenswert?

Ingo Less schrieb:

> Das wäre beim AVR schneller gegangen
> bzw. hat der keine PLL.

Es gibt durchaus auch AVR8 mit PLL-Takt. Tiny25/45/85 z.B.

Nur beschränkt sich der Sackstand zur Konfiguration des Taktsystems dort 
halt auf auf das korrekte Setzen der Fuses. Naja, wenn man ganz ehrlich 
ist, muss man natürlich auch noch die Konfiguration des Timer1 
hinzurechnen, die auch etwas aufwendiger ist als im synchronen Modus.

von Ingo Less (Gast)


Lesenswert?

Stefanus F. schrieb:
> Ingo Less schrieb:
> Habe heute zwei Stunden damit verbracht den Controller mit HSI und PLL
> auf den richtigen Takt zu bekommen.
> Das wäre beim AVR schneller gegangen bzw. hat der keine PLL.
>
> Dann halte dich vom Xmega fern, der ist in dieser Hinsicht nicht
> einfacher als STM32.
Ich habe deinen Code auf nem F0 versucht. Du solltest ein RCC_DeInit(); 
und ein „PLL-Deaktivieren“ vor deinem Code auf deiner HP zu Thema Takt 
setzen, sonst wirken sich die Änderungen erst nach einem Power-Off aus, 
jedenfalls beim STM32F0

von Generverter (Gast)


Lesenswert?

ARM frisst den AVR locker weg. Nicht mehr lange und die AVRs sind weg 
vom Markt.

Schaut euch das Forum an. Gar nicht lange her und es dominierte AVR. 
Cortex wurde als überzogen und kompliziert gesehen. Man wollte nicht 
wechseln und schön beim AVR bleiben.
Und jetzt? Das Forum hat sich um 180° gedreht und ist ARM-lastig 
geworden. Die großen Verfechter des AVR sind umgezogen und propagieren 
jetzt ARM.

Also nimm einen Cortex M. Dafür bekommst du hier Unterstützung und es 
gibt viele Chips für alle möglichen Fälle.

von Anton M. (antonm)


Lesenswert?

Generverter schrieb:
> ARM frisst den AVR locker weg. Nicht mehr lange und die AVRs sind weg
> vom Markt.

Guter Witz. Das haben wir hier schon oft gehört. Du solltest Dich eher 
fragen warum dies gerade nicht passiert. Bei weitem nicht jedes System 
braucht ein GUI oder verarbeitet Mutimediales (was man eigentlich 
getrost Raspi & Co überlassen kann). Das wird auch für die Zukunft 
gelten.

Ingo Less schrieb:
> Habe heute zwei Stunden damit verbracht den Controller mit HSI und PLL
> auf den richtigen Takt zu bekommen. Das wäre beim AVR schneller gegangen

PLL haben übrigens die XMega auch. Hier liegt die "Herausforderung" nur 
darin, vor der Umschaltung jeweils die hergestellte Stabilität der 
Taktquelle abzuwarten. Für die neuen Tinys und Megas langt in Asm nach 
Fuse-Voreinstellung ein Vierzeiler.

: Bearbeitet durch User
von schnippo (Gast)


Lesenswert?

Rödel schrieb:
> schnippo schrieb:
>> ich setze im Hobby mittlerweile nur noch auf stm32. Ich habe mir beim
>> China-Mann 10 Stück Bluepill für ein paar Euro gekauft (damit komme ich
>> ne weile aus). Die nutze ich für alles. Auch wenn es nur eine blinkende
>> LED ist. Spielt keine Rolle.
>
> Ich setze im Strassenverkehr mittlerweile auch nur noch auf meinen
> fetten SUV. Damit komme ich ne Weile aus. Den nutze ich für alles. Auch
> wenn es nur eine Fahrt zum Bäcker umme Ecke ist. Spielt keine Rolle.

Wenn der SUV günstiger ist als der Trabbi? Die STM32-Module sind so 
billig, dass selbst ein Glas Bier teurer ist. Wozu sollte ich in 
irgendeiner Weise sparsam sein?

Es ist völlig irrelevant ob der uC sich langweilt. Dem Chip ist es egal 
- er hat ja keine Gefühle. :-)

Und da ich alles in c schreibe ist es auch egal ob ich für ein Lauflicht 
einen 32bitter nutze oder einen 8bitter. Das Programm ist gleich schnell 
fertig.

Anton M. schrieb:
> schnippo schrieb:
>> ich setze im Hobby mittlerweile nur noch auf stm32.
>> Atmega ist für mich gestorben (habe ich früher
>> gerne genutzt, aber sind definitiv nutzlos für mich geworden).
>
> Dann kann das ja nur mit anspruchsvolleren Anwendungen zusammenhängen.
> Oder eher mit ressourcenfressender Programmierung?

Spielt auch keine Rolle. Ob das Lauflicht nun 100KB Code braucht oder 
1KB. Ich bekomme für sparsamen Code keinen Orden und im Hobby ist es 
gehopst wie gesprungen.

von Anton M. (antonm)


Lesenswert?

schnippo schrieb:
> Spielt auch keine Rolle. Ob das Lauflicht nun 100KB Code braucht oder
> 1KB. Ich bekomme für sparsamen Code keinen Orden und im Hobby ist es
> gehopst wie gesprungen.

Ja, nach diesem Prinzip funktioniert es.
Jedes Jahr muß leistungsfähigere Hardware her.
Wo doch das Vorhandene locker ausreichen würde.

von Stefan F. (Gast)


Lesenswert?

Ingo Less schrieb:
> Ich habe deinen Code auf nem F0 versucht. Du solltest ein RCC_DeInit();
> und ein „PLL-Deaktivieren“ vor deinem Code auf deiner HP zu Thema Takt
> setzen, sonst wirken sich die Änderungen erst nach einem Power-Off aus,
> jedenfalls beim STM32F0

Mein Code (die ganze Seite) ist ausdrücklich für den STM32F103 und da 
tut er was er soll. Du solltest nicht einfach davon ausgehen, Code von 
einer Serie auf die andere ohne Änderung übernehmen zu können.

Ich werde da auch keine Eierlegenden Wollmilchsäue veröffentlichen, denn 
dann kann man auch gleich die Cube HAL verwenden.

von schnippo (Gast)


Lesenswert?

Anton M. schrieb:
> schnippo schrieb:
>> Spielt auch keine Rolle. Ob das Lauflicht nun 100KB Code braucht oder
>> 1KB. Ich bekomme für sparsamen Code keinen Orden und im Hobby ist es
>> gehopst wie gesprungen.
>
> Ja, nach diesem Prinzip funktioniert es.
> Jedes Jahr muß leistungsfähigere Hardware her.
> Wo doch das Vorhandene locker ausreichen würde.

Die Hardware wird doch nicht wegen den Bedürfnissen der Bastler 
leistungsfähiger und günstiger. Ich greife doch nur das Vorhandene ab 
und gehe den bequemsten Weg. Ein Controller mit dem man im Hobby so 
ziemlich alles abdecken kann (vom Quadrokopter bis zum Blinklicht habe 
ich schon alles mit den STM32 gemacht) ist eben sehr praktisch.

Es gibt Bereiche in denen ich dir aber 100% zustimmen würde. Ich kann 
der geplanten Obsoleszenz bei Unterhaltungselektronik z.B. nichts 
abgewinnen. Smartphones werden immer leistungsfähiger, aber laufen 
bereits nach kurzer Zeit nicht mehr flüssig (trotz 4 Kernen und 
gigantischer Leistungsfähigkeit).

von Ingo Less (Gast)


Lesenswert?

Man gut das nichtm alle so denken wie du Anton, dann wären wir nämlich 
noch mit nem Feuer in ner Höhle, dass reicht ja auch, statt vorm Kamin 
in nem Häus‘chen

von Stefan F. (Gast)


Lesenswert?

Anton M. schrieb:
> Ja, nach diesem Prinzip funktioniert es.
> Jedes Jahr muß leistungsfähigere Hardware her.
> Wo doch das Vorhandene locker ausreichen würde.

Du kannst ja deinen PC durch einen IBM XT ersetzen und das Smartphone 
ganz weglegen. Denn das ist ja alles sinnlos übertriebene Technik.

Ich sage Dir wo der Sinn ist: Das Programmieren ist einfacher und 
dadurch billiger geworden.

Mein Vater musste für seinen ersten Office PC ein Monatsgehalt hinlegen 
und für das Textverarbeitungs-Programm nochmal so viel.

Heute kostet ein PC mit MS-Office nur ein viertel Monatsgehalt und das 
Office kann man auch kostenlos haben, wenn man will.

DAS ist der Fortschritt, dem Du dich verweigerst.

von Anton M. (antonm)


Lesenswert?

schnippo schrieb:
> Smartphones werden immer leistungsfähiger, aber laufen
> bereits nach kurzer Zeit nicht mehr flüssig

Da kann man doch nur drauf tippen daß die Software dermaßen ineffizient 
und komplex geworden ist und die Entwickler manchen Überblick verloren 
haben, oder?

schnippo schrieb:
> Ich greife doch nur das Vorhandene ab
> und gehe den bequemsten Weg.

Wer den gefunden hat kann sich immer glücklich schätzen.
Oder nicht? Also ich finde eher den Weg zum Ziel inspirierend, ein 
tieferes Verständis zu erlangen, als nur mit dem 'Zusammenklicken' von 
fertigen Codes ein Ziel schnellstmöglich zu erreichen. Als Bastler meine 
ich.

Ingo Less schrieb:
> Man gut das nichtm alle so denken wie du Anton, dann wären wir
> nämlich
> noch mit nem Feuer in ner Höhle, dass reicht ja auch, statt vorm Kamin
> in nem Häus‘chen

Oh nein Ingo, so möchte ich das nicht verstanden wissen.
Aber ist es nicht legitim zu fragen ob die Richtung immer stimmt?
Ich möchte für's Lauflicht doch nicht irgendwann bei Smartphone- 
Komplexität landen.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Anton M. schrieb:
> Da kann man doch nur drauf tippen daß die Software dermaßen ineffizient
> und komplex geworden ist und die Entwickler manchen Überblick verloren
> haben, oder?

Das trifft sicher oft zu.

Wenn die Software allerdings mit den Mitteln der 80er Jahre entwickel 
wäre, könnte sie kein normaler Mensch bezahlen.

> Ich möchte für's Lauflicht doch nicht irgendwann bei
> Smartphone- Komplexität landen.

Für Dich ist es offensichtlich Hobby, da ist das so Ok.

Auch für mich bieten Mikrocontroller die Möglichkeit, mich mit kleinen 
Details zu beschäftigen, die in meinem Beruf unter der Haube von 
Betriebssystemen, Frameworks und Applikationsservern verborgen bleiben. 
Durch die Mikrocontroller habe ich einiges gelernt, was auch bei den 
grossen Maschinen hilft. Immer wenn irgendwo die Performance Kacke ist, 
ruft man nach mir.

Dennoch akzeptiere ich, dass die Entwicklung weiter geht. Mehr Speicher, 
mehr Rechenleistung, komplexere Software und ja: auch komplexere 
Probleme. Das ist halt so, als Softwareentwickler kannst du daran nichts 
ändern. Entweder machst du mit so gut du kannst, oder du bist raus.

Ich habe zuhause meine kleine heile Mikrocontroller Welt, während auf 
der Arbeit mit Gigabytes und zig CPU Cores nur so herum gesaut wird. 
Dafür haue ich mit meinem Team aber auch Sachen in wenigen Wochen 
betriebsfertig und gewinnbringend raus, für die ich mit meinen 
Hobby-Methoden viele Jahre brauchen würde.

von Carl D. (jcw2)


Lesenswert?

Nachdem ich zum ersten Mal in Eclipse durch ein Programm auf einer 
BluePill durchgesteppt bin und Fragen zur Hardware durch direktes Setzen 
von Periepherie-Registern vom Debugger aus klären konnte, war die Zeit 
des Nano vorbei. Es galt eben gegen eine komfortable 
Entwicklungsumgebung mit "ICE" für rund 10€ anzukommen. Atmel hat das 
nie auch nur versucht.

Und man dafür atomare 32Bit Operationen, Unmengen richtige 
Pointer-Register, Interruptroutinen, die Dank entsprechend designter HW 
die Aufrufkonvetionen von C/C++ einhalten, usw. bekommt, warum sollte 
man dann für mehr Geld mit weniger zufrieden geben. Vielleicht weil ein 
M3 keine AVR8-Befehle versteht und man seine Programme leider genau so 
formuliert hat.

von Udo K. (Gast)


Lesenswert?

Die Diskussion führt ja wahrscheinlich zu nix...

aber ich kann auch auf dem Cortex uC ganz bequem
sehr effizient und ohne Overhead programmieren.

Ich brauche dabei nicht mal auf Assembler auszuweichen.
Der Compiler ist in fast allen Fällen besser.

Ich muss aber den Startup Code selber schreiben
(vielleicht 100 Zeilen für die Interrupt Tabelle),
und auf die mitgelieferten Bibliotheken verzichten.

Aber das ist kein Problem und es macht richtig viel Spass :-)

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Mein Allround Controller ist der STM32.
Die F0xx für kleinere Aufgaben bis hin zu F7xx für die etwas 
anspruchsvolleren. (Embeded Linux usw. mache ich nicht)
Die breite Palette von über 700 Variationen machen den µC zu einem 
idealen Partner.

Wem die kleinen STM32F0xx reichen, der kann sogar kostenlos den Keil 
µVision nutzen und der CubeMX von ST erzeugt dafür einen fertigen 
Start-Up Code und initialisiert schon mal die ganze Peripherie (Incl. 
PLL/Clock usw.).
Wenn man sich daran hält wo man Usercode einfügen darf, kann man sogar 
die CubeMx Konfiguration im Nachhinein nochmal ändern und neu erstellen, 
der Usercode Bereich wird dann automatisch übernommen.
Danach nur noch die eigene Sachen rein programmieren und schon läuft das 
ganze.

Vor über 10 Jahren hatte ich diese immer wieder empfohlen, wurde damals 
oft verspottet auch von Leuten die sogar heute den STM32 nicht mehr 
missen wollen und weiter empfehlen.

Das gute am STM32 ist der ARM Kern, da andere Hersteller von µC 
ebenfalls ARM Kerne einsetzen kann man daher die ganzen Anschaffungen 
wie z.B. Debugger und Software garantiert weiter verwenden, auch wenn es 
ST mal nicht mehr geben sollte. Für Privat/Hobby empfehle ich den 
"Segger J-LINK EDU", kostet ca. 50-60€ und ist in jedem Fall sein Geld 
wert da Segger sehr gute Tools mit liefert.

: Bearbeitet durch User
von Schukostecker (Gast)


Lesenswert?

Stefanus F. schrieb:
> Anton M. schrieb:
>> Ja, nach diesem Prinzip funktioniert es.
>> Jedes Jahr muß leistungsfähigere Hardware her.
>> Wo doch das Vorhandene locker ausreichen würde.
>
> Du kannst ja deinen PC durch einen IBM XT ersetzen und das Smartphone
> ganz weglegen. Denn das ist ja alles sinnlos übertriebene Technik.

Der XT wurde bis 1987 gebaut, nicht bis 2018.

Stefanus F. schrieb:
> Ich sage Dir wo der Sinn ist: Das Programmieren ist einfacher und
> dadurch billiger geworden.

Und in weiten Bereichen unvorstellbar ineffizient geworden.

Extrem-Vorschlag: Java-Programmierer sollten bespielsweise verpflichtet 
werden einen Assembler-Dialekt zu lernen, um zu verstehen was wirklich 
auf der Box vor sich geht.

von Stefan F. (Gast)


Lesenswert?

Markus M. schrieb:
> Für Privat/Hobby empfehle ich den
> "Segger J-LINK EDU", kostet ca. 50-60€ und ist in jedem Fall sein Geld
> wert da Segger sehr gute Tools mit liefert.

Dieser Preis würde mich abschrecken. Die ST-Link kompatiblen USB Sticks 
aus Asien für 2€ erfüllen ihren Zweck ebenfalls. Ich empfehle allerdings 
die Nucleo-64 Board für erste Versuche, da bekommt man einen 
abtrennbaren ST-Link mit USB-UART mit geliefert.

von Rödel (Gast)


Lesenswert?

Naja, wenn man nicht weiss, wie man gut programmiert, ist ein STM schon 
die richtige Wahl. Da wird auch die grösste Inkompetenz durch mehr Takt 
und Speicher erschlagen. Ich persönlich kenne auch wirklich nur sehr 
sehr wenige wirklich gute Programmierer und die bekommen ihre Probleme 
immer verdammt schnell in den Griff.

Aber die meisten sind halt so typische Pseudoprogrammierer. Meistens 
Quereinsteiger, wenig Erfahrung, schlagen sich vor allem mit dem 
durchtrainiertem Mundwerk durch. Ich weiss nicht warum, aber die 
dümmsten Programmierer haben immer die grösste Fresse.

von Udo K. (Gast)


Lesenswert?

Wobei gut programmieren auch heissen kann: schnell fertig werden.
Mit STM hat das aber gar nichts zu tun.

Und dann nimmt man halt ein 100 MByte Framework, das halbwegs geeignet
erscheint, und wo man schon was gemacht hat damit.
Ob das dann schön, effizient oder Bug frei ist, ist erst mal nicht 
wichtig.

Und Silizium ist unglaublich billig geworden.  An die Tatsache muss
ich mich auch immer noch gewöhnen.

Eine 240 GByte SSD gibts schon um 30 Euro...

Schaut euch doch heutige Software an:  Da geht es schon deutlich in
Richtung 100 MByte, auch wenn es nur ein einfaches Handy Spiel
oder ein Vokabel Lernprogramm ist...

Und Mikrocontroller Programmierung geht in dieselbe Richtung.

von ohje (Gast)


Lesenswert?

Der Reigen der penetranten STM32 Fanboys.

Jeder MUSS den Standart (sic) verwenden, sonst wird er verbal 
niedergeknüppelt. Weil STM32 = ARM, und alles andere kennt man ja nicht 
;-)

Das bei einem µC Peripherie, Programmierumgebung und Codebasis 
relevanter sind als hirnloses STM32-Gejubel werden sie nie kapieren.

Mein Rat wäre:
Erst einmal ausprobieren, ob du eine IDE zum STM32 findest, die dir 
zusagt, und ob du mit den kruden Konzepten in der HAL und den 
Datenblättern der STs etwas anfangen kannst.
Dazu kann man sich ja mal ein Discovery-Board gönnen. Die Hardware der 
STM32 ist ja durchaus brauchbar.
Wenn man sein Hirn allerdings nicht in die verwundenen Bahnen der STM32 
Sofwareumgebungen zwingen kann, macht die Programmierung keinen Spass. 
Und das wäre für ein Hobby schon relevant.

Wie immer gilt sowieso: Der richtige Controller ist derjenige, mit dem 
man die Aufgabe am besten gelöst bekommt.

Es gibt auch andere Controller, die in Teilen durchaus besser als STM32 
sind, wie PIC32, LPCx (NXP), Cypress PSOCs, MSP430.
Man sollte sich von penetranten Fanboys nicht in eine Ecke zwingen 
lassen.

von konrad duden (Gast)


Lesenswert?

ohje schrieb:
> Jeder MUSS den Standart (sic) verwenden,

Er sollte lieber diesen Standard verwenden (sic und gell)

von Falk B. (falk)


Lesenswert?

Udo K. schrieb:
> Und Mikrocontroller Programmierung geht in dieselbe Richtung.

Das ist wohl leider wahr, aber auch ein Trend, den man persönlich nicht 
unterstützen und vorantreiben muss. Klar muss und sollte man heute nicht 
jedes Bit und Byte auf die Goldwaage legen und extremst sparsam 
haushalten, das ist weder technisch noch ökonomisch nötig und sinnvoll. 
Aber ein bisschen Mitdenken und vernünftige Entscheidungen ohne Overkill 
haben noch nie geschadet. Ein RasPi für nen LED-Blinker ist Irrsinn, ein 
32 Bit Controller auch! Ich kann auch mit dem 40-Tonner zum Bäcker 
Brötchen holen fahren, ist auch Irrsinn.

von ohje (Gast)


Lesenswert?

konrad duden schrieb:
> Er sollte lieber diesen Standard verwenden (sic und gell)

also Renesas.
Nachdem das der größte µC-Hersteller ist :-)

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Udo K. schrieb:
>> Und Mikrocontroller Programmierung geht in dieselbe Richtung.
>
> Das ist wohl leider wahr, aber auch ein Trend, den man persönlich nicht
> unterstützen und vorantreiben muss. Klar muss und sollte man heute nicht
> jedes Bit und Byte auf die Goldwaage legen und extremst sparsam
> haushalten, das ist weder technisch noch ökonomisch nötig und sinnvoll.

Ja, insbesondere bei den Preisen selbst für 32-Bit-Mikrocontroller.

Bei einer BluePill für €1,50 überlegt man nicht mehr, ob man überhaupt 
noch in der AVR-Liste gucken soll.

> Aber ein bisschen Mitdenken und vernünftige Entscheidungen ohne Overkill
> haben noch nie geschadet. Ein RasPi für nen LED-Blinker ist Irrsinn, ein
> 32 Bit Controller auch! Ich kann auch mit dem 40-Tonner zum Bäcker
> Brötchen holen fahren, ist auch Irrsinn.

Nicht unbedingt.

Wenn der 40-Tonner praktisch dasselbe kostet, er die LED blinken lässt 
und ich mich mit 40-Tonnern sehr gut auskenne, dann gibt es keinen 
Grund, mich noch mit PKW und ihren Eigenheiten zu befassen. Auch wenn 
95% des 40-Tonners brach liegen.

Nicht zu vergessen ist dabei immer auch die Featuritis: man startet ein 
(Hobby-)Projekt und viel später hätte man (bzw. der Kunde) rein 
softwaremäßig gerne noch dies oder jenes usw. - da ist bei den 
32-Bittern einfach mehr Luft nach oben.

Sprich: bei den 32-Bittern habe ich mittlerweile eine enorme Bandbreite 
von "wenig Leistung" für wenige Cent bis zum Schlachtschiff - da ist es 
oft Zeitverschwendung, neben der 32-Bit-Reihe und deren Eigenheiten noch 
mit einer 8-Bit-Reihe (und deren Problemen) zu kämpfen.

Einzig wenn man extrem Leistung sparen muss oder 5V-Ausgänge gefordert 
sind haben die älteren AVRs noch eine Chance. Wobei es kaum noch neue 
Chips gibt, die 5V vertragen.

von Falk B. (falk)


Lesenswert?

Chris D. schrieb:

> Bei einer BluePill für €1,50 überlegt man nicht mehr, ob man überhaupt
> noch in der AVR-Liste gucken soll.

Das stimmt, geht aber am Gesamtproblem vorbei. Nicht nur die Profis, 
auch die Amateure und Laien gehen jeden Tag massenhaft hirnlos mit 
Speicher und IT-Ressourcen um. Das leidige Problem der Bildformate 
ist nur eines davon. Ich bin ja nun weiß Gott kein Kind der sparsamen 
(Nach)kriegsgeneration, aber das hirn- und sinnlose Verschleudern von 
Ressourcen, auch wenn die teilweise heute nur noch wenig kosten, geht 
mir auf den Keks.

>> Aber ein bisschen Mitdenken und vernünftige Entscheidungen ohne Overkill
>> haben noch nie geschadet. Ein RasPi für nen LED-Blinker ist Irrsinn, ein
>> 32 Bit Controller auch! Ich kann auch mit dem 40-Tonner zum Bäcker
>> Brötchen holen fahren, ist auch Irrsinn.
>
> Nicht unbedingt.
>
> Wenn der 40-Tonner praktisch dasselbe kostet, er die LED blinken lässt
> und ich mich mit 40-Tonnern sehr gut auskenne, dann gibt es keinen
> Grund, mich noch mit PKW und ihren Eigenheiten zu befassen. Auch wenn
> 95% des 40-Tonners brach liegen.

Nicht alles was hinkt, ist ein Vergleich. Ja, beim STM32 und seinen 
ultrabilligen Boards mag das so sein und das ist OK, auch wenn es 
historisch gesehen schon gewöhnungsbedürftig ist.

Allgemein gilt das aber NICHT, denn aufgeblähte technische Lösungen, 
nicht nur bei uCs, "beglücken" uns immer mehr. Der Toaster mit WLAN ist 
da nur die Spitze des Eisbergs.

KISS!

Spätestens wenn dir ein Hersteller ein ultrafettes, träges Framework auf 
Auge drücken will, siehst du das mal ganz fix anders.

Auch wenn der Vergleich hinkt. Denkt mal drüber nach, mit wie wenig 
Rechenleistung die Amis zum Mond geflogen sind. Oder mit wie wenig 
Rechenleistung in den 80er und 90er Jahren gerade zu aberwitzige Effekte 
auf den Heimcomputers gezaubert wurden. Auch wenn der normale 
Entwickleralltag nicht die Zeit und Möglichkeiten zur Entwicklung eines 
Superalgorithmuses bietet, sollte man das nicht ganz aus den Augen 
verlieren.

Und last but not least habe ich auch einen gewissen sportlichen wie auch 
fachlichen Anspruch an mich und meine Kreationen. Ein "Hello World" mit 
10MB wäre MIR peinlich!

von Anton M. (antonm)


Lesenswert?

Falk B. schrieb:
> Klar muss und sollte man heute nicht
> jedes Bit und Byte auf die Goldwaage legen und extremst sparsam
> haushalten, das ist weder technisch noch ökonomisch nötig und sinnvoll.

Nein, muß man nicht.
Beim 'sollte' wär ich mir nicht mehr ganz so sicher.
Da geht doch, im vermeintlich schönsten ökonomischen Sonnenschein, das 
Dilemma schon los. Die Ökonomie, oder sagen wir besser Vernunft, findet 
dann letztlich Ihr Ende in der IT-Müll Entsorgung, weil das gute Handy 
oder der PC oder die eigene Hardware zu schwerfällig, nicht mehr 
erweiterbar, mangels Übersicht störanfällig geworden ist. Und wieder muß 
neue Hardware her.

Zumindest mal für den Bastler gilt doch: Je besser man haushaltet desto 
mehr Hardware-Optionen hat man. Je besser man haushaltet umso länger 
kann man sein System nutzen. Je besser man haushaltet desto genauer 
kennt man in der Regel auch sein System. Und ich sage Dir: Je besser man 
haushaltet desto größer ist der Spaß am Entwickeln. Das ist -für mich- 
das Entscheidende!

Schließlich kostet jeder Plattform-Wechsel auch viel Zeit. Ob das dann 
immer in sinnvoller Relation zu den geplanten Anwendungen steht? Auch 
die neuen Chips kochen eigentlich nur mit Wasser. Von allem gibts meist 
nur mehr und das sorgt immer auch für weniger Übersicht.

Einen neuen Trend finde ich interessant. Die Peripherie immer weiter 
aufzubohren und etwas intelligenter zu machen. Stichwort Event-System.
Damit werden seit einiger Zeit die AVRs aufgepeppt und schwups, ist 
Bittigkeit und Leistung des Kerns wieder ein Stück uninteressanter 
geworden.

: Bearbeitet durch User
von UweBonnes (Gast)


Lesenswert?

Chris D. schrieb:
> Wobei es kaum noch neue
> Chips gibt, die 5V vertragen.

Neuere STM32 sind aber an fast allen Pins 5-Volt tolerant, aeltere an 
den meisten?

von m.n. (Gast)


Lesenswert?

Chris D. schrieb:
> Wenn der 40-Tonner praktisch dasselbe kostet, er die LED blinken lässt
> und ich mich mit 40-Tonnern sehr gut auskenne, dann gibt es keinen
> Grund, mich noch mit PKW und ihren Eigenheiten zu befassen. Auch wenn
> 95% des 40-Tonners brach liegen.

Die Vergleiche passen doch vorne und hinten nicht. Die 'dickeren' 
ARM-Prozessoren mögen viel mehr können, sind von den äußeren Abmessungen 
genau so klein und handlich wie 8-Bitter.

Sobald man nur eine einzige Eigenschaft braucht, ist die Anwendung von 
z.B. STM32Fxxx schon gerechtfertigt. Beispiele sind RAM > 100 KB, viele 
oder schnelle Timer oder Timer mit 32 Bit, schnelle float/double 
Berechnungen oder einfach nur priorisierte Interrupts. Die "Beigaben" 
wie USB, Ethernet, TFT-Controller, Audio- oder Video-Kram kann man doch 
getrost beiseite lassen, wenn man sie nicht braucht.
Auch wenn ich bei Anwendungen nur 5 - 10 % der Möglichkeiten eines z.B. 
F4xx nutze: ein AVR oder sonstiges 'Kleinzeug' könnte das Problem auch 
nicht ansatzweise lösen.

Wenn der TO also schon AVR genutzt, die Möglichkeiten eines XC161 auch 
verstanden hat, wäre irgendetwas mit ARM-Kern schon die passende 
Weiterentwicklung.

Udo K. schrieb:
> Ich muss aber den Startup Code selber schreiben

Du kannst es gerne machen, aber jeder Hersteller liefert zu seinen 
Controllern passende startup.s (o.ä.) und jeder IDE-Anbieter passende 
init-Routinen bis zum Sprung nach main().

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Nicht nur die Profis, auch die Amateure und Laien gehen jeden Tag
> massenhaft hirnlos mit Speicher und IT-Ressourcen um.

Das ist leider richtig. Aber was nützt es, wenn Du ihnen einen 32-Bitter 
vorenthältst? Dann schlagen sie im Forum auf und schreien "Hilfe, ich 
hab kein RAM mehr auf dem AVR!".

Gibst Du ihnen jedoch einen STM32, werden sie sich wahrscheinlich gar 
nicht bis selten melden, weil sie sich schon irre anstrengen müssen, um 
den Speicher vollzumüllen.

Okay, das war jetzt etwas ketzerisch formuliert. Schließlich nimmst Du 
ihnen mit der "Lösung" STM32 die Chance, zu lernen, mit dem AVR-Speicher 
hauszuhalten und auszukommen. Du sprichst aber oben von "hirnlos": wie 
steht's denn da mit Hopfen und Malz?

von Anton M. (antonm)


Lesenswert?

Chris D. schrieb:
> Sprich: bei den 32-Bittern habe ich mittlerweile eine enorme Bandbreite
> von "wenig Leistung" für wenige Cent bis zum Schlachtschiff - da ist es
> oft Zeitverschwendung, neben der 32-Bit-Reihe und deren Eigenheiten noch
> mit einer 8-Bit-Reihe (und deren Problemen) zu kämpfen.

Die "Eigenheit" der 8Bitter ist zuallererst ihre Einfachheit.
Das allein kann schon sehr viel Zeit sparen.
Erst bei umfangreicheren, leistungshungrigen Anwendungen sind die 32 
Bitter im Vorteil.

> Einzig wenn man extrem Leistung sparen muss oder 5V-Ausgänge gefordert
> sind haben die älteren AVRs noch eine Chance. Wobei es kaum noch neue
> Chips gibt, die 5V vertragen.

Naja, mit einem Versorgungsbereich von 1,8 bis 5,5V bieten sich schon 
ganz andere, sprich sehr viel mehr Schaltungs- Optionen. Nicht nur bei 
der Wahl von Interface-Chips oder Sensoren. Denk auch an 
Mosfet-Ansteuerung oder die Flexibilität bei Versorgung z.B. über eine 
Solarzelle. 5V sind ein riesengroßer Vorteil!

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Das stimmt, geht aber am Gesamtproblem vorbei. Nicht nur die Profis,
> auch die Amateure und Laien gehen jeden Tag massenhaft hirnlos mit
> Speicher und IT-Ressourcen um. Das leidige Problem der Bildformate
> ist nur eines davon. Ich bin ja nun weiß Gott kein Kind der sparsamen
> (Nach)kriegsgeneration, aber das hirn- und sinnlose Verschleudern von
> Ressourcen, auch wenn die teilweise heute nur noch wenig kosten, geht
> mir auf den Keks.

Mir auch - aber letztendlich habe ich auf dem Board immer nur einen 
Chip, auf dem einmal AVR und einmal STM32 steht. Die paar mA, die ein 
STM32 mehr benötigt, spart er vermutlich in der Zeit wieder ein.

Ich sehe da keine Verschwendung - im Gegenteil wäre so ein System 
deutlich zukunftsfähiger, eben weil ich in einem STM32 viel mehr Logik 
und Software reinpacken kann und das auch schnell auf den neuesten Stand 
gebracht worden ist.

> Nicht alles was hinkt, ist ein Vergleich. Ja, beim STM32 und seinen
> ultrabilligen Boards mag das so sein und das ist OK, auch wenn es
> historisch gesehen schon gewöhnungsbedürftig ist.
>
> Allgemein gilt das aber NICHT, denn aufgeblähte technische Lösungen,
> nicht nur bei uCs, "beglücken" uns immer mehr. Der Toaster mit WLAN ist
> da nur die Spitze des Eisbergs.
>
> KISS!

Das kann man ja trotzdem haben. Niemand zwingt einen dazu, die Hardware 
des STM32 komplett zu nutzen. Wie ich schon schrieb, nutzen wir immer 
nur bestimmte Hardwaregruppen. Manche habe ich überhaupt noch nie 
angefasst.
Und dankenswerterweise kann man die nicht genutzten zumindest bei den 
STM32 (ich denke, andere sind da ähnlich) ja auch einfach stilllegen.

Das würde ich übrigens auch jedem Umsteiger raten: sich nicht erschlagen 
lassen von dem, was das Ding alles mehr kann als bspw. ein AVR - sondern 
einfach erstmal mit einem Modul (meist GPIO) anfangen. Wie gesagt: 
einige Module kenne ich auch nicht - warum auch, wir benötigten sie 
bisher ja noch nicht.

> Spätestens wenn dir ein Hersteller ein ultrafettes, träges Framework auf
> Auge drücken will, siehst du das mal ganz fix anders.

Ich kenne das Problem, aber: das musst Du ja nicht annehmen. Wir haben 
uns hier mit der Zeit unsere eigene HAL geschrieben, sehr schlank, schön 
mit direktem Registerzugriff, ganz ohne StdLib oder der ST-HAL.

> Auch wenn der Vergleich hinkt. Denkt mal drüber nach, mit wie wenig
> Rechenleistung die Amis zum Mond geflogen sind. Oder mit wie wenig
> Rechenleistung in den 80er und 90er Jahren gerade zu aberwitzige Effekte
> auf den Heimcomputers gezaubert wurden. Auch wenn der normale
> Entwickleralltag nicht die Zeit und Möglichkeiten zur Entwicklung eines
> Superalgorithmuses bietet, sollte man das nicht ganz aus den Augen
> verlieren.

Das stimmt, aber das ist dann eher ein Softwareproblem als eins einer 
Controllerfamilie.

Wenn man einen Blick in die Referenzhandbücher der STM32-Linie wirft, 
dann sieht man schnell, dass die Hardwaremodule dort kein Hexenwerk 
darstellen und man auch dort einen Pin recht einfach toggeln kann - ganz 
ohne Framework.

> Und last but not least habe ich auch einen gewissen sportlichen wie auch
> fachlichen Anspruch an mich und meine Kreationen. Ein "Hello World" mit
> 10MB wäre MIR peinlich!

Stimmt. Aber wie schon geschrieben: das muss man ja nicht mitmachen :-)

Anton M. schrieb:
> Schließlich kostet jeder Plattform-Wechsel auch viel Zeit. Ob das dann
> immer in sinnvoller Relation zu den geplanten Anwendungen steht? Auch
> die neuen Chips kochen eigentlich nur mit Wasser. Von allem gibts meist
> nur mehr und das sorgt immer auch für weniger Übersicht

Finde ich ehrlich gesagt nicht. Die einzelnen Hardware-Blöcke sind recht 
gut gegeneinander abgeschottet und die Sektionen durchaus handlich. Der 
Bereich GPIO (also alles, was mit dem direkten Setzen von I/O-Pins zu 
tun hat) umfasst beim STM32F0 bspw. fünfzehn Seiten. Das ist angesichts 
der gegenüber den AVR doch deutlich erweiterten Funktionalität (PU/PD, 
Flankenanstiegszeiten etc.) recht übersichtlich und schnell "erlesen".

von Dr. Sommer (Gast)


Lesenswert?

Falk B. schrieb:
> Auch wenn der Vergleich hinkt. Denkt mal drüber nach, mit wie wenig
> Rechenleistung die Amis zum Mond geflogen sind.

Diese Systeme wurden aber von Experten bedient und kamen dementsprechend 
mit spartanischen Nutzeroberflächen aus. Für Otto-Normal-User braucht es 
komplexe GUIs mit Bildchen und Animationen, damit er das Produkt 
bedienen kann - und kauft! Das gleiche gilt auch für Entwickler - wenn 
man Smartphones nur in Fortran (sehr effizient) programmieren könnte, 
würde es viel weniger Apps geben, und daher weniger Verkaufsargumente. 
Ob eine App etwas schneller oder langsamer läuft kann man nicht in den 
Marketingprospekt schreiben.

Ein hochauflösendes JPEG zu komprimieren braucht vermutlich mehr 
Rechenleistung als die Berechnung der Flugbahn zum Mond. Was hat das 
Leben von Otto-Normal-User mehr tangiert - die Mondlandung oder die 
Möglichkeit, hochqualitative Fotos im Handumdrehen an alle Freunde 
schicken zu können?

Die Astronauten hätten sich bestimmt gefreut, wenn sie mit einer Digicam 
ohne Nachzudenken tausende Fotos von der Mondoberfläche hätten machen 
können. Auf der ISS sind normale Windows-PCs im Einsatz.

Dazu kommt: Um die Leistung aktueller Computer überhaupt nutzen zu 
können, ist eine komplexe Software alternativlos. Das fängt beim Kernel 
an (bei Embedded Systems oft Linux), geht über komplexe Frameworks 
(OpenGL, OpenCL, dazugehörige Treiber) bis zu aufwendigen Compilern, 
ohne die man die raffinierte Prozessorarchitektur gar nicht ausreizen 
könnte.

Was an dem "Rechenleistung-zum-Mond-Fliegen"-Spruch immer fehlt: Sie 
hatten nicht nur einen Computer, sondern auch eine Rakete.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Anton M. schrieb:
> Chris D. schrieb:
>> Sprich: bei den 32-Bittern habe ich mittlerweile eine enorme Bandbreite
>> von "wenig Leistung" für wenige Cent bis zum Schlachtschiff - da ist es
>> oft Zeitverschwendung, neben der 32-Bit-Reihe und deren Eigenheiten noch
>> mit einer 8-Bit-Reihe (und deren Problemen) zu kämpfen.
>
> Die "Eigenheit" der 8Bitter ist zuallererst ihre Einfachheit.
> Das allein kann schon sehr viel Zeit sparen.

Die Zeit sparen sie mir aber beispielsweise schon nicht mehr, weil ich 
dann hier zwei Familien pflegen müsste. Und Du weisst ja selbst, wie das 
ist: man vergisst einfach sehr viel, wenn man Dinge lange nicht 
benötigt.
Die Zeit, die ich benötigen würde, um mir wieder die Eigenarten, Fehler 
und Klippen der AVRs aufzurufen, steht da in keinem vernünftigen 
Verhältnis, zumal ich bei praktisch jeder Anwendung praktisch keine 
Nachteile, dafür aber sehr viel mehr Möglichkeiten hätte.

> Erst bei umfangreicheren, leistungshungrigen Anwendungen sind die 32
> Bitter im Vorteil.

Da sowieso, oftmals gehen viele Dinge mit den AVRs auch nicht mehr, 
bspw. direkte Displayansteuerung oder Quadraturencoder.

>> Einzig wenn man extrem Leistung sparen muss oder 5V-Ausgänge gefordert
>> sind haben die älteren AVRs noch eine Chance. Wobei es kaum noch neue
>> Chips gibt, die 5V vertragen.
>
> Naja, mit einem Versorgungsbereich von 1,8 bis 5,5V bieten sich schon
> ganz andere, sprich sehr viel mehr Schaltungs- Optionen. Nicht nur bei
> der Wahl von Interface-Chips oder Sensoren.

Wie gesagt: bei den neueren Entwicklungen gibt es praktisch keine mehr, 
die 5V unterstützen.

> Denk auch an
> Mosfet-Ansteuerung

Auch da gibt es mittlerweile 3,3V-Typen wie Sand am Meer.

> oder die Flexibilität bei Versorgung z.B. über eine
> Solarzelle.

Begrenzen kann man die Spannung immer recht einfach.

> 5V sind ein riesengroßer Vorteil!

Hier sind die Anwendungen, bei denen wirklich 5V-Ausgänge nötig waren, 
über die Jahre mehr und mehr geschrumpft. Und bei unseren 
Neuentwicklungen ist es sicherlich schon zwei Jahre her, dass ich das 
letzte Mal eine 5V-Treiberstufe für einen Ausgang spendieren musste.

Es gibt natürlich noch so Dinge wie der direkte Betrieb über eine 
LiIo-Zelle, aber das sind dann wirklich Nischen.

Was man im Hobbybereich noch gelten lassen kann sind die Gehäusetypen. 
DIL ist schön für das Steckbrett. Andererseits gibt es für wenige Cent 
Adapterplatinen, die man schnell bestückt hat und dann auch problemlos 
steckbar sind. Oder man greift eben direkt zu so Dingern wie den blauen 
Pillen.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

m.n. schrieb:
> Chris D. schrieb:
>> Wenn der 40-Tonner praktisch dasselbe kostet, er die LED blinken lässt
>> und ich mich mit 40-Tonnern sehr gut auskenne, dann gibt es keinen
>> Grund, mich noch mit PKW und ihren Eigenheiten zu befassen. Auch wenn
>> 95% des 40-Tonners brach liegen.
>
> Die Vergleiche passen doch vorne und hinten nicht. Die 'dickeren'
> ARM-Prozessoren mögen viel mehr können, sind von den äußeren Abmessungen
> genau so klein und handlich wie 8-Bitter.
>
> <viel Richtiges gelöscht >

Du hast aber schon gesehen, dass ich genau Deiner Meinung bin? ;-)

Die 40 Tonnen bezogen Falk und ich auf die Leistungsfähigkeit, nicht auf 
die Gehäusegrößen ;-)

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Dr. Sommer schrieb:
> Falk B. schrieb:
>> Auch wenn der Vergleich hinkt. Denkt mal drüber nach, mit wie wenig
>> Rechenleistung die Amis zum Mond geflogen sind.
>
> Diese Systeme wurden aber von Experten bedient und kamen dementsprechend
> mit spartanischen Nutzeroberflächen aus.
> Was an dem "Rechenleistung-zum-Mond-Fliegen"-Spruch immer fehlt: Sie
> hatten nicht nur einen Computer, sondern auch eine Rakete.

Übrigens sah der Rechner für den Flug zum Mond größtenteils so aus:

https://www.zdnet.com/pictures/ibm-and-univac-in-the-apollo-program/

Ich meine das waren mindestens fünf IBM360-Klötze, die in Echtzeit die 
Bahnkorrekturdaten berechneten.

Nicht umsonst waren die Astronauten einen Großteil ihrer Zeit mit dem 
Eingeben und Übermitteln von Zahlenkolonnen beschäftigt.

Der "dumme" Taschenrechner an Bord der CM/LM konnte nur sehr einfache 
Berechnungen durchführen und zeitkritische Operationen auslösen.

Auch wenn es viele meinen: da war nix mit "mit kleinem Bordrechner zum 
Mond". Auch damals steckte da schon ordentlich Rechenpower dahinter.

von Anton M. (antonm)


Lesenswert?

Chris D. schrieb:
> Wie gesagt: bei den neueren Entwicklungen gibt es praktisch keine mehr,
> die 5V unterstützen.

Die zahlreichen 5V Bauteile in der Welt, die dem Entwickler sonst mehr 
Auswahl geben würden, sollen wohl auch gleich auf den IT-Müllberg?

>> oder die Flexibilität bei Versorgung z.B. über eine
>> Solarzelle.
>
> Begrenzen kann man die Spannung immer recht einfach.

Es gibt nichts effizienteres als einen Controller direkt an der 
Solarzelle betreiben zu können.

> Die Zeit, die ich benötigen würde, um mir wieder die Eigenarten, Fehler
> und Klippen der AVRs aufzurufen, steht da in keinem vernünftigen
> Verhältnis

Lustig. Mir würds wohl umgekehrt so mit den 32Bittern und ihren 
Entwicklungsumgebungen gehen. Bin ich da der Einzige?

> Der
> Bereich GPIO (also alles, was mit dem direkten Setzen von I/O-Pins zu
> tun hat) umfasst beim STM32F0 bspw. fünfzehn Seiten.

So läppert sich die 1000 Seiten Doku halt zusammen.
Aber braucht das eine Vielzahl der Anwendungen überhaupt?
Nein. Und deshalb reicht denen auch ein AVR.

von ohje (Gast)


Lesenswert?

Anton M. schrieb:
>> Der
>> Bereich GPIO (also alles, was mit dem direkten Setzen von I/O-Pins zu
>> tun hat) umfasst beim STM32F0 bspw. fünfzehn Seiten.
>
> So läppert sich die 1000 Seiten Doku halt zusammen.
> Aber braucht das eine Vielzahl der Anwendungen überhaupt?
> Nein. Und deshalb reicht denen auch ein AVR.

Der Bereich IO hat genau dafür gesorgt, dass ich mit den STM32 nie über 
das LED-Blinky hinausgekommen bin. Ich habe mir damals ein 
Discovery-Board gekauft, mir die Toolchain aufgesetzt und das mal 
umgesetzt. Ergebnis: Für mich ist das nichts.

Beim STM32 mit CubeMX ist das Setzen eines Ports eine eher ...aufwändige 
Prozedur. Man muss eine Struktur deklarieren, und eine Funktion 
aufrufen:
1
HAL_GPIO_WritePin(GPIO_PORT[Led], GPIO_PIN[Led], GPIO_PIN_RESET);
2
HAL_GPIO_WritePin(GPIO_PORT[Led], GPIO_PIN[Led], GPIO_PIN_SET);
Ich persönlich (*1)) finde das grausig. Das wäre an Sich nicht schlimm, 
schließlich kann man das auch einfacher tun. Aber es geht halt in der 
Art weiter...

Dass es auch bei komplizieten 32Bit-µCs anders geht, zeigen 
beispielsweise PIC32. Da sieht das so aus:
1
LATBbits.LATB0 = 0;
2
LATBbits.LATB0 = 1;
Natürlich kann man auch klassich mit UND und ODER in LATB herumfummeln, 
wie man es bei den ATMEGA tut.

NATÜRILCH bringen 32-Bitter eine gewisse Komplexität mit sich. Aber bei 
ST hat man schon einen bestimmten "Stil", der muss nicht gefallen.

*1) Meinungsäußerung, nicht Tatsachenbehauptung

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Anton M. schrieb:
> Chris D. schrieb:
>> Wie gesagt: bei den neueren Entwicklungen gibt es praktisch keine mehr,
>> die 5V unterstützen.
>
> Die zahlreichen 5V Bauteile in der Welt, die dem Entwickler sonst mehr
> Auswahl geben würden, sollen wohl auch gleich auf den IT-Müllberg?

Die Auswahl ist ja nicht geringer - nur werden eben neue IC-Designs 
nicht mehr bis 5V Spannungsfestigkeit ausgelegt. Das spart Die-Platz und 
somit Geld.

Du bekommst sämtliche Funktionalität, die Du bei 5V hast, mittlerweile 
problemlos als 3,3V-Version.

>>> oder die Flexibilität bei Versorgung z.B. über eine
>>> Solarzelle.
>>
>> Begrenzen kann man die Spannung immer recht einfach.
>
> Es gibt nichts effizienteres als einen Controller direkt an der
> Solarzelle betreiben zu können.

Dann nimmst Du eben so viele Zellen, dass Du zwischen 2V und 3,6V 
landest. Auch das ist kein Problem.

>> Die Zeit, die ich benötigen würde, um mir wieder die Eigenarten, Fehler
>> und Klippen der AVRs aufzurufen, steht da in keinem vernünftigen
>> Verhältnis
>
> Lustig. Mir würds wohl umgekehrt so mit den 32Bittern und ihren
> Entwicklungsumgebungen gehen. Bin ich da der Einzige?

Nein, und das ist ja auch ok. Wenn man sich mit etwas sehr gut auskennt 
und das die Anforderungen abdeckt, dann sollte man dabei bleiben.

Hier stiegen und steigen die Anforderungen eben so weit, dass 8-Bitter 
einfach nicht mehr die Leistungsfähigkeit hatten/haben, das zu erfüllen.

Um eben genau diese Zweigleisigkeit nicht mehr zu haben wurde der alte 
AVR-Zopf abgeschnitten zu Gunsten einer erheblich gestiegenen 
Auswahlmöglichkeit an Leistungsbandbreite.

>> Der
>> Bereich GPIO (also alles, was mit dem direkten Setzen von I/O-Pins zu
>> tun hat) umfasst beim STM32F0 bspw. fünfzehn Seiten.
>
> So läppert sich die 1000 Seiten Doku halt zusammen.

Jepp.

Was natürlich auch daran liegt, dass die STM32 viele Module haben, die 
man bei AVRs vergeblich sucht.

Und auch 1000 Seiten bestehen letzendlich nur aus einzelnen Kapiteln, 
die in sich abgeschlossen sind.

500 der 1000 Seiten habe ich sicherlich noch nie gelesen. Wenn man die 
entsprechende Hardware nicht benötigt, wäre das auch vergeudete Zeit.

> Aber braucht das eine Vielzahl der Anwendungen überhaupt?
> Nein. Und deshalb reicht denen auch ein AVR.

Hier reicht es schon, wenn nur 20% unserer Anwendungen diese 
Leistungsfähigkeit benötigen. Mit den STM32 kann ich eben all das 
machen, was ich mit den AVRs machen konnte - und noch deutlich mehr.

Ich muss die Leistungsfähigkeit der neuen 32-Bit-Kerne nicht immer 
nutzen - aber ich kann, wenn immer es nötig ist. Das gibt mir als 
Entwickler deutlich mehr Freiheiten.

von Dr. Sommer (Gast)


Lesenswert?

ohje schrieb:
> Man muss eine Struktur deklarieren, und eine Funktion
> aufrufen:

Muss man nicht. Das geht auch z.B. so:
1
GPIOA->BSRR = (1 << 3);
setzt Pin PA3.

ohje schrieb:
> Da sieht das so aus:
Das riecht nach einer Union mit Bitfield und "volatile". Daraus macht 
der Compiler bestimmt 2 einzelne Zugriffe die jeweils wieder 
Read-Modify-Write sind - ineffizient!
Solche structs kann man sich genau so auch für die STM32 bauen. Ist aber 
halt hässlich.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Dr. Sommer schrieb:
> ohje schrieb:
>> Man muss eine Struktur deklarieren, und eine Funktion
>> aufrufen:
>
> Muss man nicht. Das geht auch z.B. so:
>
1
GPIOA->BSRR = (1 << 3);
> setzt Pin PA3.

Das meine ich.

Man muss die StdLib und die ST-Hal nicht nutzen, sondern kann sich auch 
direkt die Register anschauen - ohne diesen ganzen Definitionswust.

Gefühlt 95% der Register werden sowieso nur einmal bei der 
Initialisierung beschrieben und dann nie wieder geändert. Selbst ganz 
ohne HAL-Ambitionen kann man sich dafür sehr leicht eine "Init-Funktion" 
basteln, in der man sich zu den einzelnen Registern Kommentare schreibt, 
diese entsprechend der Hardwareblöcke gruppiert und dann die einzelnen 
Blöcke anpasst und per Auskommentieren bei Bedarf ein/ausschaltet.

: Bearbeitet durch Moderator
von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Anton M. schrieb:
> Chris D. schrieb:
>> Der
>> Bereich GPIO (also alles, was mit dem direkten Setzen von I/O-Pins zu
>> tun hat) umfasst beim STM32F0 bspw. fünfzehn Seiten.
>
> So läppert sich die 1000 Seiten Doku halt zusammen.
> Aber braucht das eine Vielzahl der Anwendungen überhaupt?
> Nein. Und deshalb reicht denen auch ein AVR.

Der STM32 z.B. hat bei den GPIO:
- zuschaltbare PullUp/Down Widerstände
- Setz-/Clear Register um einzelne Bits zu ändern, ohne dass ein 
Read-Modify-Write nötig ist (-> Threadsicher / Interruptsicher)
- Matrix um einige Peripherie-Funktion auf unterschiedliche GPIO Pins 
legen zu können (-> leichteres Routen der Platine)
- Jeder Pin Interruptfähig.

Das braucht nunmal ein paar Seiten mehr. Die Programmierung wird durch 
diese extra Features deutlich leichter wenn man Threadsicher / 
Interruptsicher die IO-Pins beschreiben möchte. Bei anderen µC muss man 
erst mal den Interrupt deaktivieren, damit das nicht unerwünschte 
Effekte bringt.
Auch die zuschaltbaren PullUp/Down/OC-Funktionen vereinfachen das 
Layout, da man den ein oder anderen Widerstand sparen kann.

Das fällt unter das Motto:
Wenn man es nie hatte braucht man es nicht, jedoch wenn man es mal hatte 
will man es nicht mehr missen ;-)

von ohje (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Das riecht nach einer Union mit Bitfield und "volatile". Daraus macht
> der Compiler bestimmt 2 einzelne Zugriffe die jeweils wieder
> Read-Modify-Write sind - ineffizient!

Nö.

Unter "Key features" für den PIC32MX-Core steht im Referenzhandbuch:
"Atomic bit manipulations on peripheral registers (Single cycle)"
Ein solches wäre LATB.

Wenn du selber lesen willst:
http://hades.mech.northwestern.edu/images/2/21/61132B_PIC32ReferenceManual.pdf

Jaja, da kommt sie wieder, die Fraktion, die PIC32 mit PIC verwechselt 
;-)

von svensson (Gast)


Lesenswert?

Moin,

ich würde nur zwei Denkanstösse geben wollen:

1.) Harvard vs. Neumann Architektur

2.) state maschine vs. event driven

Alle Ansätze haben durchaus ihre Berechtigung, den Königsweg gibt es 
nicht, auch wenn die Jünger der jeweiligen Systeme so etwas immer wieder 
behaupten werden.

Wieso wird denn der MSP430 empfohlen, ist der nicht abgekündigt (meine 
ich als Beitrag gelesen zu haben)?

von Falk B. (falk)


Lesenswert?

Dr. Sommer schrieb:
> Falk B. schrieb:
>> Auch wenn der Vergleich hinkt. Denkt mal drüber nach, mit wie wenig
>> Rechenleistung die Amis zum Mond geflogen sind.
>
> Diese Systeme wurden aber von Experten bedient und kamen dementsprechend
> mit spartanischen Nutzeroberflächen aus.

Stimmt.

> Für Otto-Normal-User braucht es
> komplexe GUIs mit Bildchen und Animationen, damit er das Produkt
> bedienen kann - und kauft!

Jain. Natürlich steigen die Ansprüche der Käufer, auch wenn ein Großteil 
davon Unfug ist. Und viele Bedienkonzepte durch GUI aufgeblasen, 
kompliziert und nervig werden. Ein GUI hat viel Potential. Sowohl vom 
besser und einfacher machen, als auch zur totalen Katastrophe ;-)

> Das gleiche gilt auch für Entwickler - wenn
> man Smartphones nur in Fortran (sehr effizient) programmieren könnte,
> würde es viel weniger Apps geben, und daher weniger Verkaufsargumente.
> Ob eine App etwas schneller oder langsamer läuft kann man nicht in den
> Marketingprospekt schreiben.

Stimmt.

> Ein hochauflösendes JPEG zu komprimieren braucht vermutlich mehr
> Rechenleistung als die Berechnung der Flugbahn zum Mond. Was hat das
> Leben von Otto-Normal-User mehr tangiert - die Mondlandung oder die
> Möglichkeit, hochqualitative Fotos im Handumdrehen an alle Freunde
> schicken zu können?

Naja, da war das mit dem "one giant leap for mankind" wahrscheinlich nur 
für's Poesiealbum ;-)

> Dazu kommt: Um die Leistung aktueller Computer überhaupt nutzen zu
> können, ist eine komplexe Software alternativlos.

Mit diesem Wort wäre ich vorsichtig. Klares JAIN! Natürlich kann man 
aktuelle Computer nicht sinnvoll mit einem ultraschlanken DOS befeuern, 
aber die Auswüchse diverser Frameworks sollte man dennoch benennen, auch 
wenn sie die wenigsten beheben können.

> Das fängt beim Kernel
> an (bei Embedded Systems oft Linux), geht über komplexe Frameworks
> (OpenGL, OpenCL, dazugehörige Treiber) bis zu aufwendigen Compilern,
> ohne die man die raffinierte Prozessorarchitektur gar nicht ausreizen
> könnte.

Stimmt. Aber es gibt leider auch das Problem, daß diese Frameworks 
teilweise oder komplett aufgebläht sind, nicht nur der Java-Kram. Und 
Performance anscheinend immer nebensächlicher wird. "Kauf dir halt nen 
neuen PC mit fetter SSD und RAM und 100 CPU-Kernen". Es ist da nur 
allzuoft ERBÄRMLICH, was da so abgeliefert wird.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Wegen dem Argument "verschwenderische Programmierung" ... bei kleinen µC 
mit wenigen KB RAM hat man kaum eine Chance noch extra Aufzeichnungen 
ein zu programmieren.
z.B. ein Ablauf der Fehlerhaft ist, da kann man sich Merker Punkte 
erzeugen und das mal schnell in ein paar KB RAM sich einfach so nebenher 
aufzeichnen was da passiert.

Wer hat, der kann, wer nicht hat, der sucht länger ...

von Falk B. (falk)


Lesenswert?

Chris D. schrieb:
> Um eben genau diese Zweigleisigkeit nicht mehr zu haben wurde der alte
> AVR-Zopf abgeschnitten zu Gunsten einer erheblich gestiegenen
> Auswahlmöglichkeit an Leistungsbandbreite.

Was ja auch oft vollkommen richtig ist. Die STM32 sind wohl eher ein 
gutes Beispiel, wie eine große Controllerfamilie eine große 
Leistungsbandbreite abdecken kann. Vom kleinen M0 mit 48MHz bis zum 
100MHz+++ Monster mit FPU und allem PiPaPo. Und ja, die 32Bitter 
knabbern auch die Marktnische der 16 und 8-Bitter an. Was vollkommen OK 
ist, möge der Bessere gewinnen. Ob sie die 8-Bitter mittel- und 
langfristig verdrängen werden, bleibt abzuwarten.

Die Spielregeln haben sich geändert, der exorbitante Preisverfall und 
die gleichermaßen gestiegene Funktionsdichte machen es möglich und 
sinnvoll.

Trotzdem darf und kann man die "alten" AVRs noch sinn- und liebevoll 
nutzen ;-)

von Falk B. (falk)


Lesenswert?

Markus M. schrieb:

> - zuschaltbare PullUp/Down Widerstände

Haben andere auch, auch der AVR, wenn gleich nur Pull Up.

> - Setz-/Clear Register um einzelne Bits zu ändern, ohne dass ein
> Read-Modify-Write nötig ist (-> Threadsicher / Interruptsicher)

Ist gut, aber historisch eher ein Workaround für den eher langsamen 
IO-Zugriff der ARMs mit ihrer Pipeline ;-)

> - Matrix um einige Peripherie-Funktion auf unterschiedliche GPIO Pins
> legen zu können (-> leichteres Routen der Platine)

Nett, aber nicht kriegsentscheidend.

> - Jeder Pin Interruptfähig.

Haben die neueren AVRs auch.

> Das braucht nunmal ein paar Seiten mehr. Die Programmierung wird durch
> diese extra Features deutlich leichter wenn man Threadsicher /
> Interruptsicher die IO-Pins beschreiben möchte. Bei anderen µC muss man
> erst mal den Interrupt deaktivieren, damit das nicht unerwünschte
> Effekte bringt.

Das sind 2 läppische  Befehle mit je einem Takt. Bei solchen Sachen muss 
man SO oder SO wissen was man tut, egal ob es der Prozessor "allein" 
kann oder nicht. Allein schon dann, wenn es portabel sein soll bzw. 
portiert wird.

> Auch die zuschaltbaren PullUp/Down/OC-Funktionen vereinfachen das
> Layout, da man den ein oder anderen Widerstand sparen kann.

In Millionenstückzahlen spielt das eine Rolle, eher kaum.

von Mehmet K. (mkmk)


Lesenswert?

Da gerade das Pro und Kontra von AVR und STM32 besprochen wird, haette 
ich eine Frage: irgend jemand hier, der z.Zt. beide benutzt?
Mich interessiert naemlich die Frage, wie es mit der Geschwindigkeit von 
ATATMEL-ICE im Vergleich zu ST-Link bzw. J-Link von Segger steht.

Ich würde gerne hin und wieder Atmegas einsetzen, aber irgendwo im 
Hinterkopf habe ich die Erinnerung, dass das Debuggen zumindest mit dem 
Dragon kein Spass war.

von Silc P. (silch12)


Lesenswert?

svensson schrieb:
> Wieso wird denn der MSP430 empfohlen, ist der nicht abgekündigt (meine
> ich als Beitrag gelesen zu haben)?

Das habe ich noch nie gehört, mag aber sein. Wo hast du das gelesen, 
wenn ich fragen darf?

von Johnny B. (johnnyb)


Lesenswert?

Bin auch ein Fanboy vom STM32 BluePill Board und möchte den grossen 
Speicher und die unglaublich flexibel einzusetzenden Peripheriemodule 
nicht mehr missen.
Für mehr als Bastelprojekte oder Funktionsmuster würde ich die STM32F103 
jedoch nicht einsetzen, weil die halt doch sehr alt sind (waren es nicht 
sogar eine der ersten, welche ST vor über 10 Jahren herausgebracht 
hatte?) und gerade die komplexeren Peripheriemodule wie USB wurden 
inzwischen massiv verbessert. Jedenfalls finde ich es nett von ST, dass 
sie diese Chips auch nach über 10 Jahren noch in Massenproduktion 
herstellen.

von Dr. Sommer (Gast)


Lesenswert?

ohje schrieb:
> "Atomic bit manipulations on peripheral registers (Single cycle)"
> Ein solches wäre LATB.

Ja Moment, aber weiß der Compiler das auch?

Falk B. schrieb:
> Und viele Bedienkonzepte durch GUI aufgeblasen,

Viele User können erstaunlich schlecht mit Computern umgehen. Als 
Informatiker/Ing macht man sich das nicht klar. Höchstbezahlte 
UX-Experten stecken sehr viel Arbeit da rein, dass die Apps auch von 
denen gut bedienbar sind. Die GUIs sind daher entsprechend simpel 
aussehend, aber intern komplex. Man lässt lieber ein paar erfahrene User 
über komische Konzepte schimpfen als viele DAU-Kunden zu verlieren.

Mehmet K. schrieb:
> Mich interessiert naemlich die Frage, wie es mit der Geschwindigkeit von
> ATATMEL-ICE im Vergleich zu ST-Link bzw. J-Link von Segger steht.

Der J-Link ist beim Single-Steppen so schnell dass man keine Verzögerung 
bemerkt; praktisch wie lokal. Die Geschwindigkeit des Flash-Vorgangs 
kannst du auf der Segger-Seite nachlesen. Der ST-Link oder der TI XDS 
sind deutlich langsamer. Atmel weiß ich nicht.

von Johnny B. (johnnyb)


Lesenswert?

Silvano C. schrieb:
> svensson schrieb:
>> Wieso wird denn der MSP430 empfohlen, ist der nicht abgekündigt (meine
>> ich als Beitrag gelesen zu haben)?
>
> Das habe ich noch nie gehört, mag aber sein. Wo hast du das gelesen,
> wenn ich fragen darf?

Früher hatte ich oft MSP430 verwendet und diese auch weiterempfohlen. 
Mit ihnen war es im Vergleich zu Konkurrenzprodukten viel einfacher, ein 
stromsparendes, batteriebetriebenes Gerät zu entwickeln, welches im 
Standby nur uA schluckte.
In der Zwischenzeit habe aber alle Konkurrenten nachgezogen und von TI 
kam kaum noch was Neues und das wird sich wohl auch nicht mehr ändern.

von Stefan F. (Gast)


Lesenswert?

Mehmet K. schrieb:
> Da gerade das Pro und Kontra von AVR und STM32 besprochen wird, haette
> ich eine Frage: irgend jemand hier, der z.Zt. beide benutzt?

Ja ich. Ich habe bisher folgende Mikrocontroller genutzt (die häufigsten 
zuerst):

ATmega328
ATtiny13
ATmega644
STM32F103C8T6
ATtiny2313
Xmega128D3
AT89C2051

Und noch ein paar einzelne andere, die hier nicht der Rede Wert sind. 
Der STM32F103, den ich auch empfehle) ist für mich nur einer von vielen, 
die ich gerne benutze.

Den AT89C2051 nutze ich schon lange nicht mehr. Ich hatte ihn bis zum 
Wechsel auf AVR allerdings sehr gerne benutzt.

von Cyblord -. (cyblord)


Lesenswert?

Bei den 32 Bit ARM gefällt mir auch der lineare Adressraum.

Lesen aus dem Flash? Geht genau so wie lesen aus dem RAM oder von jeder 
anderen Adresse.
DAS ist einfach besser als die PROGMEM bzw. _FLASH Kacke bei AVR.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Mehmet K. schrieb:
> Ich würde gerne hin und wieder Atmegas einsetzen, aber irgendwo im
> Hinterkopf habe ich die Erinnerung, dass das Debuggen zumindest mit dem
> Dragon kein Spass war.

So habe ich das auch in Erinnerung - zumindest mit Debug Wire. Der Atmel 
ICE soll angeblich schneller sein. Kann das jemand bestätigen?

Bei AVR beschränke ich mich inzwischen auf Debug Meldungen auf ein 
serielles Terminal.

ST-Link (sowohl von ST als auch die chinesischen Klone) arbeiten 
zusammen mit der Eclipse IDE viel schneller, als ich Debug-Wire mit dem 
Dragon erlebt hatte. Mit dem ST-Link habe ich richtig Spaß. Schön zu 
hören, dass man für zusätzliches Geld mit dem J-Link noch schneller 
arbeiten kann.

von Udo K. (Gast)


Lesenswert?

Tut doch nicht so, wie wenn ein Cortex M4F sooo viel Rechenleistung
hätte!
Der ist bei vielen praktischen Anwendungen schnell am Ende.

Denkt da mal an Signalverarbeitung, ein einfacher FIR Filter im Audio
Bereich kann da schon mal locker 50% der Recheneistung brauchen.

Oder ein Webserver, der aus einer halbwegs modernen Anwendung
heute schwer wegzudenken ist.  Da gehen locker >50 kByte RAM und
>500 kByte Flash drauf.
Und da ist noch nicht der Ethernet Stack dabei.

Ein modernes TFT GUI vielleicht?  Noch mal 250 kByte RAM für
Icons, Bilder und Fonts.

Schnittstellen ohne Verschlüsselung?  Ganz grossen Bähhh bei
heise.de, und schon wieder sind 20% der Rechenleistung pfutsch.

Jede Anwenung hat heute interne LOG Daten, die alles mögliche
mitspeichern... wieder 100 kByte Flash weg.

Klar, wenn ich nur alle Millisekunden mal mit ein paar Pins wackeln
muss, und langsame veraltete Schnittstellen verwende, tut es ein AVR 
auch.

Sind 32 Bitter Verschwendung?  Natürlich nicht.  Die Chip Fläche
ist kleiner als die von 8 Bittern, die in Uraltprozessen
gefertigt werden.  Ausgenommen vielleicht die mit viel RAM

8 Bit ist praktisch tot!  Sicher gibt es 8 Bit auch in 20 Jahren
noch zu kaufen (auch heute gibts noch 6502 in NMOS),
aber entwickelt wird dafür nur mehr fürs Hobby und für ein paar Nischen.

Aber wenn 8 Bit den Zweck erfüllen ist es auch total Ok, die zu
verwenden, vorallem wenn man sich damit auskennt.

Das ganze ist ja keine Ideologie, sondern Mittel zum Zweck.

von Dr. Sommer (Gast)


Lesenswert?

Udo K. schrieb:
> Tut doch nicht so, wie wenn ein Cortex M4F sooo viel
> Rechenleistung
> hätte!

Und ich dachte die FPU und DSP-Erweiterungen wären für genau sowas wie 
Audio gemacht...

Wenn der M4F dann doch nicht reicht, nimmt man z.B. einen Cortex-M7. 
Oder doch einen Cortex-A. Man muss nichtmal einen neuen Compiler 
installieren und kann sogar vorhandene Algorithmen ohne Neukompilieren 
übernehmen.

von Stefan F. (Gast)


Lesenswert?

Man kann die STM32F103 ja auch mit 8 MHz takten (dann entfällt die 
angeblich komplexe Konfiguration). In der Tat mache ich das ziemlich oft 
so.

von Cyblord -. (cyblord)


Lesenswert?

Stefanus F. schrieb:
> Man kann die STM32F103 ja auch mit 8 MHz takten (dann entfällt die
> angeblich komplexe Konfiguration). In der Tat mache ich das ziemlich oft
> so.

Verstehe auch nicht was daran so komplex sein soll. Ein paar Prescaler 
und Muxe im Clocktree einstellen. Das ganze ist grafisch im Datenblatt 
und sogar grafisch im CubeMX zu bewundern. Raketenwissenschaft sieht 
anders aus.

von m.n. (Gast)


Lesenswert?

Mehmet K. schrieb:
> Mich interessiert naemlich die Frage, wie es mit der Geschwindigkeit von
> ATATMEL-ICE im Vergleich zu ST-Link bzw. J-Link von Segger steht.

Den ATATMEL-ICE hatte ich mal. Der hat mich nicht vom Hocker gehauen.
Aktuell habe ich eine kleine Serie F407 mit ST-Link programmiert: 45800 
Bytes in 2,4 s.
Dies nur als Hausnummer.

Debugging mit irgendeinem ICE beim AVR habe ich nie gemacht. Beim STM32 
kann man sich die Register/Variablen zur Laufzeit ansehen, ohne den 
Prozessor anzuhalten. Per SWD werden nur 2 Pins benötigt.

von Anton M. (antonm)


Lesenswert?

Udo K. schrieb:
> Klar, wenn ich nur alle Millisekunden mal mit ein paar Pins wackeln
> muss, und langsame veraltete Schnittstellen verwende, tut es ein AVR
> auch.

Haha. Es gibt viele auch sehr leistungsfähige Projekte damit.

> 8 Bit ist praktisch tot!

Wo lebst Du? Auch der 8Bit Markt geht weiter kräftig nach oben.
Die AVR Familie vergrößert sich weiter.

> Aber wenn 8 Bit den Zweck erfüllen ist es auch total Ok, die zu
> verwenden, vorallem wenn man sich damit auskennt.

So ist das, und nicht anders.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Stefanus F. schrieb:
> Man kann die STM32F103 ja auch mit 8 MHz takten (dann entfällt die
> angeblich komplexe Konfiguration). In der Tat mache ich das ziemlich oft
> so.

Man kann den STM32 auch überhaupt nicht konfigurieren, dann läuft der 
mit der Reset Default Einstellung, das sind je nach Typ 8MHz oder 16MHz 
(HSI Clock) und braucht dabei nicht einmal einen externen Quarz.

von Cyblord -. (cyblord)


Lesenswert?

m.n. schrieb:
> Debugging mit irgendeinem ICE beim AVR habe ich nie gemacht. Beim STM32
> kann man sich die Register/Variablen zur Laufzeit ansehen, ohne den
> Prozessor anzuhalten. Per SWD werden nur 2 Pins benötigt.

Ja beim Thema Debugging hat es AVR einfach nicht drauf. Erstmal braucht 
das ISP Interface viel zu viele Pins und dann gibt es keine gute HW 
Untersützung. Erst das viel zu teure ICE, dann der unsägliche Dragon und 
dann die "billig" ICE Variante für immer noch 100 EUR.
Dazu das JTAG und debugWire Mischmasch.

STM32 haben ein 2 Pin SWD Interface über das alles an Programmierung und 
Debugging geht. HW gibts ab 5 Euro vom Chinesen oder 20 EUR Original. 
Software mit GDB und OpenOCD mitsamt Eclipse und sonstiger Integration 
ist auch null Problem.

Keine Ahnung warum sich die AVR da bisher immer schwer getan haben. Bis 
heute.

von Anton M. (antonm)


Lesenswert?

m.n. schrieb:
>Per SWD werden nur 2 Pins benötigt.

Beim UPDI moderner AVRs nur einer.

von m.n. (Gast)


Lesenswert?

Anton M. schrieb:
> m.n. schrieb:
>>Per SWD werden nur 2 Pins benötigt.
>
> Beim UPDI moderner AVRs nur einer.

Du hast gewonnen!
Wie geschrieben, habe ich beim AVR nie einen einzigen benötigt ;-)

von Cyblord -. (cyblord)


Lesenswert?

Anton M. schrieb:
> m.n. schrieb:
>>Per SWD werden nur 2 Pins benötigt.
>
> Beim UPDI moderner AVRs nur einer.

Ja super. Das 3. Interface für AVRs. Genau DAS macht es halt nicht 
besser.

von Udo K. (Gast)


Lesenswert?

Anton M. schrieb:
> Udo K. schrieb:
>> Klar, wenn ich nur alle Millisekunden mal mit ein paar Pins wackeln
>> muss, und langsame veraltete Schnittstellen verwende, tut es ein AVR
>> auch.
>
> Haha. Es gibt viele auch sehr leistungsfähige Projekte damit.
>
>> 8 Bit ist praktisch tot!
>
> Wo lebst Du? Auch der 8Bit Markt geht weiter kräftig nach oben.
> Die AVR Familie vergrößert sich weiter.
>
>> Aber wenn 8 Bit den Zweck erfüllen ist es auch total Ok, die zu
>> verwenden, vorallem wenn man sich damit auskennt.
>
> So ist das, und nicht anders.

Der gesamte Microcontroller Markt geht die letzten Jahre
kräftig nach oben.
Nur deshalt und wegen der Altbestände (Projekte und Entwickler)
halten sich die 8-bitter noch.

von Anton M. (antonm)


Lesenswert?

Udo K. schrieb:
> Der gesamte Microcontroller Markt geht die letzten Jahre
> kräftig nach oben.

Ja. Das eine schließt das andere nicht aus.

> Nur deshalt und wegen der Altbestände (Projekte und Entwickler)
> halten sich die 8-bitter noch.

Falsch. Es gibt sie weil sie es für vieles weiter tun. Da ist gar kein 
Ende abzusehen.

Cyblord -. schrieb:
> Ja beim Thema Debugging hat es AVR einfach nicht drauf. Erstmal braucht
> das ISP Interface viel zu viele Pins und dann gibt es keine gute HW
> Untersützung. Erst das viel zu teure ICE, dann der unsägliche Dragon und
> dann die "billig" ICE Variante für immer noch 100 EUR.
> Dazu das JTAG und debugWire Mischmasch.

Den ICE gibts als Platine ab 49€. Mit dem Debugging bin ich zufrieden.
Der Mischmasch ist halt historisch gewachsen.
Und wohl auch Folge mancher undurchdachten Ingenieurs-Entscheidung.

Cyblord -. schrieb:
> Ja super. Das 3. Interface für AVRs. Genau DAS macht es halt nicht besser.

Immerhin, das Interface wird immer besser.

: Bearbeitet durch User
Beitrag #5713619 wurde von einem Moderator gelöscht.
von Jens (Gast)


Lesenswert?

Cyblord -. schrieb:
> dann die "billig" ICE Variante für immer noch 100 EUR.

Die billige Variante ist der ATATMEL ICE PCBA, den gibt's hier
für 49€:

http://shop.myavr.de/Systemboards%20und%20Programmer/Atmel%20ICE%20Programmerboard%20(ATATMEL%20ICE%20PCBA).htm?sp=article.sp.php&artID=200142

Jens

von Johnny B. (johnnyb)


Lesenswert?

Udo K. schrieb:
> Tut doch nicht so, wie wenn ein Cortex M4F sooo viel Rechenleistung
> hätte!
> Der ist bei vielen praktischen Anwendungen schnell am Ende.

Es wird wohl bald Abhilfe geben und Linuxunterstützung...
https://github.com/torvalds/linux/blob/master/Documentation/arm/stm32/stm32mp157-overview.rst

von Rödel (Gast)


Lesenswert?

Appropos AVR kann nix und die 32er haben die besseren IO Möglichkeiten, 
also appropos "ihr habt alle keine Ahnung":

IO Register des xmegas:
PORTA_OUT
PORTA_OUTSET
PORTA_OUTCLR
PORTA_OUTTGL
PORTA_DIR
PORTA_DIRSET
PORTA_DIRCLT
PORTA_DIRTGL

Plus ein halbes Duzend Interrupt Register.

Und dann von wegen "der hat nur PullUps":

PORTA_PINnCTRL (für jeden PIN einzeln konfigurierbar): TOTEM BUSKEEPER 
PULLDOWN PULLUP WIREDOR WIREDAND WIREDORPULL WIREDANDPULL INPUTDISABLE 
BOTHEDGES RISING FALLING LEVEL

Das einzige Gegenargument, was ich wirklich gelten lasse, ist der Preis. 
Die Features sind aber allesamt absolut genital!

von Cyblord -. (cyblord)


Lesenswert?

Rödel schrieb:
> Die Features sind aber allesamt absolut genital!

Da stimme ich zu. Eher was für untenrum.

Und die Port Features von oben finden sich nur bei den aller neusten 
AVRs.

von Rödel (Gast)


Lesenswert?

Cyblord -. schrieb:
> Bei den 32 Bit ARM gefällt mir auch der lineare Adressraum.
>
> Lesen aus dem Flash? Geht genau so wie lesen aus dem RAM oder von jeder
> anderen Adresse.
> DAS ist einfach besser als die PROGMEM bzw. _FLASH Kacke bei AVR.

Recht hast du. C ist absolute Kacke. Da kann aber der AVR Kern nichts 
dafür. Wenn du aus dem SRAM lesen willst, nutzt du ld, wenn du aus dem 
Flash lesen willst, nutzt du lpm. Was ist daran so kompliziert? Gar 
nichts. Hätte C eine vernünftige Struktur und nicht diese historisch 
aufgeblasene Klammerapokalypse, wäre das auch nicht "Kacke".

von Rödel (Gast)


Lesenswert?

Cyblord -. schrieb:
> Und die Port Features von oben finden sich nur bei den aller neusten
> AVRs.

Was nimmst du für Zeug, um die xmegas als "die allerneuesten" zu 
bezeichnen? Was immer es ist, du solltest davon runterkommen.

von Cyblord -. (cyblord)


Lesenswert?

Rödel schrieb:
> Cyblord -. schrieb:
>> Und die Port Features von oben finden sich nur bei den aller neusten
>> AVRs.
>
> Was nimmst du für Zeug, um die xmegas als "die allerneuesten" zu
> bezeichnen? Was immer es ist, du solltest davon runterkommen.

Sorry X-Mega hab ich nicht auf dem Schirm. Die sind doch ein Witz.

> Hätte C eine vernünftige Struktur und nicht diese historisch
> aufgeblasene Klammerapokalypse, wäre das auch nicht "Kacke".

Ok. Danke. Weitergehen.

von Falk B. (falk)


Lesenswert?

Falk B. schrieb:
> Das stimmt, geht aber am Gesamtproblem vorbei. Nicht nur die Profis,
> auch die Amateure und Laien gehen jeden Tag massenhaft hirnlos mit
> Speicher und IT-Ressourcen um. Das leidige Problem der Bildformate
> ist nur eines davon. Ich bin ja nun weiß Gott kein Kind der sparsamen
> (Nach)kriegsgeneration, aber das hirn- und sinnlose Verschleudern von
> Ressourcen, auch wenn die teilweise heute nur noch wenig kosten, geht
> mir auf den Keks.

Aus gegebenem Anlaß, auch wenn es kein Mikrocontroller ist.

https://www.mikrocontroller.net/topic/467222#5713392

"Eine über 700MB große PDF Datei :O Wer soll die öffnen?"

VDSL ein, Hirn aus (tm).

von Rödel (Gast)


Lesenswert?

Udo K. schrieb:
> Klar, wenn ich nur alle Millisekunden mal mit ein paar Pins wackeln
> muss, und langsame veraltete Schnittstellen verwende, tut es ein AVR
> auch.

Oder wenn man einen intelligenten Schaltwandler erstellen muss, der im 
us Bereich präzise schalten muss und nicht ausfallen darf, weil einige 
der überflüssigen Transistoren irgendwas machen, was keiner braucht und 
auch keiner vorhergesehen hat. Aber solche Aufgaben bekommen die meisten 
heutzutage eh nicht mehr gebacken und die Tätigkeit beschränkt sich aufs 
unkritische Front End "alle paar ms was blinken lassen" oder "Webserver 
aufsetzen".

von Dr. Sommer (Gast)


Lesenswert?

Rödel schrieb:
> Hätte C eine vernünftige Struktur und nicht diese historisch
> aufgeblasene Klammerapokalypse, wäre das auch nicht "Kacke".

Wie würde das denn in einer hypothetischen perfekten Programmiersprache 
besser gehen? Du hast in dieser Sprache eine Abstraktionseinheit, z.B. 
Modul/Klasse/Funktion implementiert, welchem du z.B. eine Referenz auf 
Daten übergeben möchtest. Diese Einheit möchte jetzt die referenzierten 
Daten laden. Woher weiß sie, ob sie per "ld" oder per "lpm" zugreifen 
muss? Wenn das Referenzieren von Daten, wie in C, per Pointer 
funktioniert, kann man einem Pointer nicht ansehen ob er in den Flash 
oder RAM zeigt. Die hypothetische perfekte Programmiersprache könnte als 
Pointer-Datentyp etwa einen 17-bit-Typ verwenden, bei welchem ein 
zusätzliches Bit angibt, ob der Pointer in den Flash oder RAM zeigt. Das 
passt aber schlecht auf eine 8-Bit-Architektur - ineffizient. Die 
Programmiersprache könnte wie Java eine große Tabelle mit Datenelementen 
benutzen, in welchen sich die 17bit-Pointer befinden, und die 
übergebenen Referenzen sind nur Indices auf die Tabelle. Das braucht 
aber eine Stufe Indirektion mehr - ineffizient. Wie soll die perfekte 
Programmiersprache das machen?

Oder anders formuliert: Da ja alle effizienten und damit kompilierten 
Sprachen letztendlich Maschinen/Assembler-Code produzieren müssen, wie 
würde ein Speicher-agnostischer Zugriff funktionieren? Angenommen man 
hat eine Funktion "superprint" implementiert, welcher man 3 Pointer (X, 
Y und Z) auf 3 Speicherblöcke übergibt. Woher weiß die Funktion, ob in X 
ein Zeiger auf Flash oder RAM steht, ob sie somit ld oder lpm braucht? 
Bei ARM ist die Antwort einfach - die Funktion muss es nicht wissen, 
laden geht immer per ldr. Aber bei AVR...?

Rödel schrieb:
> Oder wenn man einen intelligenten Schaltwandler erstellen muss, der im
> us Bereich präzise schalten muss und nicht ausfallen darf
Die Cortex-M und -R sind schneller und z.B. dank NVIC besser für 
Echtzeit-Aufgaben geeignet als AVR.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Aus gegebenem Anlaß, auch wenn es kein Mikrocontroller ist.
>
> https://www.mikrocontroller.net/topic/467222#5713392
>
> "Eine über 700MB große PDF Datei :O Wer soll die öffnen?"
>
> VDSL ein, Hirn aus (tm).

Hehe ;-)

OT:
Aber man muss auch zu sich selbst ehrlich sein. Selbst mein ja doch 
schon älteres Galaxy S5 macht 5312x2988 Pixel große Bilder.

Und ich reduziere die Auflösung auch nicht, weil ja mal ein Foto dabei 
sein könnte, aus dem man gerne ein A0-Plakat machen möchte - oder 
Mikrofilm ;-)

Ansonsten ist es bei einer 64GB-Karte einfach egal. Ich lösche auch 
praktisch keine Fotos mehr. Wozu auch? Die Karte wird einfach nicht 
voll, bis ich den ganzen Wust auf eine 128er wuchte.

Gleiches gilt für Festplatten. Die Zeiten, wo ich auch nur halbwegs mit 
zu wenig HDD-Speicher zu kämpfen hatte, sind lange vorbei. Selbst die 
1TB-Platten, auf die wir hier unsere Sicherungen machen, werden und 
werden nicht voll. Und da ist auch aller alter Sch.... dabei, Musik, 
irgendwelche alten Ubuntu-ISO's. Ich mache mir nicht die Mühe, das 
Unwichtige, bei dem ein Datenverlust kein Verlust wäre, irgendwie 
auszufiltern.

Das Suchen und Löschen in den alten Beständen wäre aufwändiger als das 
alles einfach komplett auf die neue, riesige Platte zu knallen.

Wir haben heutzutage Platz und auch Rechenleistung satt - es ist einfach 
so :-/

Dementsprechend sehen die neuen Frameworks natürlich auch aus.

von Rödel (Gast)


Lesenswert?

Cyblord -. schrieb:
>> Was nimmst du für Zeug, um die xmegas als "die allerneuesten" zu
>> bezeichnen? Was immer es ist, du solltest davon runterkommen.
>
> Sorry X-Mega hab ich nicht auf dem Schirm. Die sind doch ein Witz.

"Sorry, ich habe xmega nicht auf den Schirm, weiss nichts über die 
Teile, setze die nicht ein, hab sie nie gesehen, will sie auch nicht 
kennen, denn als ich sie mir nie angeschaut habe, habe ich schnell 
gemerkt, dass die ein Witz sind." Mann du musst vielleicht Kopfschmerzen 
haben.

>> Hätte C eine vernünftige Struktur und nicht diese historisch
>> aufgeblasene Klammerapokalypse, wäre das auch nicht "Kacke".
>
> Ok. Danke. Weitergehen.

Dito. Geh bitte weg. Und zwar weit.

von Udo K. (Gast)


Lesenswert?

Und was macht der "intelligente" Schaltwandler, was
ein UC3842 nicht macht (bin wirklich interessiert)?

Das kann man natürlich machen, aber da brauchst du bei 230 Volt
auf jeden Fall viel analoge Schutschaltung davor,
egal ob mit nem Cortex Mx mit eingebauten ADC, Comparator
und PWM Modul,
oder mit nem 8-bitter.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Rödel schrieb:
> Cyblord -. schrieb:
>>> Was nimmst du für Zeug, um die xmegas als "die allerneuesten" zu
>>> bezeichnen? Was immer es ist, du solltest davon runterkommen.
>>
>> Sorry X-Mega hab ich nicht auf dem Schirm. Die sind doch ein Witz.
>
> "Sorry, ich habe xmega nicht auf den Schirm, weiss nichts über die
> Teile, setze die nicht ein, hab sie nie gesehen, will sie auch nicht
> kennen, denn als ich sie mir nie angeschaut habe, habe ich schnell
> gemerkt, dass die ein Witz sind." Mann du musst vielleicht Kopfschmerzen
> haben.

Naja, er hat nicht ganz Unrecht.

Welchen Vorteil hat man bei der xmega-Serie denn noch gegenüber einem 
echten 32-Bitter?

- keine 5V mehr
- keine "bastlerfreundlichen Gehäuse"
- teurer
- geringere Taktraten und nur 8-Bit -> deutlich langsamer

Für mein Empfinden gab es schon bei deren Erscheinen (das in der Tat 
schon einige Jährchen zurück liegt) nur ein Urteil: "zu spät"

von Cyblord -. (cyblord)


Lesenswert?

Rödel schrieb:
> "Sorry, ich habe xmega nicht auf den Schirm, weiss nichts über die
> Teile, setze die nicht ein, hab sie nie gesehen, will sie auch nicht
> kennen, denn als ich sie mir nie angeschaut habe, habe ich schnell
> gemerkt, dass die ein Witz sind." Mann du musst vielleicht Kopfschmerzen
> haben.

Och nööö, jemand mag deine XMega Krücken nicht. Du armes Ding. Und C ist 
dir auch zu schwer. Du hast es echt nicht leicht. Bist aber 
unterhaltsam.

von Anton M. (antonm)


Lesenswert?

Cyblord -. schrieb:
> Du hast es echt nicht leicht.

Doch, hat er. Dazu muß man sich nämlich nur mit einer Controller-Familie 
gut auskennen. Wenn die mitbringt was man braucht ist es doch super.

Chris D. schrieb:
> Welchen Vorteil hat man bei der xmega-Serie denn noch gegenüber einem
> echten 32-Bitter?

Ein XMega ist den gewohnten AVRs immer noch tausendmal näher als jeder 
32er. Das ist DER Vorteil schlechthin und der zählt für 
Asm-Programmierer doppelt.

von Cyblord -. (cyblord)


Lesenswert?

Anton M. schrieb:
> Doch, hat er. Dazu muß man sich nämlich nur mit einer Controller-Familie
> gut auskennen. Wenn die mitbringt was man braucht ist es doch super.

Ich setze da eher auf universelles Verständnis der Materie und geistige 
Agilität. Und hänge mich nicht krampfhaft an eine einzige Architektur.

> Ein XMega ist den gewohnten AVRs immer noch tausendmal näher als jeder
> 32er. Das ist DER Vorteil schlechthin und der zählt für
> Asm-Programmierer doppelt.

Hauptsache alles wie gewohnt. Nichts neues. Nicht denken. Ich gebe zu, 
das ist eine Haltung die meiner diametral entgegen läuft.

von Rödel (Gast)


Lesenswert?

Wenn wir jetzt mal sachlich bleiben und so kranke Typen wie cyblord 
ignorieren, dann bleibt doch folgendes unstrittig

a) Der TO (der wahrscheinlich schon längst das weite gesucht hat), hat 
in der Vergangenheit immer mit atmegas gearbeitet. Die sind ihm jetzt zu 
schwach geworden und er will was besseres.

b) Es wurde ARM, PIC32 und xmega vorgeschlagen. Ich kenne die PIC32 auch 
nur soweit, dass ich mir die mal kurz angeschaut habe und dachte, dass 
mir der Umstieg von AVR einfach zu mühsam wäre und ich dann auch direkt 
ARM nehmen könnte.

Deshalb sollte man sich doch auf folgendes einigen können:

Wenn jemand ganz frisch reinkommt, vielleicht sogar beruflich damit 
arbeiten muss, dann würde ich auch sagen, nimm ARM. Die können ja auch 
nur besser werden in den Punkten, in denen die derzeit noch schlecht 
sind.

Wenn jemand aber die ganze zeit hobbymässig atmega gemacht hat (und 
darum ging es hier, falls ihr das vor lauter stm32 verliebtheit 
vergessen habt), und es auch ein Hobby bleiben soll, was einfach nur 
Spass machen soll, dann lautet meine Empfehlung ganz klar XMEGA.

Warum? Beim ARM muss man quasi von ganz von vorne anfangen. Das fängt ja 
schon bei der Toolchain an. Beim xmega kann ich einfach beim avrdude 
oder Atmel Studio weiterarbeiten. Der Umstieg ist schmerzfrei.

von Rödel (Gast)


Lesenswert?

Und der xmega bietet einfach so viel mehr an Features, wo man dann 
langsam reinwachsen kann.

von Falk B. (falk)


Lesenswert?

Chris D. schrieb:

> Aber man muss auch zu sich selbst ehrlich sein. Selbst mein ja doch
> schon älteres Galaxy S5 macht 5312x2988 Pixel große Bilder.
>
> Und ich reduziere die Auflösung auch nicht, weil ja mal ein Foto dabei
> sein könnte, aus dem man gerne ein A0-Plakat machen möchte - oder
> Mikrofilm ;-)

Jaja, bei wievielen deiner tausenden Bilder wurde daraus Realität?

> Ansonsten ist es bei einer 64GB-Karte einfach egal. Ich lösche auch
> praktisch keine Fotos mehr. Wozu auch? Die Karte wird einfach nicht
> voll, bis ich den ganzen Wust auf eine 128er wuchte.

Eben. Genau DIESER Irrsinn geht mir auf den Keks! Denn er ist nicht auf 
Bilder beschränkt, er wuchert in fast alle Lebensbereiche, nicht nur ins 
Design von Elektronik. Verschwendungswahn an allen Fronten. Und wenn mal 
keine 64GB Karte da ist, wird gejammert, daß das alles UNMÖGLICH machbar 
ist.

> Gleiches gilt für Festplatten. Die Zeiten, wo ich auch nur halbwegs mit
> zu wenig HDD-Speicher zu kämpfen hatte, sind lange vorbei. Selbst die
> 1TB-Platten, auf die wir hier unsere Sicherungen machen, werden und
> werden nicht voll.

640kB sind genug . . .

> Und da ist auch aller alter Sch.... dabei, Musik,
> irgendwelche alten Ubuntu-ISO's. Ich mache mir nicht die Mühe, das
> Unwichtige, bei dem ein Datenverlust kein Verlust wäre, irgendwie
> auszufiltern.

Datenmüllkippe. Wenn gleich es um den unwichtigen Müll nicht schade ist, 
verleitet es aber ebenso zum Schlendrian mit wichtigen Daten.

> Das Suchen und Löschen in den alten Beständen wäre aufwändiger als das
> alles einfach komplett auf die neue, riesige Platte zu knallen.

Was in diesem Kleinformat vielleicht noch funktioniert, wird bei 
größeren Sachen scheitern. Eine TB++ große Datenbank sollte man nicht so 
betreiben.

> Wir haben heutzutage Platz und auch Rechenleistung satt - es ist einfach
> so :-/

Das gleiche sagten wir vor Jahrzehnten vom Wasser. Weltweit im 
"Überfluß" vorhanden. Oder vielleicht doch nicht?

> Dementsprechend sehen die neuen Frameworks natürlich auch aus.

AHA!

Das ist schlicht und ergreifend Dekadenz!

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

von Udo K. (Gast)


Lesenswert?

Rödel schrieb:
> Wenn jemand aber die ganze zeit hobbymässig atmega gemacht hat (und
> darum ging es hier, falls ihr das vor lauter stm32 verliebtheit
> vergessen habt), und es auch ein Hobby bleiben soll, was einfach nur
> Spass machen soll, dann lautet meine Empfehlung ganz klar XMEGA.
>
> Warum? Beim ARM muss man quasi von ganz von vorne anfangen. Das fängt ja
> schon bei der Toolchain an. Beim xmega kann ich einfach beim avrdude
> oder Atmel Studio weiterarbeiten. Der Umstieg ist schmerzfrei.

Würde ich nicht empfehlen.

Meiner Meinung nach ist der einzige Vorteil der 8-bitter die
relativ einfache Peripherie, die man sich an einem Nachmittag
anschauen kann.

Genau diesen Vorteil hat der XMega nicht.
Soweit ich gehört habe, hat der XMega die gleiche Peripherie wie
der Atmel ARM uC.

Das was viele noch 8-bit Verliebte nicht verstanden haben,
ist dass der Cortex uC im Prinzip genauso einfach ist wie ein 8-bitter.
Der Unterschied ist doch nur, dass die Register 32 Bit sind.
Das ist erst mal alles.  Ist doch nicht sooo schlimm :-)

Die Komplexität kommt durch die Peripherie, wo sich viele
erst mal erschlagen fühlen.

Da liegt der Trick darin, alle Peripheriemodule zu ignorieren,
die man nicht braucht.  Man braucht sie nicht mal initialisieren,
die tun per Default nichts.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Chris D. schrieb:
>
>> Aber man muss auch zu sich selbst ehrlich sein. Selbst mein ja doch
>> schon älteres Galaxy S5 macht 5312x2988 Pixel große Bilder.
>>
>> Und ich reduziere die Auflösung auch nicht, weil ja mal ein Foto dabei
>> sein könnte, aus dem man gerne ein A0-Plakat machen möchte - oder
>> Mikrofilm ;-)
>
> Jaja, bei wievielen deiner tausenden Bilder wurde daraus Realität?

Das sollte der Smilie andeuten ;-)

>> Ansonsten ist es bei einer 64GB-Karte einfach egal. Ich lösche auch
>> praktisch keine Fotos mehr. Wozu auch? Die Karte wird einfach nicht
>> voll, bis ich den ganzen Wust auf eine 128er wuchte.
>
> Eben. Genau DIESER Irrsinn geht mir auf den Keks! Denn er ist nicht auf
> Bilder beschränkt, er wuchert in fast alle Lebensbereiche, nicht nur ins
> Design von Elektronik. Verschwendungswahn an allen Fronten. Und wenn mal
> keine 64GB Karte da ist, wird gejammert, daß das alles UNMÖGLICH machbar
> ist.

Das Problem ist doch, dass Du kleinere Karten praktisch nicht mehr 
bekommst, und wenn, dann zum fast identischen Preis.

Natürlich nimmt man da das dickere Ding.

>> Und da ist auch aller alter Sch.... dabei, Musik,
>> irgendwelche alten Ubuntu-ISO's. Ich mache mir nicht die Mühe, das
>> Unwichtige, bei dem ein Datenverlust kein Verlust wäre, irgendwie
>> auszufiltern.
>
> Datenmüllkippe. Wenn gleich es um den unwichtigen Müll nicht schade ist,
> verleitet es aber ebenso zum Schlendrian mit wichtigen Daten.

Nö, das nicht. Dafür hat man ja sein Versionssystem.

>> Das Suchen und Löschen in den alten Beständen wäre aufwändiger als das
>> alles einfach komplett auf die neue, riesige Platte zu knallen.
>
> Was in diesem Kleinformat vielleicht noch funktioniert, wird bei
> größeren Sachen scheitern. Eine TB++ große Datenbank sollte man nicht so
> betreiben.

Haben wir hier ja nicht.

>> Wir haben heutzutage Platz und auch Rechenleistung satt - es ist einfach
>> so :-/
>
> Das gleiche sagten wir vor Jahrzehnten vom Wasser. Weltweit im
> "Überfluß" vorhanden. Oder vielleicht doch nicht?

Doch, ist sie. Und: die Dinger verbrauchen auch noch deutlich weniger 
Energie als die alten Chips.

>> Dementsprechend sehen die neuen Frameworks natürlich auch aus.
>
> AHA!
> Das ist schlicht und ergreifend Dekadenz!
> https://de.wikipedia.org/wiki/Dekadenz

Nee, das Abendland geht deswegen nicht unter, nur weil man heute auf 
etwas 1000 mal so viel speichern kann wie vor 20 Jahren und die Leute 
das nutzen.

Für mich macht es keinen Sinn, in die Sortierung der Altbestände 
wertvolle Lebenszeit zu investieren. Die werden einfach mitkopiert - 
fertig. Und wenn ich sie nie mehr benötige, dann soll es so sein.

Trotzdem kann man aber bei seinen Projekten darauf achten, nicht zu 
verschwenderisch zu sein.

Ich möchte aber auch nie wieder dieses Bytegeschiebe wie damals in einem 
Projekt, bei dem die 8kB des Atmega8515 wirklich bis auf den letzten 
Platz gefüllt waren. Das hat unendlich viel Zeit gekostet.

Da nehme ich heute lieber direkt den dicksten STM32-"Brummer" bis zur 
Serienreife und specke dann erst soweit wie nötig ab. Das spart viel 
Zeit und Nerven.

von Clemens L. (c_l)


Lesenswert?

svensson schrieb:
> Wieso wird denn der MSP430 empfohlen, ist der nicht abgekündigt (meine
> ich als Beitrag gelesen zu haben)?

Das war wohl dort: Beitrag "MSP430 Aufkündigung?"
Dann haben alle auf den OP eingeschlagen ...

von Anton M. (antonm)


Lesenswert?

Dr. Sommer schrieb:
> Wie würde das denn in einer hypothetischen perfekten Programmiersprache
> besser gehen? Du hast in dieser Sprache eine Abstraktionseinheit, z.B.
> Modul/Klasse/Funktion implementiert, welchem du z.B. eine Referenz auf
> Daten übergeben möchtest. Diese Einheit möchte jetzt die referenzierten
> Daten laden. Woher weiß sie, ob sie per "ld" oder per "lpm" zugreifen
> muss?

Das sind alles Fragen die sich ergeben wenn man in dieser abstrakten 
Welt zuhause ist. Einen einfachen Controller wie den AVR kann man aber 
noch auf unterster Ebene mit Klartext ansprechen. Ob lds oder lpm- das 
weiß der 8Bit Programmierer hier noch. Aus dessen Sicht wirkt die 
aufgepflanzte Abstraktion mit ihrer Unmenge an Sprachkonstruktionen, 
Abhängigkeiten und Optionen wie überflüssiger Overhead. Dem AVR kannst 
Du noch direkt sagen 'schalt diesen Pin ein' ohne sich dafür durch eine 
Unmenge an Modulen/Klassen/Funktionen wühlen zu müssen und ohne zuvor 
aufwendig alles mögliche zu initialisieren.

Abstraktion wird meines Erachtens erst beim Hantieren mit funktional 
größeren Systemen und Datensätzen zum Vorteil.

Cyblord -. schrieb:
> Hauptsache alles wie gewohnt. Nichts neues. Nicht denken. Ich gebe zu,
> das ist eine Haltung die meiner diametral entgegen läuft.

Am Denken müssen besteht auch in der 8-Bit Welt kein Mangel. Es soll 
schließlich eine Aufgabe gelöst werden. Dabei ist es von Vorteil, wenn 
man sich möglichst auf das Problem fokussieren kann und nicht auf das 
Werkzeug muß. "Hauptsache alles wie gewohnt" oder "Neues lernen" - was 
ist zur Problemlösung nun vorteilhafter? Das eine ist möglicherweise 
schon zu umständlich, das andere möglicherweise zu aufwendig: Ständige 
Umstellungen fressen halt Zeit und Geld und kosten Mühe, die wiederum 
dann der Problemlösung fehlen.

Ich halte es eigentlich fürs Hobby so daß ich mir interessiert die 
Neuentwicklungen anschaue. Bislang bin ich aber noch jedes Mal zum 
Schluß gekommen, daß meinen Projekten wohl ein (zukünftiger) AVR immer 
ausreichen wird.

von Stefan F. (Gast)


Lesenswert?

Die Xmegas haben wirklich beeindruckende Peripherie. Mehr geht kaum, 
oder?

Bei STM32 gefällt mir die grosse Auswahl. Zu wenig Speicher? Kein 
Problem. Zu wenig oder zu viele Pins? Auch kein Problem. Zu langsam? 
Dann nimm die nächst höhere Serie. Zu viel Stromverbrauch? Dann wechsele 
zu einer L Serie. Da ist für jeden etwas passendes dabei.

Und für die "kleine" Welt habe ich ja immer noch meine geliebten 
ATtinies und den auch noch relativ kleinen ATmega328. Für mich ergänzen 
sich STM32 und AVR prima zu einem Gesamtbild.

Nur weiss ich nicht, wo ich da die Xmega unterbringen soll. Sie sind 
zweifellos toll, aber auch teuer. Da kann ich lieber gleich einen ARM 
Controller nehmen und von dessen grösserer Vielfalt und Geschwindigkeit 
profitieren.

Was die Programmierung angeht finde ich die Unterschiede nicht so 
gravierend, dass ich diese zum Auswahlkriterium machen würde.

Wenn so ein Xmega128D3 nur 1 bis 2 Euro kosten würden, wäre er für mich 
attraktiver. Aber nicht zum aktuellen Preis (ab 3,50€).

Chris D. schrieb:
> Für mein Empfinden gab es schon bei deren Erscheinen nur ein Urteil: "zu spät"
Ja, sehe ich auch so.

von Anton M. (antonm)


Lesenswert?

Udo K. schrieb:
> dass der Cortex uC im Prinzip genauso einfach ist wie ein 8-bitter.
> Der Unterschied ist doch nur, dass die Register 32 Bit sind.
> Das ist erst mal alles.  Ist doch nicht sooo schlimm :-)

Verharmlosung sollte bestraft werden :-)

von Carl D. (jcw2)


Lesenswert?

Dr. Sommer schrieb:
> Falk B. schrieb:
>> Auch wenn der Vergleich hinkt. Denkt mal drüber nach, mit wie wenig
>> Rechenleistung die Amis zum Mond geflogen sind.
...
> Was an dem "Rechenleistung-zum-Mond-Fliegen"-Spruch immer fehlt: Sie
> hatten nicht nur einen Computer, sondern auch eine Rakete.

Vor allem hatten sie über Funk, wenn auch nur über 2-beinige Modems, 
Zugriff auf die dicksten Mainframes dieser Zeit. Die haben nicht nicht 
mit ihren "C64 mit gehäkelter Firmware" die Bahn für die Rückkehr der 
Apollo13 berechnet, sondern dies den Boliden daheim überlassen.
Heute nennt man das IoT-Cloud und ist ähnlich leichtgewichtig.

von Udo K. (Gast)


Lesenswert?

Carl D. schrieb:
> Dr. Sommer schrieb:
>> Falk B. schrieb:
>>> Auch wenn der Vergleich hinkt. Denkt mal drüber nach, mit wie wenig
>>> Rechenleistung die Amis zum Mond geflogen sind.
> ...
>> Was an dem "Rechenleistung-zum-Mond-Fliegen"-Spruch immer fehlt: Sie
>> hatten nicht nur einen Computer, sondern auch eine Rakete.
>
> Vor allem hatten sie über Funk, wenn auch nur über 2-beinige Modems,
> Zugriff auf die dicksten Mainframes dieser Zeit. Die haben nicht nicht
> mit ihren "C64 mit gehäkelter Firmware" die Bahn für die Rückkehr der
> Apollo13 berechnet, sondern dies den Boliden daheim überlassen.
> Heute nennt man das IoT-Cloud und ist ähnlich leichtgewichtig.

Ich bin mir eigentlich recht sicher, dass die das zur Not auch per Hand 
und
mit dem HP Taschenrechner ausgerechnet hätten :-)

von Falk B. (falk)


Lesenswert?

Chris D. schrieb:

>> Jaja, bei wievielen deiner tausenden Bilder wurde daraus Realität?
>
> Das sollte der Smilie andeuten ;-)

Jaja.

>
>> Eben. Genau DIESER Irrsinn geht mir auf den Keks! Denn er ist nicht auf
>> Bilder beschränkt, er wuchert in fast alle Lebensbereiche, nicht nur ins
>> Design von Elektronik. Verschwendungswahn an allen Fronten. Und wenn mal
>> keine 64GB Karte da ist, wird gejammert, daß das alles UNMÖGLICH machbar
>> ist.
>
> Das Problem ist doch, dass Du kleinere Karten praktisch nicht mehr
> bekommst, und wenn, dann zum fast identischen Preis.
>
> Natürlich nimmt man da das dickere Ding.

Sicher, dagegen spricht auch nix. Aber mit Resourcen haushalten, und ich 
meine nun weiß Gott nicht schwäbisch sparen, ist NIE von Nachteil.

>> Datenmüllkippe. Wenn gleich es um den unwichtigen Müll nicht schade ist,
>> verleitet es aber ebenso zum Schlendrian mit wichtigen Daten.
>
> Nö, das nicht. Dafür hat man ja sein Versionssystem.

Du verstehst es nicht. Ich rede nicht von dir als Einzelfall sondern von 
der gesamtgesellschaftlichen Wirkung.

>> Was in diesem Kleinformat vielleicht noch funktioniert, wird bei
>> größeren Sachen scheitern. Eine TB++ große Datenbank sollte man nicht so
>> betreiben.
>
> Haben wir hier ja nicht.

Dito!!!

>>> Wir haben heutzutage Platz und auch Rechenleistung satt - es ist einfach
>>> so :-/
>>
>> Das gleiche sagten wir vor Jahrzehnten vom Wasser. Weltweit im
>> "Überfluß" vorhanden. Oder vielleicht doch nicht?
>
> Doch, ist sie. Und: die Dinger verbrauchen auch noch deutlich weniger
> Energie als die alten Chips.

Ach ja? Warum muss ein Smartphone dann jeden Tag mindestens einmal ans 
Ladegerät?

>
>>> Dementsprechend sehen die neuen Frameworks natürlich auch aus.
>>
>> AHA!
>> Das ist schlicht und ergreifend Dekadenz!
>> https://de.wikipedia.org/wiki/Dekadenz
>
> Nee, das Abendland geht deswegen nicht unter, nur weil man heute auf
> etwas 1000 mal so viel speichern kann wie vor 20 Jahren und die Leute
> das nutzen.

Hab ich nicht behauptet, aber es HAT deutlich mehr Wirkungen, als du ind 
ich uns denken können!

> Für mich macht es keinen Sinn, in die Sortierung der Altbestände
> wertvolle Lebenszeit zu investieren. Die werden einfach mitkopiert -
> fertig. Und wenn ich sie nie mehr benötige, dann soll es so sein.

Davon war auch nicht die Rede. Sondern vom AKTIVEN, bewußten 
Resourcenumgang. Man muss nich 08/15 Bilder mit 20MP speichern oder 
verschicken etc.

> Trotzdem kann man aber bei seinen Projekten darauf achten, nicht zu
> verschwenderisch zu sein.

DAS meine ich! Heureka!

> Ich möchte aber auch nie wieder dieses Bytegeschiebe wie damals in einem
> Projekt, bei dem die 8kB des Atmega8515 wirklich bis auf den letzten
> Platz gefüllt waren. Das hat unendlich viel Zeit gekostet.

Keine Bange, außer Mark Watney muss das keiner in der Zukunft tun ;-)

> Da nehme ich heute lieber direkt den dicksten STM32-"Brummer" bis zur
> Serienreife und specke dann erst soweit wie nötig ab. Das spart viel
> Zeit und Nerven.

Das ist ja normal!

von Falk B. (falk)


Lesenswert?

Stefanus F. schrieb:
> Wenn so ein Xmega128D3 nur 1 bis 2 Euro kosten würden, wäre er für mich
> attraktiver. Aber nicht zum aktuellen Preis (ab 3,50€).

Ach so? Wieviel Million Stück verbaust du jedes Jahr?

(Mann O Mann)

von Stefan F. (Gast)


Lesenswert?

Falk B. schrieb:
> Wieviel Million Stück verbaust du jedes Jahr?

Einen, wenn es hoch kommt. Er ist mir halt für primitive LED Blinker zu 
schade.

von Thomas E. (thomase)


Lesenswert?

Udo K. schrieb:
> mit dem HP Taschenrechner ausgerechnet hätten

Bestimmt nicht. Als HP anfing, Taschenrechner zu bauen, wurde das 
Apollo-Programm eingestellt.

Aber sieh dir mal den Film "Apollo 13" an. Das ist der Flug mit der 
Explosion an Bord. Da gibt es eine Szene, in der sie in Houston mit 
Rechenschiebern die Daten vom Raumschiff nachrechnen.

von neugierig (Gast)


Lesenswert?

Anton M. schrieb:
>
> Verharmlosung sollte bestraft werden :-)

Seit wann darf Moby eigentlich wieder schreiben? Noch dazu in trautem 
Beisammensein mit Moderatoren?

von Falk B. (falk)


Lesenswert?

Stefanus F. schrieb:
> Falk B. schrieb:
>> Wieviel Million Stück verbaust du jedes Jahr?
>
> Einen, wenn es hoch kommt. Er ist mir halt für primitive LED Blinker zu
> schade.

Das ist fast jeder uC, auch ein Tiny für 50 Cent.

von svensson (Gast)


Lesenswert?

Moin,

> Altlasten
wischt Euch 'mal den Schaum vom Mund...

> kleinere Chipflächen
Nicht zwangsläufig ist das Die kleiner, sondern die Strukturen. Und bei 
kleineren Strukturen passen nun einmal bei gleicher Fläche mehr Elemente 
(=Funktionen oder RAM) darauf.
Es ist allerdings zu bezweifeln, daß die kleinen Strukturen ebenso 
haltbar sein werden. Und da hier immer von Nachhaltigkeit/Langlebigkeit 
gejammert wird, könnte es schon hilfreich sein, wenn die Elektronik dann 
auch noch in 20 Jahren funktioniert...

Übrigens gibt es sogar noch 4-Bitter für Spezialanwendungen.

Und dann kommt noch der Sicherheitsaspekt hinzu. Je komplexer das 
Framework wird, desto mehr Bugs befinden sich darin. Es kann doch nicht 
wünschenswert sein, ständig jeden µC mit Updates versorgen zu müssen, 
obwohl es vielleicht lukrativ wäre.

von Alex D. (daum)


Lesenswert?

svensson schrieb:
> Je komplexer das
> Framework wird, desto mehr Bugs befinden sich darin.

Das Gleiche kann man auch über den Chip selbst sagen, schon mal die 
Erratas von STM32 Controllern mit denen von AVR Chips verglichen? 25 
Seiten für den STM32F103, 6 Seiten für den ATMega328. Natürlich hat der 
STM mehr Peripherie, in der sich Fehler einschleichen können, aber das 
ist ja genau der Punkt.

von Alec T. (803)


Lesenswert?

Also der TO hat tatsächlich noch nicht das Weite gesucht, auch wenn das 
hier gar nicht so einfach war. Aber schön das es im wesentlich eine 
nette Diskussion war und kein Glaubenskrieg ;)

Resumee

Vorschläge als Nachfolger der AVR bzw. des 328P:
- XMega Serie: gute Peripherie, kein großer Umstieg, teurer, weiterhin 
8Bit
- STM32 Serie: sehr gute Peripherie, große Range/Auswahl, günstig, 
32bit, große Community
- PIC32: steht den anderen vermutlich in nicht viel nach, ich kenne die 
alten PIC auch zum Teil und fand sie nicht schlecht, sind im Thread aber 
eher wenig behandelt worden
- MSP430: eher so der aussenseiter in 16bit, ist im Thread nur am Rande 
behandelt worden

Mein Fazit
- 8bitter sind für mich nicht tot, das ich nen AVR für kleine Projekte 
weiterhin nehme schließe ich ja gar nicht aus
- Nachfolger wird wohl jetzt (zumindest erstmal zur Evaluierung) der 
STM32F072C8 bzw. CB.

Entscheidungsgründe:
- Umstieg auf 32Bit halte ich für sinnvoll. Gibt einem mehr 
Möglichkeiten, auch wenn man sie vielleicht nicht immer braucht. Aber 
sie kosten objektiv betrachtet nichts, weder Ressourcen noch monetär.
- Der Umstieg an sich ist für mich auch Hobby. Ich lernen gerne was 
neues.
- Die Peripherie hat so ziemlich alles was ich mir wünsche und hat 
weniger Kinderkrankheiten als die des F103
- Die Controller sind einfach zu beschaffen und günstig, ebenso 
Programmer, wenn auch die F0x2 lange nicht so einfach 
beschaffbar/günstig wie die F103 (gibt damit offenbar keine Blue Pills 
etc. wenn jemand welche kennt bitte Info an mich, ansonsten kommt der 
Käfer zum testen erstmal auf ne Adapterplatine)
- Große Community, Libs, Beispiele.

Danke allen nochmals für den Input. Könnte glaub ich jetzt erstmal 
geclosed werden ;)

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Falls Du Keil mit dem STM32x0xx nutzen willst, hier gibt es von Keil 
einen kostenlosen Lizenz-Key:

http://www2.keil.com/stmicroelectronics-stm32/mdk

von Carl D. (jcw2)


Lesenswert?

Thomas E. schrieb:
> Udo K. schrieb:
>> mit dem HP Taschenrechner ausgerechnet hätten
>
> Bestimmt nicht. Als HP anfing, Taschenrechner zu bauen, wurde das
> Apollo-Programm eingestellt.

Pünktlich zur Mondlandung gab's der "Taschenrechner" HP9100A. 20kg

> Aber sieh dir mal den Film "Apollo 13" an. Das ist der Flug mit der
> Explosion an Bord. Da gibt es eine Szene, in der sie in Houston mit
> Rechenschiebern die Daten vom Raumschiff nachrechnen.

In der Holliwood Version vielleicht. In echt nahm man lieber 
/360-Mainframes, wie man hier auf S.17 nachlesen kann:
http://www.horst-zuse.homepage.t-online.de/seidel-apollo-2016-final.pdf

von Jens (Gast)


Angehängte Dateien:

Lesenswert?


von Carl D. (jcw2)


Lesenswert?

Carl D. schrieb:
> Thomas E. schrieb:
>> Udo K. schrieb:
>>> mit dem HP Taschenrechner ausgerechnet hätten
>>
>> Bestimmt nicht. Als HP anfing, Taschenrechner zu bauen, wurde das
>> Apollo-Programm eingestellt.
.
> Pünktlich zur Mondlandung gab's der "Taschenrechner" HP9100A. 20kg
.
>> Aber sieh dir mal den Film "Apollo 13" an. Das ist der Flug mit der
>> Explosion an Bord. Da gibt es eine Szene, in der sie in Houston mit
>> Rechenschiebern die Daten vom Raumschiff nachrechnen.
.
> In der Holliwood Version vielleicht. In echt nahm man lieber
> /360-Mainframes, wie man hier auf S.17 nachlesen kann:
Oder besser auf S.29
> http://www.horst-zuse.homepage.t-online.de/seidel-apollo-2016-final.pdf

von Stefan F. (Gast)


Lesenswert?

Alec T. schrieb:
> XMega Serie: gute Peripherie...
> STM32 Serie: sehr gute Peripherie...

Ich habe eher den Eindruck, dass die Peripherie der Xmega wesentlich 
umfangreicher ist, als die der STM32 (mit Ausnahme von CAN und USB).

Andererseits muss man nicht immer den dicksten haben wollen. Bei meinen 
Fahrzeugen halte ich das ebenso.

von Stefan F. (Gast)


Lesenswert?

Guckt euch das mal an:
https://de.rs-online.com/web/p/products/8224049/

Ein Nucleo64 Board mit STM32F072 für nur 11€ - Inklusive originalem 
ST-Link und USB-UART. Das ist doch Geil, oder?

von Alec (Gast)


Lesenswert?

Stefanus F. schrieb:
> Ich habe eher den Eindruck, dass die Peripherie der Xmega wesentlich
> umfangreicher ist, als die der STM32 (mit Ausnahme von CAN und USB).

In der Tat war aber für mich genau das ausschlaggebend...

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Stefanus F. schrieb:
> Alec T. schrieb:
>> XMega Serie: gute Peripherie...
>> STM32 Serie: sehr gute Peripherie...
>
> Ich habe eher den Eindruck, dass die Peripherie der Xmega wesentlich
> umfangreicher ist, als die der STM32 (mit Ausnahme von CAN und USB).

Wenn CAN und USB fehlen, dann fehlt aber schon heutzutage sehr 
wichtige Peripherie :-}

Davon abgesehen: welche Peripherie fehlt denn bei den STM32 gleicher 
Preisklasse, die es nur beim xmega gibt?

Das einzige, was ich bei den STM32 wirklich vermisse, ist EEPROM. Man 
kann das zwar im Flash auch ganz pfiffig "simulieren" und das 
funktioniert auch zuverlässig, aber echtes EEPROM ist schon angenehmer.

> Andererseits muss man nicht immer den dicksten haben wollen. Bei meinen
> Fahrzeugen halte ich das ebenso.

Das halte ich - in der Prototypenphase - für einen Fehler.

Denn gerade bei Neuentwicklungen ist es oft so, dass man später gerne 
noch dieses oder jenes hätte. Deswegen fange ich immer mit dem 
"Dicksten" einer Serie an und gehe erst dann auf die kleineren Typen, 
wenn Code, Hardware und Anforderungen sich stabilisiert haben.

Die andere Vorgehensweise bedeutet nur Stress in der Entwicklung, weil 
man sehr bald an irgendwelche Grenzen stösst.

Ausnahmen davon kann es meines Erachtens nach nur dann geben, wenn es 
wirklich um Stückzahl geht.

von Dr. Sommer (Gast)


Lesenswert?

Chris D. schrieb:
> Ausnahmen davon kann es meines Erachtens nach nur dann geben, wenn es
> wirklich um Stückzahl geht.

Auch dann würde ich die Entwicklung mit einem großen Controller anfangen 
- ist auch angenehmer zum Debuggen, wenn genug Platz im Flash für 
printf() und Konsorten ist - und dann für das Serienprodukt einen 
kleineren nehmen. Dank weitgehender Kompatibilität ist die Umstellung 
auch nicht so aufwendig.

Chris D. schrieb:
> aber echtes EEPROM ist schon angenehmer.

Aber vermutlich eben auch teurer. 10kB Flash ist vermutlich 
einfacher/billiger als 1kB EEPROM in einen uC zu integrieren, hält aber 
mit entsprechendem Wear Leveling genau so lange. Ein paar STM32 mit 
EEPROM gibt's aber.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Dr. Sommer schrieb:
> Chris D. schrieb:
>> aber echtes EEPROM ist schon angenehmer.
>
> Aber vermutlich eben auch teurer. 10kB Flash ist vermutlich
> einfacher/billiger als 1kB EEPROM in einen uC zu integrieren

Ja, das hat offenbar mit dem Herstellungsprozess zu tun. So begründete 
das damals im ST-Seminar der Chip-Design-Ingenieur. Leute vom Fach 
können dazu sicherlich mehr sagen.

> hält aber mit entsprechendem Wear Leveling genau so lange.

Ja, ST hat dazu eine gute AppNote rausgebracht, bei der die 
Schreibzugriffe minimiert werden:

AN2594 - EEPROM emulation in STM32F10x microcontrollers

> Ein paar STM32 mit
> EEPROM gibt's aber.

Stimmt, in der L-Serie hab ich welches gefunden.

Dann haben sich anscheinend doch noch mehr beschwert und die neuen 
Familien haben es :-)

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Chris D. schrieb:
> Das einzige, was ich bei den STM32 wirklich vermisse, ist EEPROM. Man
> kann das zwar im Flash auch ganz pfiffig "simulieren" und das
> funktioniert auch zuverlässig, aber echtes EEPROM ist schon angenehmer.

Vor allem weil die Flash Pages recht groß sind, und man recht viel Platz 
verschwendt, wenn man nur ein paar Byte via "EEPROM" sichern will.

von mister x (Gast)


Lesenswert?

Muss kurz meinen Senf zur XMEGA und ARM Diskussion geben.

Wenn Leute sagen es gibt ja kaum einen Unterschied zwischen beiden mehr, 
dann kann ich das jetzt nicht gelten lassen. Natürlich muss ich beim 
XMEGA mehr Register einstellen als beim AVR. Und natürlich muss ich beim 
ARM auch Register einstellen.

Aber habt ihr euch über das setzen von Registern mal den Aufbau 
angeschaut? Also bei dem ARM uc ist alles über die Peripheral Busse ja 
doch mal anders angeknotet. Das sollte man nicht abstreiten und auch 
nicht unter den Teppich kehren.
Das ist natürlich fürs initialisieren von registern egal - für mich sind 
das aber zwei völlig andere Controller.

Und, ja, ich benutze beide (alle drei). Ich habe zwischen stm32, AVR und 
XMEGA keine Lieblinge und ich fühle mich auch nicht besser oder 
schlechter wenn ich einen benutze.

Ich schreibe nebenbei gesagt auch gerne mal ein Assembler Programm auf 
einem kleinen avr. Das mache ich vermutlich nicht so effizent wie der 
c-Compiler nur um diese Diskussion zu vermeiden. Es macht aber Spaß und 
ist eine gute Alternative zu "malen nach Zahlen" oder 
Kreuzworträtsel....

Sich nicht aufplustern, nicht als Maß der Dinge sehen und keine 
Elektronik-Religion gründen. Herrlich.

von Dr. Sommer (Gast)


Lesenswert?

Cyblord -. schrieb:
> Vor allem weil die Flash Pages recht groß sind, und man recht viel Platz
> verschwendt, wenn man nur ein paar Byte via "EEPROM" sichern will.

Naja, wenn man im echten EEPROM nur ein paar Bytes sichert ist der Rest 
vom EEPROM genauso verschwendet. Die STM32 haben ja absichtlich viel 
Flash damit man den auch für Daten nutzen kann. Wenn man überhaupt keine 
Daten speichert, kann man den frei werdenden Platz auch für Code nutzen 
- das geht zumindest beim  AVR-EEPROM nicht!

Chris D. schrieb:
> Ja, das hat offenbar mit dem Herstellungsprozess zu tun. So begründete
> das damals im ST-Seminar der Chip-Design-Ingenieur.

Ah, ja genau das hatte ich vermutet.

Chris D. schrieb:
> Dann haben sich anscheinend doch noch mehr beschwert und die neuen
> Familien haben es :-)

Die neuen F7 haben es auch nicht. Ist irgendwie eine Eigenheit der 
L-Serie.

mister x schrieb:
> Es macht aber Spaß und
> ist eine gute Alternative zu "malen nach Zahlen" oder
> Kreuzworträtsel....

Das ist aber beim ARM - insbesondere ARMv7A, Cortex-A - noch viel 
lustiger, da hat man viel bessere Möglichkeiten sich das Hirn zu 
verknoten ;-)

von Cyblord -. (cyblord)


Lesenswert?

Anton M. schrieb:
> Ich halte es eigentlich fürs Hobby so daß ich mir interessiert die
> Neuentwicklungen anschaue. Bislang bin ich aber noch jedes Mal zum
> Schluß gekommen, daß meinen Projekten wohl ein (zukünftiger) AVR immer
> ausreichen wird.

Das Problem sind Leute wie du, die eben keine Anwendung haben, die über 
ein bisschen LED blinken raus geht, und dann aber lauthals gegen C und 
gegen jede Form der Abstraktion plärren.

Ich entwickle auch noch viel auf 8 Bit AVR, aber niemals in Assembler.
Wenn du mal ein bisschen mehr machst, irgendwelche "Stacks" nutzt, 
Sensorbusse, DMX, irgendwelche Kommunikationsprotokolle mit anderen 
Geräten usw., dann brauchst du diese Abstraktion um halbwegs ordentlich 
entwickeln zu können.

Bei beliebig simpler Applikation kann ich jedes Feature und jede 
Abstraktion als unsinnig und überflüssig darstellen.

: Bearbeitet durch User
von Framulestigo (Gast)


Lesenswert?

Hmmm,

ich hab vor drei Jahren fürs Hobby mit den ATXMegas (32A4) angefangen, 
weil die noch mit 0,8mm Pitch zu haben sind (Bei STM hab ich nur 0,5mm 
gefunden. Das ist mir a bisserl eng für Selbstgeätztes).

von gfdh (Gast)


Lesenswert?

Framulestigo schrieb:
> ich hab vor drei Jahren fürs Hobby mit den ATXMegas (32A4) angefangen,
> weil die noch mit 0,8mm Pitch zu haben sind (Bei STM hab ich nur 0,5mm
> gefunden. Das ist mir a bisserl eng für Selbstgeätztes).

die neuen STM32G0 gibts auch im TQFP-32 mit 0.8mm pitch
z.B.
https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32g0-series/stm32g0x1/stm32g071kb.html

von Jens (Gast)


Lesenswert?

Framulestigo schrieb:
> (Bei STM hab ich nur 0,5mm
> gefunden. Das ist mir a bisserl eng für Selbstgeätztes)

Die TQFP32-STMs haben 0,8mm Pin-Abstand.

Jens

von Anton M. (Gast)


Lesenswert?

Cyblord -. schrieb:
> Das Problem sind Leute wie du, die eben keine Anwendung haben, die über
> ein bisschen LED blinken raus geht

Woher weißt Du das?
Folgerst Du das aus der fixen Meinung

> Wenn du mal ein bisschen mehr machst, irgendwelche "Stacks" nutzt,
> Sensorbusse, DMX, irgendwelche Kommunikationsprotokolle mit anderen
> Geräten usw., dann brauchst du diese Abstraktion um halbwegs ordentlich
> entwickeln zu können

???

Du kannst Dir eben nicht vorstellen und eingestehen, daß zum Verarbeiten 
einer Vielzahl von Sensoren, zum Realisieren von 
Kommunikationsprotokollen, zu vielfältigem In/Output simples Asm ganz 
genauso langt, wenn man nur damit umzugehen weiß. Abstraktion möchte ich 
deshalb nicht abgewertet wissen, nur ist und bleibt sie Overhead, der 
erst ab einer bestimmten komplexen Funktionalität und Datensumme 
zwingend wird, da sonst die Entwicklungszeit völlig aus dem Ruder läuft.

Grundsätzlich ist Asm zwar viel feinkörniger, mit System als Baustoff im 
Lego-Prinzip zum Aufbau der tollsten Bauten aber ganz genauso 
verwendbar. Und das mit einem winzigen Bruchteil der zu beherrschenden 
Sprachmittel hochgezüchteter Abstraktion bzw. OOP.

von Framulestigo (Gast)


Lesenswert?

gfdh schrieb:
> die neuen STM32G0 gibts auch im TQFP-32 mit 0.8mm pitch
> z.B.
> 
https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32g0-series/stm32g0x1/stm32g071kb.html

Wow, die gabs vor drei Jahren aber noch nicht?!?
Is ja lustig, warum bauen die von STM jetzt auf einmal größere Gehäuse? 
Allein wegen mir? Das nenn ich aber mal Service.

von Framulestigo (Gast)


Lesenswert?

Scherz beiseite: Ich hab damals schon nicht alles angeschaut, nur so bei 
den herkömmlichen Shops, was es da so einzeln an ICs gab.

von Cyblord -. (cyblord)


Lesenswert?

Anton M. schrieb:
> Du kannst Dir eben nicht vorstellen und eingestehen, daß zum Verarbeiten
> einer Vielzahl von Sensoren, zum Realisieren von
> Kommunikationsprotokollen, zu vielfältigem In/Output simples Asm ganz
> genauso langt,

Da habe ich in der Tat so meine Schwierigkeiten. Ich würde mir gerne mal 
einen von dir erstellten Kommunikationstack in ASM anschauen.

Möglich ist natürlich alles in ASM. Aber irgendwann macht es keinen Sinn 
mehr, ist nicht mehr übersichtlich, nicht mehr wartbar, nicht mehr 
erweiterbar.

Und wozu? Weil man zu faul oder zu doof ist auf eine Hochsprache zu 
wechseln?

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Anton M. schrieb:
> Udo K. schrieb:
>> dass der Cortex uC im Prinzip genauso einfach ist wie ein 8-bitter.
>> Der Unterschied ist doch nur, dass die Register 32 Bit sind.
>> Das ist erst mal alles.  Ist doch nicht sooo schlimm :-)
>
> Verharmlosung sollte bestraft werden :-)

Aber er hat recht.

von Framulestigo (Gast)


Lesenswert?

Cyblord -. schrieb:
> Und wozu? Weil man zu faul oder zu doof ist auf eine Hochsprache zu
> wechseln?

Wenn Du Sallos rund haben willst, dann MUSST Du sie lutschen. Da geht 
kein Weg dran vorbei.

von udok (Gast)


Lesenswert?

Und welche Hochsprache sollte das sein?
C?  Ist doch auch nur ein besserer Assembler für Denkfaule.

von Udo K. (Gast)


Lesenswert?

Thomas E. schrieb:
> Udo K. schrieb:
>> mit dem HP Taschenrechner ausgerechnet hätten
>
> Bestimmt nicht. Als HP anfing, Taschenrechner zu bauen, wurde das
> Apollo-Programm eingestellt.
>
> Aber sieh dir mal den Film "Apollo 13" an. Das ist der Flug mit der
> Explosion an Bord. Da gibt es eine Szene, in der sie in Houston mit
> Rechenschiebern die Daten vom Raumschiff nachrechnen.

Da hast du recht, und ich lag falsch.  Die hatten damals nur einen
Rechenschieber und den Kuli für den Notfall.

Ich habe ja letztens seit langer Zeit wieder Nachhilfe in Mathe gegeben.
Ich habe ganz schön gestaunt, wie ich gesehen habe, dass bei
eine Mathe Schularbeit heute gar nicht mehr gerechnet wird!
Da gab es nur mehr Verständnisfragen - das Rechnen übernimmt eh
das Computerprogram.

von Joerg W. (joergwolfram)


Lesenswert?

> Und wozu? Weil man zu faul oder zu doof ist auf eine Hochsprache zu
> wechseln?

Nein. Weil man's kann. Und man bei Anwendungen wie z.B. Emulatoren 
erhebliche Geschwindigkeitszuwächse gegenüber C-Compilaten erreicht.

Mir kommt es eher so vor, dass viele Leute sich günstige STM32 Boards 
zugelegt haben und irgendwie darauf hoffen, dass jemand mal ein 
anspruchsvolles Projekt veröffentlicht, das auch auf ihrem Board läuft.

Jörg

von temp (Gast)


Lesenswert?

Jens schrieb:
> Die TQFP32-STMs haben 0,8mm Pin-Abstand.

Das sind mittlerweile auch für mich oft die Favoriten. Auch weil es 
sowohl kleine M0 (z.B. stm32F042) als auch größere M4 (stm32f334) gibt 
die auch CAN haben und pinkompatibel sind. Bei den kleinen könnte ST nur 
etwas mehr Flash spendieren. 32K sind manchmal doch etwas wenig, vor 
allem in der Debugphase.

von Bernd K. (prof7bit)


Lesenswert?

Udo K. schrieb:
> Ich habe ja letztens seit langer Zeit wieder Nachhilfe in Mathe gegeben.
> Ich habe ganz schön gestaunt, wie ich gesehen habe, dass bei
> eine Mathe Schularbeit heute gar nicht mehr gerechnet wird!

Das war schon vor 30 Jahren so, auch damals hatten wir schon 
Taschenrechner für das schnöde "Numbercrunching". Gefragt wurde in den 
Arbeiten auch nicht nach Zahlen sondern eher nach Sachen wie "wo 
schneidet die Tangente des Wendepunkts die y-Achse in Abhängigkeit von 
t" oder "zeige daß dieses und jenes gleich ist". Allenfalls in der 
Physik (also in der angewandten Mathematik wenn man so will) wollte man 
auch hin und wieder mal konkrete Zahlen als Ergebnis sehen und auch da 
war ein Taschenrechner selbstverständlich.

von Johnny B. (johnnyb)


Lesenswert?

Joerg W. schrieb:
> Mir kommt es eher so vor, dass viele Leute sich günstige STM32 Boards
> zugelegt haben und irgendwie darauf hoffen, dass jemand mal ein
> anspruchsvolles Projekt veröffentlicht, das auch auf ihrem Board läuft.

Habe ein Funktionsmuster von einem umfangreichen Projekt mittels 
Bluepill realisiert (inkl. I2C, UART, USB Composite device, Timern für 
PWM, Timer für WS2812, DMA, FreeRTOS etc.) und das funktioniert 
einwandfrei. Man kann lästern wie man will, aber mit CubeMX, HAL und 
FreeRTOS kann man halt schon sehr schnell solche Projekte umsetzen.
Für das Endprodukt nehmen wir dann aber einen moderneren, pinkompatiblen 
STM32F30x.

von Udo K. (Gast)


Lesenswert?

Das stimmt schon.  Aber in dieser Schularbeit gab es auch keinen
Rechenweg wie ihn aus meiner Schulzeit kenne (also länger als eine 
Zeile).
Da fand ich auf dem Papier grad mal 1-2 einfache Gleichungen.

Das war mehr eine Art von Multiple Choice Test mit hinterlistig 
gestellten
Fragen zum ankreuzen.

Der Taschenrechner ist inzwischen durch einen symbolischen Rechner
(wie Wolfram Mathematika) auf dem Laptop ersetzt worden.

Aber das ist jetzt schon ziemlich offtopic.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.