Forum: Mikrocontroller und Digitale Elektronik welche Chips sind ähnlich leicht zu programmieren wie die ATMEL-Chips ?


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


Lesenswert?

hallo;
ich habe eine zeitlang die ATMEL-Chips programmiert und möchte mich 
jetzt an andere Chips heranwagen.
In meinem vorherigen Post über den Z80 erfuhr ich, dass der wohl 
veraltet ist.
Welche Chips lassen sich denn ähnlich programmieren wie die ATMEL-Chips 
? Vielleicht sogar mit einer eigenen IDE analog der Arduin-IDE ? Und mit 
der Möglichkeit, in Assembler zu programmieren ?
Den STM32 Nucleo habe ich mir mal gekauft aber den empfinde ich als sehr 
schwierig.
Gibts noch andere - eventuell mit Entwicklungsboard und mit Programmer - 
im PU-Format ?
Und noch eine Frage: gibt es Adapter für AU-Chips nach PU - um sie dann 
auf ein Breadboard zu stecken ?

von Gerd (Gast)


Lesenswert?

>Den STM32 Nucleo habe ich mir mal gekauft aber den empfinde ich als sehr
>schwierig.

Ist er nicht. Die meisten Nucleo-Boards kannst du auch mit der Arduino 
IDE programmieren.

von Thomas W. (Gast)


Lesenswert?

ich finde die stm32cubeide mit der STM32-Familie schon genial (wenn man 
sich mit Eclipse arrangiert hat). Das Debugging ist sehr gut.

Die einzigen Probleme sind Komplexitaet der Chips und die 
eingeschraenkte Verfuegbarkeit.

Gruesse

Th.

von c-hater (Gast)


Lesenswert?

Michael S. schrieb:

> ich habe eine zeitlang die ATMEL-Chips programmiert und möchte mich
> jetzt an andere Chips heranwagen.

Mit "ATMEL-Chips" meinst du vermutlich die klassischen AVR8. Dann wäre 
mein erster Tip: versuche dich an den neueren AVR8 (also die Dinger, die 
auf XMega-Architektur basieren, aber keine XMega sind). Z.B.: 
AVR128D(A/B/D), aber auch die neueren Tinys und Megas haben diese 
Architektur.

Das ist zum Aufwärmen vor dem Ausflug in wirklich andere Architekturen 
ziemlich gut geeignet. Der Kern ist sehr ähnlich (aber nicht vollkommen 
identisch!), die Peripherie ist ziemlich anders als bei den 
Classic-AVR8.

> Welche Chips lassen sich denn ähnlich programmieren wie die ATMEL-Chips
> ? Vielleicht sogar mit einer eigenen IDE analog der Arduin-IDE ? Und mit
> der Möglichkeit, in Assembler zu programmieren ?

Passt.

von Thomas W. (Gast)


Lesenswert?

Michael S. schrieb:

> Den STM32 Nucleo habe ich mir mal gekauft aber den empfinde ich als sehr
> schwierig.

Die STM32-Familie kann komplex sein, aber Du bekommst in jeder Ecke des 
Internet Dokumentation jeglicher Geschmacksrichtung:

- Videos: z.B. https://controllerstech.com/stm32/ ist fuer Anfaenger 
nicht schlecht. Wenn Du bei youtube suchst, findest Du auch videos in 
lokaler Ausstattung.
- Dokumentation: ST gibt Dir sehr viel Informationen fuer Umsonst.
- Seit dem Advent der blue und black pill: Du findest sehr viele 
kleinere und groessere Projekte im weiteren grossen Netz (ich hatte 
sogar Bachelor- und Master-Arbeiten gefunden wo der STM32F103 als 
Messknecht benutzt wird).

Die Lehrkurve wird durch die Videos abgefedert.

Und Du darfst auch nicht vergessen: Das Zeug kostet heute nix mehr: Bei 
Reichelt (Endverbraucherpreis) fuer ein NUCLEO F401RE Nucleo-64, ARM 
Cortex M4F, STM32 F4-Serie sind 23Euronen. Dafuer hast Du Zugriff zu dem 
kompletten Dokumentation von ST. Zum Preis eines besseren Kantinenessen.

Du brauchst einen leistungsfaehigen PC, aber denn brauchst Du beim 
Programmieren fast immer.

Gruesse

Th.

von Pc-Freak (Gast)


Lesenswert?

Thomas W. schrieb:
> Du brauchst einen leistungsfaehigen PC, aber denn brauchst Du beim
> Programmieren fast immer.

Nicht wirklich.
Das mach ich mit nem p2 560mhz.  Mit einer Standard graka a la aus den 
2000er Jahren
Da läuft dann netBeans IDE oder ponyprog drauf.
Und ob der Chip  in 50 MS, oder in 2 Minuten fertig ist,  ist mir so was 
von egal.

von A. S. (Gast)


Lesenswert?

Du scheinst bisher nur arduino zu kennen. Daher einfach deine bisherigen 
Chips ohne programmieren. Oder mit einer anderen Umgebung.

Solange Du Deine Chips nicht kennst, macht es wenig Sinn, andere ohne 
Arduino zu suchen.

von Yoyo (Gast)


Lesenswert?

Fürs Hobby sind zum Beispiel folgende beliebt

Microchip PIC16 Serie
Microchip Atmel AVR Serien
Espressif ESP32 und ESP8266
ST STM32 Serie
TI MSP430 Serie

von Michael B. (laberkopp)


Lesenswert?

Michael S. schrieb:
> ich habe eine zeitlang die ATMEL-Chips programmiert und möchte mich
> jetzt an andere Chips heranwagen.
> In meinem vorherigen Post über den Z80 erfuhr ich, dass der wohl
> veraltet ist.
> Welche Chips lassen sich denn ähnlich programmieren wie die ATMEL-Chips
> ? Vielleicht sogar mit einer eigenen IDE analog der Arduin-IDE ? Und mit
> der Möglichkeit, in Assembler zu programmieren ?

Oje oje, Assembler und Arduino-IDE, das ist ja maximal weit voneiander 
entfernt.

Allgemein gelten die 68000-Befehlssätze als leistungsfähig und trotzdem 
leicht verständlich,
also die M16 uC von Hitachi/Renesas. Deren HWB ist aber ein ganzes 
Visual Studio, keine Arduino-IDE.

STM8/STM32 finde auch ich krankhaft, fast so krank wie PIC.

Vor allem aber die Trennung zwischen Prozessortakt und Peripherietakt, 
und die caches sowie out-of-order execution machen den Sprung von gutem 
uC zu komplexen Prozessoren a la Pentium.

von Frank K. (fchk)


Lesenswert?

Michael S. schrieb:
> hallo;
> ich habe eine zeitlang die ATMEL-Chips programmiert und möchte mich
> jetzt an andere Chips heranwagen.
> In meinem vorherigen Post über den Z80 erfuhr ich, dass der wohl
> veraltet ist.
> Welche Chips lassen sich denn ähnlich programmieren wie die ATMEL-Chips

Wenn Du eine andere Familie kennenlernen willst: PIC. Gibts in 8, 16 und 
32 Bit.

Beispiel in 32 Bit:
https://www.reichelt.de/mips32-m4k-mikrocontroller-32-bit-2-3-3-6v-32-kb-spdip-28-32mx220f032b-isp-p121425.html?&nbc=1
https://www.microchip.com/en-us/product/PIC32MX220F032B

Du brauchst MPLABX (IDE), den XC32 Compiler (bzw XC8 oder XC16, 
getrennter Download und getrennter Install), dann einen PICKIT3-Clone 
für 20€, und das wars.

> ? Vielleicht sogar mit einer eigenen IDE analog der Arduin-IDE ? Und mit
> der Möglichkeit, in Assembler zu programmieren ?

Assembler ist mit einem PIC24 (16 Bit) einfacher. Der ist auch näher an 
dem dran, was Du bereits kennst:

https://www.reichelt.de/mcu-picmicro-16-bit-128-kb-spdip-28-24fj128ga202-isp-p153692.html?&trstct=pol_4&nbc=1
https://www.microchip.com/en-us/product/PIC24FJ128GA202

Dafür musst Du dann den XC16 installieren.

Es gibt auch ferige Boards dafür:

https://www.microchip.com/en-us/development-tool/DM240004

fchk

von Mcn (Gast)


Lesenswert?

Python ist einfach zu programmieren, schau einfach welche Prozessoren 
das unterstützen.

Und es gibt auch kinderleichte Programmierung:
https://www.lego.com/de-de/themes/mindstorms
https://de.scratch-wiki.info/wiki/Mit_Scratch_programmieren

SCNR

von EAF (Gast)


Lesenswert?

Michael B. schrieb:
> Oje oje, Assembler und Arduino-IDE, das ist ja maximal weit voneiander
> entfernt.

Wie kommst du da drauf!
Natürlich ist es möglich reine Assembler Programme in der IDE zu 
schreiben, kompilieren, und zu übertragen.

Ohne alle Klimmzüge.

von PicoUser (Gast)


Lesenswert?

Raspberry Pi Pico H oder WH haben einen Prozessor mit zwei ARM 
Cortex-M0+ Kernen. In Assembler ist das so etwa wie eine moderne 32-bit 
Version von einem leicht zu programmierenden 6502 oder AVR (d.h. 
übersichtlicher Befehlssatz, nicht die Peripherie). Man merkt, dass die 
Entwickler auch mit dem C-64 aufgewachsen sind. Das Modul hat USB und 
kann mit Drag-and-Drop auf Windows/MacOS/Linux (PC, Mac oder normalem 
Raspberry Pi) programmiert werden. Mit einem zweiten Pico als 
Programmierer kann man auch Befehle schrittweise ausführen und fast 
alles debuggen. Die Arduino-Umgebung wird auch unterstützt.

von W.S. (Gast)


Lesenswert?

Michael S. schrieb:
> Welche Chips lassen sich denn ähnlich programmieren wie die ATMEL-Chips
> ? Vielleicht sogar mit einer eigenen IDE analog der Arduin-IDE ? Und mit
> der Möglichkeit, in Assembler zu programmieren ?

Ich hab da so den Eindruck, daß du wie der Schmetterling von Blüte zu 
Blüte tanzt, auf der Suche danach, wo man am leichtesten den Saft 
austrinken kann.

Ist also das Ganze nur ein Gedankenexperiment oder gar ein 
Freitags-Thema?
Und kannst du auch ohne eine IDE mit einem ganz normalen Texteditor 
umgehen und die eigentliche Toolchain selber aufrufen? Oder willst du 
eigentlich bei den Arduinos bleiben und suchst nur nach Argumenten 
dafür, daß es woanders überall schwerer ist?

W.S.

von Jan V. (janv)


Lesenswert?

W.S. schrieb:
> Ich hab da so den Eindruck, daß du wie der Schmetterling von Blüte zu
> Blüte tanzt, auf der Suche danach, wo man am leichtesten den Saft
> austrinken kann.

Vor allem fehlt die Zielrichtung!
Was soll denn programmiert werden?
Ohne Ziel keine Lern-Motivation!

Michael S. schrieb:
> In meinem vorherigen Post über den Z80 erfuhr ich, dass der wohl
> veraltet ist.

Bei diesem Kenntnis-Stand empfehle ich beim (modernen) AVR zu bleiben. 
Es ist überhaupt kein Grund ersichtlich sich

> jetzt an andere Chips heran(zu)wagen

von derjaeger (Gast)


Lesenswert?

Vorschlag von jemanden der damit die Mikrocontroller Programmierung 
eingestiegen ist:

TI MSP430G2553

TI's MSP430G2553 is a 16 MHz MCU with 16KB Flash, 512B SRAM, comparator, 
UART/SPI/I2C, timer.

von Ulf L. (ulf_l)


Lesenswert?

Ich würde einfach bei Arduino bleiben. Da hast Du jede Menge 
Zielplattformen und Peripehrie-Treiber. Wenn Du auf Register-Ebene 
runter willst ist das auch problemlos möglich. Und wie weiter oben schon 
geschrieben soll auch Assembler gehen.

von EAF (Gast)


Angehängte Dateien:

Lesenswert?

Ulf L. schrieb:
> Und wie weiter oben schon
> geschrieben soll auch Assembler gehen.

Die *.ino Datei leer machen, also loop() und setup() weg machen.
Ein Tab öffnen/anlegen, z.B. main.S nennen. Der Name ist egal. Nur die 
Endung ist wichtig.
In der ASM Datei ein Lable namens main anlegen.

von J. S. (jojos)


Lesenswert?

Michael S. schrieb:
> Den STM32 Nucleo habe ich mir mal gekauft aber den empfinde ich als sehr
> schwierig.

mit welchem Controller? Die gibt es ja für sehr viele und die 'großen' 
sind schon recht komplex.
Mit der STMCubeIDE bekommt man da schon recht schnell Ergebnisse, man 
sollte sich aber das mitgelieferte Tutorial ansehen. Die IDE ist sehr 
mächtig und Einstellungen versteckt weil Eclipse eine Universal 
Oberfläche für alle möglichen Programme ist.

von Geli (Gast)


Lesenswert?

Alle Chips die von micropython unterstützt werden!

von Peter D. (peda)


Lesenswert?

Michael S. schrieb:
> Und mit
> der Möglichkeit, in Assembler zu programmieren ?

Gerade, wenn man auch andere Architekturen programmieren will, sollte 
schnell auffallen, daß Assembler eine Sackgasse ist. Man kann wirklich 
kein Stück Code übernehmen. Man muß Zeile für Zeile übersetzen und sogar 
Code komplett umstellen, wenn es keine 1:1 identischen Befehle für etwas 
gibt.
Z.B.
1
; 8051:
2
; input: A = array index
3
; output: A = value
4
; code: 4 bytes
5
  mov dptr, #table
6
  movc a, @a+dptr
7
8
; avr:
9
; input: r16 = array index
10
; output: r16 = value
11
; code: 10 bytes
12
  ldi r30, low(table * 2)
13
  ldi r31, high(table * 2)
14
  add r30, r16
15
  adc r31, zero_reg
16
  lpm r16, z

In C macht es dagegen richtig Spaß, allen selber geschriebenen Code auf 
einer andere Maschine weiter zu verwenden. Ob 8051, AVR oder Cortex M4 
ist da weitgehend egal.

Beim Cortex M4 kann man die Pins nicht als Variablen zugreifen, sondern 
muß HAL-Funktionen benutzen und hat mehrere Instanzen, die einen Pin 
durchleiten. Ist also alles etwas komplexer und daher nicht so 
anfängertauglich. Aber das müßte man in Assembler ja auch machen.

von Monk (roehrmond)


Lesenswert?

Peter D. schrieb:
> Beim Cortex M4 kann man die Pins nicht als Variablen zugreifen, sondern
> muß HAL-Funktionen benutzen und hat mehrere Instanzen, die einen Pin
> durchleiten.

Das irritiert mich. STM32Duino setzt auf die HAL auf, welche wiederum 
auf CMSIS aufbaut, welche direkte Registerzugriffe ermöglicht. Ich setze 
PA5 so auf high:
1
GPIOA->BSRR = GPIO_BSRR_BS_5

Da ich weiß dass du kein Dummkopf bist gehe ich davon aus, dass ich 
diesen Satz von dir missverstanden habe. Magst du das aufklären?

: Bearbeitet durch User
von Sebastian (Gast)


Lesenswert?

Aus eigener Erfahrung kann ich bestätigen: Zwischen einem klassischen 
8-bit Atmel und einem STM32 - ziemlich egal welchem - liegen in punkto 
Komplexität Welten. Das liegt nicht so sehr an der CPU, als vielmehr an 
der Peripherie.
Zudem hat man beim 8-bit AVR üblicherweise direkt nach Datenblatt die 
Register angesprochen, während beim STM32 die Mehrzahl der Anwender eine 
Hardwareabstraktionsschicht (HAL) benutzt, die ihrerseits wieder eigene 
Komplexität mitbringt. Es gibt zwar auch alternative Bibliotheken oder 
Systeme wie Mbed, aber für einen Anwender, der Arduino gewöhnt ist, 
könnte ein gangbarer Weg in "Arduino for STM32" liegen. Dazu gibt es ein 
Forum und diverse Quellen.
Zur Zeit sind STM32 eher schlecht lieferbar. Wenn der Weg in diese 
Richtung gehen soll, könnte der STM8 ein Zwischenschritt sein: Zwar 
8-bit, aber in der Peripherie dem STM32 nicht völlig unähnlich. Die 
Tools dafür sind jedoch weniger integriert als in der Arduino-IDE.
Ein Klassiker ist auch noch der 8051 bzw. seine umfangreiche 
Verwandtschaft. Silabs hat z.B. moderne Typen mit Flashspeicher, und 
bietet, wenn man sich den Programmieradapter kauft, eine kostenlose 
Keil-Lizenz dazu. War zumindest früher so. Der Befehlssatz ist nicht 
ganz so logisch wie der von Atmel, aber genauso beherrschbar, die 
Peripherie oftmals eher einfach gehalten.

von J. S. (jojos)


Lesenswert?

Sebastian schrieb:
> Zur Zeit sind STM32 eher schlecht lieferbar.

Der RP2040 ist da noch eine Alternative, auch Cortex-M und auf vielen 
verschiedenen Boards sehr günstig zu bekommen. Mit PlattformIO läuft ein 
Blinky in wenigen Minuten.

Aber der TO hat ja ein Nucleo Board, und es kostet wirklich nicht viel 
Mühe so eines auch zu benutzen. Zumal Programmer/Debugger ja auch gleich 
onboard sind.

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


Lesenswert?

Peter D. schrieb:
> Beim Cortex M4 kann man die Pins nicht als Variablen zugreifen,
> sondern muß HAL-Funktionen benutzen

Ähhm. Nein.

Praktisch auf jeder Architektur kann man die SFR (special function 
register) aus C heraus wie Variablen ansprechen. Nur daß sie halt anders 
als vom Compiler angelegte Variablen an festen Adressen liegen.

Die Benutzung von HAL-Funktionen ist optional. Der Nutzen der HAL für 
einfaches Wackeln an IO-Pins ist auch überschaubar. Portabilität durch 
Nutzung der HAL-Funktionen ist bestenfalls zwischen den µC des selben 
Herstellers gegeben.

von MCUA (Gast)


Lesenswert?

> versuche dich an den neueren AVR8 (also die Dinger, die
> auf XMega-Architektur basieren, aber keine XMega sind)..

Aber die CPU ist (nach 25 Jahren) immer noch die gleiche!
Wann kapiert MCH endlich, dass man CPUs erweitern kann?


> Beim Cortex M4 kann man die Pins nicht als Variablen zugreifen,
> sondern muß HAL-Funktionen benutzen.

Es wäre schlimm wenn das so wäre.
Eine MCU kennt (genaugenommen) nur RegisterBits.

von Jan V. (janv)


Lesenswert?

MCUA schrieb:
> Aber die CPU ist (nach 25 Jahren) immer noch die gleiche!
> Wann kapiert MCH endlich, dass man CPUs erweitern kann?

Da gibt es durchaus substantielle Änderungen und nicht nur 
Erweiterungen. Aber das ist überschaubar und kein Vergleich zum Wechsel 
auf eine andere Architektur.

Peter D. schrieb:
> Gerade, wenn man auch andere Architekturen programmieren will, sollte
> schnell auffallen, daß Assembler eine Sackgasse ist.

Stimmt. Die Frage ist nur, will man das, braucht man das wirklich. Wenn 
man hingegen Asm will ist man bei den kleinen 8Bittern mit Abstand am 
besten aufgehoben.

Peter D. schrieb:
> In C macht es dagegen richtig Spaß, allen selber geschriebenen Code auf
> einer andere Maschine weiter zu verwenden

Mit diversen Einschränkungen. Der Teufel liegt im Detail. Die 
Programmierung bleibt zwangsweise oberflächlicher. Und ich glaube das 
weißt Du genau Peter.

von Peter D. (peda)


Lesenswert?

Jan V. schrieb:
> Die
> Programmierung bleibt zwangsweise oberflächlicher. Und ich glaube das
> weißt Du genau Peter.

Ich weiß genau das Gegenteil. In C weiß ich viel besser Bescheid, was 
das Programm genau macht, weil ich in Assembler schon längst den 
Überblick verloren hätte. Ich hätte mich da in dem ganzen 
nebensächlichen Kleinkram, wie Push, Pop, .db usw. völlig verzettelt.
Typen, Variablen, Structs, Arrays kennt Assembler ja nicht. Da muß man 
zu jeder RAM-Adresse selber umständlich Buch führen, was da konkret 
hinterlegt ist.
Und wehe, man macht dabei einen Fehler. Der Assembler ist happy, wenn er 
die Mnemonics parsen kann, alles andere interessiert ihn nicht die 
Bohne.
Mehrfache Indirektionen (Pointer) in Assembler berechnen und aktuell 
halten zu müssen, möchte ich nicht meinem ärgsten Feind zumuten.

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Ich habe noch nie verstanden warum alles immer "leicht" sein muss.

Mich interessiert immer, was man damit alles tun kann. Nicht wie leicht 
es ist.

von Jan V. (janv)


Lesenswert?

Peter D. schrieb:
> weil ich in Assembler schon längst den Überblick verloren hätte. Ich
> hätte mich da in dem ganzen nebensächlichen Kleinkram, wie Push, Pop,
> .db usw. völlig verzettelt

Das hast Du doch früher auch nicht :)

Michael S. schrieb:
> Welche Chips lassen sich denn ähnlich programmieren wie die ATMEL-Chips
> ?

Irgendein Grund, die Chiparchitektur zu wechseln, fehlt nach wie vor. 
Dein (einziger) Eröffnungs-Beitrag sollte wohl wieder nur eine der 
beliebtesten Debatten anstoßen?

Cyblord -. schrieb:
> Mich interessiert immer, was man damit alles tun kann. Nicht wie leicht
> es ist.

Leicht/Schwer hat eben immer auch mit eigenen Fähigkeiten und mit 
eigenem Zeit-Budget zu tun: Wieviel Zeit Du in immer neue Werkzeuge 
statt in Projekte steckst ist eben auch eine ökonomische Frage.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Cyblord -. schrieb:
> Mich interessiert immer, was man damit alles tun kann. Nicht wie leicht
> es ist.

Mich interessiert dagegen, daß ich den Überblick behalten kann und daß 
es funktional richtig ist.

Wenn ich in einer Struct Member hinzufüge, umstelle oder deren Typ 
ändere, soll sich gefälligst der Compiler drum kümmern, an sämtlichen 
Stellen die Pointerberechnungen entsprechend anzupassen.

von Peter D. (peda)


Lesenswert?

Jan V. schrieb:
> Das hast Du doch früher auch nicht :)

Es hängt von der Kleinheit des Programms ab, über 2kB Binärcode wirds 
eng.
Ich mußte mal in einem Assemblerprogramm für den AT89C2051 nach 10 
Jahren was ändern. Da kam ich ganz schön ins Rudern, mich da wieder 
reinzufitzen.  Es hat nicht mehr viel gefehlt und ich hätte es nach C 
umgeschrieben.

von Cyblord -. (cyblord)


Lesenswert?

Jan V. schrieb:
> Wieviel Zeit Du in immer neue Werkzeuge
> statt in Projekte steckst ist eben auch eine ökonomische Frage.

Nein, sehr schnell stellt sich da gar keine Frage mehr.

Ob du ein Blockhaus mit der Nagelfeile oder mit Kreissäge und 
Akkuschrauber baust, ist eben keine Geschmacksache mehr. Sondern der 
Unterschied ist eher zwischen Vernünftig und Wahnsinn.

Blinkende LEDs kann man in ASM schreiben, einen Netzwerk- oder 
Feldbusstack nicht. Weil es nicht mehr vernünftig ist. Gerade aus 
ökonomischer Sicht.

: Bearbeitet durch User
von MCUA (Gast)


Lesenswert?

>> Aber die CPU ist (nach 25 Jahren) immer noch die gleiche!
>> Wann kapiert MCH endlich, dass man CPUs erweitern kann?
> Da gibt es durchaus substantielle Änderungen und nicht nur
> Erweiterungen.
ich meinte damit die eigentliche CPU!
Ja, die Periferie hat sich verbessert.

von H. H. (Gast)


Lesenswert?

MCUA schrieb:
> Ja, die Periferie hat sich verbessert.

Mit 'f' sieht die ehr kaputt aus.

von Johnny B. (johnnyb)


Lesenswert?

Cyblord -. schrieb:
> Blinkende LEDs kann man in ASM schreiben

Kann man, aber selber nehme ich sogar für sowas heutzutage FreeRTOS auf 
einem schnellen Mikrocontroller und es stört mich auch nicht, wenn das 
Blinkprogramm auf einer 32-Bit CPU läuft, obwohl man es auch mit einigen 
FlipFlops diskret aufbauen könnte.
Meist bleibt es ja dann nicht bei der blinkenden LED, sondern muss dann 
laufend erweitert werden und dann ist man froh, stehen noch genügend 
Ressourcen und Flexibilität zur Verfügung.

: Bearbeitet durch User
von Jan V. (janv)


Lesenswert?

MCUA schrieb:
> ich meinte damit die eigentliche CPU

Ok die reinen Instruktionen. Hilft aber alles nix- am Ende gehts nur im 
Zusammenwirken mit allgemeinem Controller-Aufbau + der Peripherie- und 
manchem veränderten Merkmal derer.

Cyblord -. schrieb:
> Blinkende LEDs kann man in ASM schreiben, einen Netzwerk- oder
> Feldbusstack nicht

Dazwischen gibts so unendlich vieles.

> Ob du ein Blockhaus mit der Nagelfeile oder mit Kreissäge und
> Akkuschrauber baust, ist eben keine Geschmacksache mehr. Sondern der
> Unterschied ist eher zwischen Vernünftig und Wahnsinn.

Solche Vergleiche hinken schon recht heftig. Idealerweise ist man hier 
mit dem erlernten Programmierwerkzeug + maximal Erfahrung unterwegs. 
Noch reden wir ja von kleinen Mikrocontroller-Programmen!

von Cyblord -. (cyblord)


Lesenswert?

Jan V. schrieb:
> Noch reden wir ja von kleinen Mikrocontroller-Programmen!

Was auch immer das gerade für dich bedeutet.

von Jan V. (janv)


Lesenswert?

Cyblord -. schrieb:
> Was auch immer das gerade für dich bedeutet.

Naja, spätestens auf Windows Software Niveau machts dann keinen Sinn 
mehr, im Keller der direkten Register- Programmierung herum zu kriechen 
😉

von Cyblord -. (cyblord)


Lesenswert?

Jan V. schrieb:
> Naja, spätestens auf Windows Software Niveau machts dann keinen Sinn
> mehr, im Keller der direkten Register- Programmierung herum zu kriechen
> 😉

Wahnsinnig hilfreich. Meistens kenne Leute wie du nur C# Programme und 
die blinkende LED in ASM. Dein Beitrag bestätigt das voll und ganz.
Du scheinst noch nie was komplexeres, aber trotzdem noch Bare-Metal, auf 
8 Bittern umgesetzt zu haben. Merkt man deutlich.

von Jan V. (janv)


Lesenswert?

Cyblord -. schrieb:
> Du scheinst

Du scheinst aber auch ganz gewaltig.
Merkt man deutlich 😉

von Erich (Gast)


Lesenswert?

Michael S. schrieb:
> In meinem vorherigen Post über den Z80 erfuhr ich, dass der wohl
> veraltet ist.
> Welche Chips lassen sich denn ähnlich programmieren wie die ATMEL-Chips
> ?


Ganz generell kann man sagen: ASSEMBLER-Programmierung ist veraltet.

Völlig unabhängig vom Hersteller und Chip.


Aber ich habe eher den Verdacht, daß du eh NIX auf die Reihe kriegst.

Beitrag "Re: Einstieg in den Z80"

von c-hater (Gast)


Lesenswert?

Erich schrieb:

> Ganz generell kann man sagen: ASSEMBLER-Programmierung ist veraltet.

Nunja... Ein aktueller Hochsprachencompiler besteht zu einem recht 
wesentlichen Teil aus einer doch beachtlich großen Ansammlung von 
Assembler-Makros...

Und selbst mit diesem Asm-powered Support kann er nur recht selten die 
Effizienz von liebevoll handgestricktem Assemblercode erreichen. Nunja, 
mit Lego-Steinen kann man halt nicht wirklich ein stromlinienförmiges 
Boot bauen, man kann es nur bestmöglich annähern.

von Lothar (Gast)


Lesenswert?

Sebastian schrieb:
> Silabs hat z.B. moderne Typen mit Flashspeicher, und
> bietet, wenn man sich den Programmieradapter kauft, eine kostenlose
> Keil-Lizenz dazu

Die Keil-Lizenz ist schon lange kostenlos auch ohne Programmieradapter. 
Die aktuellen 8051 EFM8 haben nämlich Bootloader ab Werk und somit 
braucht es keinen Programmieradapter mehr. Zudem gibt es Eval Boards mit 
J-Link Debugger für 10 EUR der J-Link da drauf läuft übrigens auf einem 
EFM32 weil die STM32 nicht lieferbar sind :-)

https://www.silabs.com/development-tools/mcu/8-bit/bb52-ek2701a-efm8bb52-explorer-kit

von Jan V. (janv)


Lesenswert?

Erich schrieb:
> ist veraltet

Das Forum ist schließlich berühmt für seine Vorhersage-Kraft und 
Prognose-Fähigkeit. So Deklariertes verliert schlagartig alle nützlichen 
Eigenschaften. Das ist bitteschön einzusehen.

von Mcn (Gast)


Lesenswert?

Michael S. schrieb:
> möchte mich
> jetzt an andere Chips heranwagen.
> In meinem vorherigen Post über den Z80 erfuhr ich, dass der wohl
> veraltet ist.

Du suchst Calliope mini, der ist speziell für das Lehren von 
unselbstständigen Grundschülern entwickelt worden, also die, die vorher 
dreimal fragen müssen, um bloß nichts falsch zu machen.

Für Grobmotoriker hat die Platine mehrere Zacken, nicht das beim ersten 
ängstlichen Zittern das Ganze zu Boden geht. Installiert werden muß 
nichts, alles online ("Open Roberta Lab"). Und der bekannte 
Schulbuchverlag "Cornelsen" hat viel didaktich aufbereitetes Material.

Und natürlich kann man auch I2C Module anschließen, falls man sich an 
"Elektronik für Männer" heranwagt. Eventuell muss man dafür ein paar 
Kabel in die richtige Buchse stecken, aber mit Steckmodulen hast du ja 
schon erste Erfahrungen gemacht ...

https://de.wikipedia.org/wiki/Calliope_mini
https://lab.open-roberta.org/
https://de.wikipedia.org/wiki/Open_Roberta
https://www.cornelsen.de/reihen/coden-mit-dem-calliope-mini-370001150000
https://www.heise.de/thema/Calliope-mini

von MCUA (Gast)


Lesenswert?

> Aber ich habe eher den Verdacht, daß du eh NIX auf die Reihe kriegst.
Wer "wie die ATMEL-Chips" schreibt hat ja noch nichtmal nach einer CPU 
gefragt.

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.