Forum: Mikrocontroller und Digitale Elektronik Arduino Protenta: Need for Speed


von Markus (Gast)


Lesenswert?

Es gibt einen neuen Dual-Core Arduino:

https://hackaday.com/2020/01/15/new-part-day-arduino-goes-pro-with-the-portenta-h7/

"32-bit STM32H747XI that utilizes both an ARM Cortex M7 and an M4 
running at 480 MHz and 240 Mhz"

Python+C bin gespannt, auf welchem Core was läuft.

von Hakim (Gast)


Lesenswert?

Der nächste Arduino auf dem Weg als Staubfänger zu enden.

von Seppel (Gast)


Lesenswert?

Gibts auch als Dev-Board von ST zum gleichen Preis, aber grösser,... 
nicht wirklich interessant.

von Jens M. (schuchkleisser)


Lesenswert?

Nen Arduino-Dualcore ist doch völlig sinnlos, das hat man nur gemacht 
weil's geht.

Man hat doch null Kontrolle über die Hardware, wie soll man da den 
Überblck behalten?
Das klappt doch schon bei den kleinen ATmegas nicht...

von MaWin (Gast)


Lesenswert?

Markus schrieb:
> Python

Wie idotisch: eine schnarchlahme Programmumgebung per brute force 
Rechenpower doch noch auf die mittlere Leistung eines ATmega8 zu 
bringen.

von Ozodrek (Gast)


Lesenswert?

MaWin schrieb:
> Markus schrieb:
>> Python
>
> Wie idotisch: eine schnarchlahme Programmumgebung per brute force
> Rechenpower doch noch auf die mittlere Leistung eines ATmega8 zu
> bringen.

Zum Glück haben wir ja den ATmega8.

Alle anderen Controller sind für Leute die nichts drauf haben und reine 
Luschen sind. ATmega8 beschde wo gibt.

von Max M. (maxmicr)


Lesenswert?

Wie würde man den im C programmieren? Brauchts da einen speziellen 
Compiler / Linker um beide Kerne ansprechen zu können? Und wie tauschen 
die Daten aus?

von Miss Ratgeber (Gast)


Lesenswert?

> auf welchem Core was läuft

Auf dem ersten ARD in HD und auf dem zweiten ZDF in SD.

> Und wie tauschen die Daten aus?

Das steht im öffentlich zugänglichen Datenblatt!
Das musste ich auch lesen!

von chris (Gast)


Lesenswert?

>Das steht im öffentlich zugänglichen Datenblatt!
>Das musste ich auch lesen!

Ein Datenblatt zum Arduino Portenta? Wo hast Du das gefunden?

Im Moment sehe ich nur das:

https://store.arduino.cc/portenta-h7
"
Two Parallel Cores

H7's main processor is the dual core STM32H747 including a Cortex® M7 
running at 480 MHz and a Cortex® M4 running at 240 MHz. The two cores 
communicate via a Remote Procedure Call mechanism that allows calling 
functions on the other processor seamlessly. Both processors share all 
the in-chip peripherals and can run:

    Arduino sketches on top of the Arm® Mbed™ OS
    Native Mbed™ applications
    MicroPython / JavaScript via an interpreter
    TensorFlow™ Lite
"

von Horst (Gast)


Lesenswert?

Ozodrek schrieb:
> Alle anderen Controller sind für Leute die nichts drauf haben und reine
> Luschen sind

Du hast nicht verstanden, was gemeint war. Mega8 kannst Du durch PIC 
oder jeden anderen kleinen Prozessor ersetzen.
Wer aber mein, für seine Anwendung einen Dual-Core-Prozessor zu brauchen 
und dann

chris schrieb:
> MicroPython / JavaScript via an interpreter

einsetzt hat den Schuss nicht gehört.

Aber das ist ja inzwischen normal geworden, wie sollte man sonst immer 
bessere Prozessoren verkaufen, wo die aktuellen doch schon zu groß sind.
Habe Leistung, brauche Anwendung.

In der nächsten Generation wird der Python-Interpreter dann in Java 
geschrieben und zwei weitere Cores ausgelastet.

von chris (Gast)


Lesenswert?

Horst (Gast)
>einsetzt hat den Schuss nicht gehört.

Ja, es ist Freitag ...
und ja, du bist aus dem letzten Jahrhundert: Der Trend geht zu 
leistungsstarken Prozessoren. Die ganze KI arbeite mit Python, SkiPy, 
TensorFlow Lite ... alles mit Python Wrappern auf C oder C++.
Investiere mal lieber in deine Weiterbildung, sonst bist du schneller 
obsolet als du denken kannst.

von Olaf (Gast)


Lesenswert?

> Der Trend geht zu leistungsstarken Prozessoren. Die ganze KI arbeite mit
> Python, SkiPy, TensorFlow Lite ... alles mit Python Wrappern auf C
> oder C++.

Jaein. Wir haben eine immer groessere Gruppe von durchaus faehigen 
Spezialisten die zwar sehr komplexe Probleme loesen koennen, aber 
niemals
die Zeit gefunden haben C oder C++ zu lernen. Da hat ja letztlich auch
Matlab seine Berechtigung her.

Wenn es aber um die endgueltige Implementierung geht dann wird man 
hoffentlich eine vernuenftige nativ Sprache einsetzen. Man braucht dann 
naemlich schnell ein Kraftwerk weniger, ein Handy hat ploetzlich die 
doppelte Laufzeit oder das Geraet wird billiger weil man kleinere 
Hardware einsetzen kann.

Olaf

von Arduino (Gast)


Lesenswert?

Max M. schrieb:
> Wie würde man den im C programmieren?

Ganz normal halt. Was hier als tolle neue Erfindung angepriesen wird, 
gibts schon seit vielen Jahren. Und Arduino ist ja auch nix anderes als 
C/C++.
Es handelt sich einfach nur um zwei getrennte µC im gleichen Gehäuse, 
mit etwas Logik damit sie miteinander reden können. Gibts von TI (und 
vermutlich auch ST) schon ziemlich lang.
Beispielsweise TI's Concerto, ein Kern ist ein Cortex M3, der andere ein 
C2000 DSP, es handelt sich also sogar um komplett unterschiedliche 
Architekturen. Die neuen TI Delfino bekommen bekommen sogar zwei 
DSP-Kerne neben einem ARM Cortex.

Max M. schrieb:
> Brauchts da einen speziellen
> Compiler / Linker um beide Kerne ansprechen zu können?

Nein, es handelt sich um zwei komplett getrennte Programme, jeweils 
generiert mit einem ganz normalen ARM C Compiler. Die Kommunikation 
zwischen den Kernen funktioniert einfach über Interrupts, Register und 
evtl. Shared Memory, ist also kein Hexenwerk.

Hauptanwendung von solchen Prozessoren (auch dem STM32H747XI, der mit 
dem Cortex M7 einen DSP-light besitzt) liegt darin, am DSP-Kern 
Regelungsanwendungen wie z.B. Motorregelungen laufen zu lassen, während 
der andere Kern z.B. die Kommunikation über CAN, Echtzeit-Ethernet etc. 
abwickelt.

chris schrieb:
> Ein Datenblatt zum Arduino Portenta? Wo hast Du das gefunden?
>
> Im Moment sehe ich nur das:
>
> https://store.arduino.cc/portenta-h7

Ein Datenblatt zum STM32H747XI natürlich.

chris schrieb:
> und ja, du bist aus dem letzten Jahrhundert: Der Trend geht zu
> leistungsstarken Prozessoren. Die ganze KI arbeite mit Python, SkiPy,
> TensorFlow Lite ... alles mit Python Wrappern auf C oder C++.
> Investiere mal lieber in deine Weiterbildung, sonst bist du schneller
> obsolet als du denken kannst.

Du hast es immer noch nicht verstanden. Es geht nicht um C oder C++ oder 
Highperfomance-Aufgaben die die Leistung wiklich brauchen, sondern darum 
einen 400MHz-Prozessor einzubauen und darauf dann eine schnarchlangsame 
Scriptsprache laufen zu lassen.
Aber klar, wer aus dem KI-Hype-Eck kommt, erkennt das Problem nicht.


Olaf schrieb:
> Wenn es aber um die endgueltige Implementierung geht dann wird man
> hoffentlich eine vernuenftige nativ Sprache einsetzen.

Vor allem könnte man ja Python z.B. auch compilieren, und hätte 
plötzlich (fast) die gleiche Performance wie mit C. Aber nein, man lässt 
auf einem Microcontroller einen schnarchlangsamen Interpreter laufen...

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

... an alle blinde und minderbegabte hier,
micropython macht richtig spass!

und ich kann auch richtig gut in c/c++ ... bäh!


mt

von chris (Gast)


Lesenswert?

>chris schrieb:
>> und ja, du bist aus dem letzten Jahrhundert: Der Trend geht zu
>> leistungsstarken Prozessoren. Die ganze KI arbeite mit Python, SkiPy,
>> TensorFlow Lite ... alles mit Python Wrappern auf C oder C++.
>> Investiere mal lieber in deine Weiterbildung, sonst bist du schneller
>> obsolet als du denken kannst.

>Du hast es immer noch nicht verstanden. Es geht nicht um C oder C++ oder
>Highperfomance-Aufgaben die die Leistung wiklich brauchen, sondern darum
>einen 400MHz-Prozessor einzubauen und darauf dann eine schnarchlangsame
>Scriptsprache laufen zu lassen.

Zu deiner Fortbildung bekommst du jetzt eine kleine Hausaufgabe: Finde 
heraus, was mit einem "Software-Wrapper" gemeint ist und nenne ein paar 
der wichtigsten Algorithmik-Frameworks bei denen Wrapper eingesetzt 
werden. Zeige, ab welchem Lauftzeitverhältnis und Lohnkostenverhältnis 
sich ein Wrapper lohnt.

>Aber klar, wer aus dem KI-Hype-Eck kommt, erkennt das Problem nicht.
Könnte es sein, dass du genau gar nichts darüber weißt aber trotzdem 
gerne urteilst?

von Miss Ratgeber (Gast)


Lesenswert?

Wenn ich
> Frameworks
lese, weiss ich, dass da nur Sch..sse rauskommen kann.

Und
> ein Wrapper
hol ich mir bei McDoof.


> hat den Schuss nicht gehört
Richtig.

von Vincent H. (vinci)


Lesenswert?

Ich hab Insiderinformationen die besagen, dass auf den verbauten STM32H7 
sogar Maschinencode laufen soll!

von Miss Ratgeber (Gast)


Lesenswert?

> sogar Maschinencode laufen soll

Wie aus gut unterrichteten Kreisen verlautbarte:
Sogar zwei mal!

von Arduino (Gast)


Lesenswert?

chris schrieb:
> Zu deiner Fortbildung bekommst du jetzt eine kleine Hausaufgabe: Finde
> heraus, was mit einem "Software-Wrapper" gemeint ist und nenne ein paar
> der wichtigsten Algorithmik-Frameworks bei denen Wrapper eingesetzt
> werden. Zeige, ab welchem Lauftzeitverhältnis und Lohnkostenverhältnis
> sich ein Wrapper lohnt.

Danke, hätte ich das nötig, wäre ich wohl kaum Senior Developer 
geworden.

Aber um zu zeigen, dass du mehr als nur Klugscheissen kannst, kannst du 
der Allgemeinheit sicher gern erklären, welchen Sinn ein 
Pythoninterpreter auf einem Microcontroller haben soll.
Aber vermutlich kannst du nur Hypetechnologie nachlaufen, und hast das 
Thema immer noch nicht verstanden.

Apollo M. schrieb:
> ... an alle blinde und minderbegabte hier,
> micropython macht richtig spass!

Es geht hier NICHT um Micropyhton. Micropython ist kompiliert, während 
hier die Rede davon ist, dass irgendwelche Genies einen 
Pythoninterpreter auf einem µC laufen lassen wollen.

chris schrieb:
>>Aber klar, wer aus dem KI-Hype-Eck kommt, erkennt das Problem nicht.
> Könnte es sein, dass du genau gar nichts darüber weißt aber trotzdem
> gerne urteilst?

Bitte, klär mich auf. Als erstes kannst du ja mal aufklären, was du 
überhaupt mit KI meinst, heute verkauft man ja schon einen Bayes-Filter, 
Lineare Regression und ähnliche simple Statistik als KI. Klingt dann 
gleich viel toller, und bedient den AI-Hype.

von Vincent H. (vinci)


Lesenswert?

Arduino schrieb:
> Es geht hier NICHT um Micropyhton. Micropython ist kompiliert, während
> hier die Rede davon ist, dass irgendwelche Genies einen
> Pythoninterpreter auf einem µC laufen lassen wollen.

Doch es geht um MicroPython:
https://www.arduino.cc/pro/hardware/product/portenta-h7

MicroPython ist ein Python-Interpreter.

von Datargnan (Gast)


Lesenswert?

Vincent H. schrieb:
> Micropython ist kompiliert,


Ist es nicht. Und ja, das kostet Performance. Ist für den typsichen 
Arduino Anwender aber wahrscheinlich egal.

Auch das ist nichts neues, gabs mit Basic Interpretern schon auf einem 4 
MHz (ja 4 MHz, nicht 400 MHz) Motorola 68HCxx ... anno 1996 von Conrad 
als C-Control.
DAS war richtig langsam :-P

von Vincent H. (vinci)


Lesenswert?

Kannst du mich bitte nicht falsch quoten? Danke.

von Datargnan (Gast)


Lesenswert?

mmmh? Oh sorry falschen Post markiert war keine Absicht.

von Max M. (maxmicr)


Lesenswert?

Arduino schrieb:
> Ganz normal halt.

Vielen Dank für die Erklärung!

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.