Forum: PC Hard- und Software Live-Linux: Anleitung schreiben


von Ralph S. (jjflash)


Lesenswert?

Um es vorwegzunehmen: Ich habe (zumindest diesen Post betreffend) kein 
technisches Problem, sondern ein didaktisches.

Es dreht sich für mich hier auch garantiert nicht um die ewige 
Diskussion Linux vs. Windows.

Aus meinem Umfeld wird immer wieder erstaunt darauf reagiert, wie und 
mit welcher Software ich Programme für Mikrocontroller schreibe.

Da ich absolut kein Fan von - aus meiner Sicht - gigantisch großen IDE's 
wie Microchip Studio, vscode, oder eclipse bin, programmiere ich 
ausschließlich mit Editor und Makefile.

Als Editor verwende ich hierbei entweder "Geany" oder meinen eigenen 
Kommandozeilenedior "Cide".

Das ganze funktioniert auf einem "frugalen Live-Linux" absolut 
zufriedenstellend und ist von der Codegröße auch nach heutigem Maßstab 
extrem klein (dieser Post hier ist bspw. auf diesem Live-Linux erstellt 
worden).

"Mein" Live-Linux ist eine von mir erweiterte und auf die Bedürfnisse 
der Controller-Programmierung eingerichtete Version von Porteus-Linux 
(welche auf der ältesten noch aktiven Linux-Distribution Slackware 
basiert).

Denjenigen, denen ich einen USB-Stick eingerichtet habe, sind mit diesem 
System auch sehr zufrieden.

Seit längerer Zeit möchte ich eine Anleitung ins Netz stellen, wie man 
sich einen solchigen Stick selbst einrichten kann und just in diesem 
Moment kommt zu meinen bestehenden Erklärungsproblemen ein weiteres 
(Hardware)problem hinzu: Ich hatte das erste mal ein Notebook in den 
Fingern, bei denen es keine Unterstützung mehr für Legacy-Bios (CSM) 
gibt, sondern ausschließlich UEFI verwendet werden kann.

Grundsätzlich bedeutet das, das ein Bootstick hier dann tatsächlich 2 
Partitionen enthalten muß: Eine von der das System gebootet werden kann 
(auf dem Stick FAT32) und eine, auf der dann gespeichert werden kann 
(hier dann ext2 oder ext4).

Zur Erklärung:
Porteus stellt in seiner Installation mittels sogenannter XZM-Module 
Software zur Verfügung. Um das System dann zu erweitern bedarf es "nur" 
eines erstellten Moduls, das in einen bestimmten Ordner ausserhalb des 
Dateisystems des Linux gespeichert wird. Beim Start des Systems ist dann 
dieses Programm (oder eine Einstellung des Systems) dann verfügbar.

Nach dieser Methode habe ich dem Live-Linux-System die Compiler avr-gcc, 
arm-none-eabi-gcc und den sdcc hinzugefügt, die systemweit Verfügbar 
sind. Ebenfalls wurde dem System verschiedene Möglichkeiten gegeben, 
Controller zu flashen (allen voran avrdude für AVR-Controller sowie den 
CubeProgrammer für STM32 und einen Opensourceprogrammer für STM8). 
Padauk PFS wird mittels EasyPDKProgrammer ebenfalls unterstützt.

Wie gesagt, das ganze funktioniert relativ problemlos, so es denn 
"eingerichtet" ist.

Hier fängt dann mein didaktisches Problem an:

Ich habe zwar ein ISO-File erstellt, das das System enthält und von 
vorzugsweisen Windows-Nutzern gedownloaded und auf einen Stick gebracht 
werden kann:

https://www.jjflash.de/filedir/iso_images/porteus5_250223.iso

Wird dieses ISO-File auf einen Stick ausgepackt und im Verzeichnis /boot 
das Programm

Porteus-installer-for-Windows.exe

ist daraus auch schon ein bootfähiger Stick entstanden, aber hier fängt 
dann jetzt mein (didaktisches) Problem an.

In aller Regel ist ein fabrikfrischer Stick mit FAT32 formatiert 
(komplette Speicherkapazität).

Um aus dem Live-System heraus etwas speichern zu können gibt es 
grundsätzlich 2 Methoden (da, das Live-System zum Speichern mit einem 
FAT32 nichts anfangen kann).

Es kann ein File-Container erzeugt werden, der in sich ein ext2/4 
Filesystem trägt und in dem alle Daten gespeichert werden. Das mag ich 
aber nicht machen, da dies die Gefahr in sich birgt - sollte diese eine 
Datei beschädigt werden - ist alles was auf dem System gearbeitet wurde 
verloren.

Die zweite Methode ist, man verkleinert die FAT32 Partition auf der 
gebootet wird (bspw. auf 16GB bei einerm 32er Stick) mit gparted und 
richtet auf dem nun frei gewordenen Platz eine ext4 Partition ein, auf 
der dann gespeichert werden soll.

Grundsätzlich bin ich für das Erklären am Überlegen, ob man für diese 
Erklärungen mit 2 USB-Sticks arbeiten soll: Einer der grundsätzlich das 
System bootet und von dem aus ein zweiter Stick dann eingerichtet wird.

Mein Problem fürs Erklären besteht darin, dass ich also für jemand 
potentiell Unwissenden etwas beschreiben muß, mittels der sich dieser 
jemand dann grundsätzlich sein Windows (mittels gparted dann) zerstören 
kann.

Er muß erkennen, welche Laufwerksbezeichnung seine Festplatte hat 
(natürlich sda mit entsprechend eingerichteten Partitionen) und 
schlimmer noch: es könnten mehrere Festplatten eingebaut sein, so dass 
nicht davon ausgegangen werden kann, dass ein Stick von dem gebootet 
wurde zwingend sdb1 ist.

Hier kann ich natürlich feststellen von welchem Stick gebootet worden 
ist und kann einen Text ausgeben, auf welchen Stick ein System 
eingerichtet werden soll.

Zusammenfassend die zu machenden Erklärungen:

- downloaden des ISO-Files
- auspacken des Files auf USB-Stick
- setzen des Bootflags mittels Programm in /boot
- umstellen des BIOS / UEFI damit von Stick gebootet werden kann
- beim ersten Start des Linux-System ignorieren der Fehlermeldung, dass 
es keinen Speicherplatz zum Ablegen eigener Dateien gibt
--------------------------------------
(das für mich jetzt heikle)
- verkleinern der FAT32 Bootpartition (gparted)
- einrichten einer zweiten Partition ext4 (gparted)
- editieren der Datei /boot/syslinux/porteus.cfg

in der Zeile:

APPEND 4 changes=/dev/sda2/ login=mcu

(die obige Zeile hätte Gültigkeit wenn das Live-System auf eine Platte 
installiert worden ist, oder - wie in diesem Fall hier jetzt -  die 
Platte ausgebaut wurde und das einzige Massenspeichermedium ein 64GB 
USB-Stick ist).

--------------------------------------------

So, das war jetzt ein langer Text zu meinem Vorhaben. Hat jemand 
eventuell Ideen, wie man auf relativ "ungefährliche" Art und Weise das 
Splitten des USB-Sticks in 2 Partitionen erklären kann?

Vielleicht gibt es Windowsprogramme die einen Stick partitionieren und 
mit unterschiedlichen Filesystemen versehen können und zudem auch 
ungefährlich sind (ich bin bei Windowsprogrammen seit einigen Jahren 
nicht mehr aktuell im Wissen, was das System anbelangt, ich nutze 
lediglich ein WIN11 - System für ganz andere "Aufgaben" ... Spiele 
halt)?

--------------------------------------------

By the way: Microsoft selbst hat angekündigt, dass ab Oktober Win10 
nicht mehr unterstützt werden wird und die Hardware, auf der Win11 
zertifiziert läuft ist ab der 8. CPU- Generation.

Hier dürften dann in relativ absehbarer Zeit Gebrauchtrechner/Notebooks 
anfallen, die für fast alles (außer Spielen) noch geeignet sein dürften 
und für genau so ein Live-System geeignet.

Bsp. dieses System hier: lenovo x230i, 4 GB Ram, i3-3120. In einer 
Virtualbox läuft sogar Windows 2000 um darin Sprint-Layout 6.0 laufen zu 
lassen. Das ganze problemlos und relativ flott: Compilierung eines 
STM32F4 Programms, das ein 112kByte großes Binärfile erzeugt in 
unterhalb 4 Sekunden.

--------------------------------------------

Sorry noch einmal für diesen elendig langen Text, aber wenn jemand 
Anregungen dafür hat, wie man das "gefahrfrei" erklären kann, gerne hier 
posten (und für die ewigen Miesmacher: feel free to vote negative)

von Cyblord -. (cyblord)


Lesenswert?

Heiliger Bimbam, so ein elendig langer Text nur um zu sagen "Ich bin der 
Barebone Linux Freak und möchte.... ja was eigentlich. Am Ende Texts 
weiß ja gar nicht mehr was der Typ eigentlich will.

Aber entwickeln ohne IDE auf selbstgestricktem CLI Editor ist wild. Und 
sicher nichts was man weiterempfehlen sollte. Das sollte ein ganz ganz 
privater Fetish bleiben.

Dann bleibt ein wichtiger Fakt: Für einen DAU ist nicht das Installieren 
von Linux die große Hürde, sondern die Probleme fangen ja erst an, wenn 
das Linux läuft. Und da hilft dir keine Step-by-Step Anleitung mehr.

Und dann die Frage: Warum bist du nicht einfach mit deinem System 
glücklich und lässt alle andere in Ruhe? Was treibt dich an unbedingt 
andere Leute volldiadaktisch auf dein System hinleiten zu wollen?

: Bearbeitet durch User
von .● Des|ntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

wenn man ein Image hat, sollte doch dieses
auf einen nackten Datenträger zu überspielen sein.
Wenn der Quelldatenträger einsatzbereit ist,
sollten all diese Formatierungen doch auch darin stecken.

Du kannst z.B. mit Badblocks den "vorderen" Bereich des Zieldatenträgers
kurz antriggern, dann ist dessen Formatierung weg.

Erkennbar daran, dass ein Linux diesen nur z.B. mit sda anzeigt
und nicht noch sda1 oder dass Windows diesen erstmal "initialisieren" 
will.

Und darauf dann überspielen.

Cyblord -. schrieb:
> Heiliger Bimbam, so ein elendig langer Text

Immerhin ist der Text lesbar,
was so einige Leutchen nicht mehr hinbekommen

von Franko S. (frank_s866)


Lesenswert?

Ralph S. schrieb:
> Sorry noch einmal für diesen elendig langen Text, aber wenn jemand
> Anregungen dafür hat, wie man das "gefahrfrei" erklären kann, gerne hier
> posten (und für die ewigen Miesmacher: feel free to vote negative)

Erkläre erst mal was du überhaupt willst, bei der Hälfe des Geschwafels 
habe ich audgehört zu lesen. Und du willst ne Anleitung schreiben? 
Scheiterst ja schon an einem einfachen Posting.

Leute gibts, ne.

von Cyblord -. (cyblord)


Lesenswert?

●Des|ntegrator ●. schrieb:
> wenn man ein Image hat, sollte doch dieses
> auf einen nackten Datenträger zu überspielen sein.

Das ist der Teil den ich auch nicht verstehe.

Ein Image erledigt doch all diese Probleme. Im Zweifel nimmt sich ein 
Vorbild am Raspi, da gibts ne Windows Software die das Image 
zusammenstellt und auf ne SD Karte spielt. Und die läuft sofort. Für so 
eine Linux Freak sollte das klar sein.

von .● Des|ntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

Aktiv die vorherige Formatierung zu löschen
war hier mal nötig, als ein Acronis ein
von einem Linux erstellten ntfs-Datenträger nicht bespielen wollte.

das muss wohl um ein paar dez. anders als ein "Windows-ntfs" sein

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Cyblord -. schrieb:
> "Ich bin der
> Barebone Linux Freak und möchte

Ich bin garantiert kein Linux Freak.

Cyblord -. schrieb:
> Aber entwickeln ohne IDE auf selbstgestricktem CLI Editor ist wild.

Es muß nicht der CLI-Editor sein, Geany find ich auch ganz toll !

Cyblord -. schrieb:
> Was treibt dich an unbedingt
> andere Leute volldiadaktisch auf dein System hinleiten zu wollen?

Weil die Leute, die mit meinem System werkeln "glücklich" damit sind, 
weil gesehen wird, was alles eingebunden wird.

Das Linux-System ist Mittel zum Zweck. Auf "meinem" System sind die 
Compiler eingerichtet und in den Verzeichnissen sehr viele 
Example-Programme für Controller enthalten, die einfach modifiziert 
werden können.

Bspw. existiert ein Verzeichnis stm32f4xx innerhalb diesem einige 
Projekte enthalten sind und hier gibt es 2 wichtige weitere 
Verzeichnisse, include und src, die Software im Umgang mit dem 
Controller enthalten.

Der Hauptvorteil besteht darin, dass es ein Setup für verschiedene 
Controller bereits gibt um das Hauptproblem (das wie du richtig sagst 
nach der Linux-Installation erst beginnt) zu verkleinern.

Oder anderst: das hier ist der Versuch, die Einstiegshürde für 
Controllerprogrammierung zu senken, ohne dabei auf Arduino zu setzen!

Ein Beispiel für Textdisplays und STM32F030 findet man im Anhang. 
Grundsätzlich kann hier mit Programmierversuchen begonnen werden, ohne 
am Anfang die ewig umfangreichen (aber wie ich finde sehr guten) 
Datenblätter "reference manual" und "user manual" studieren zu müssen.

Allerdings:

Cyblord -. schrieb:
> Das sollte ein ganz ganz privater Fetish bleiben.

hier gebe ich dir Recht, das dürfte wohl ein Fetisch von mir sein. 
Screenshot siehe Anhang

von Rene K. (xdraconix)


Lesenswert?

Was war eigentlich die Frage vom TO?

Im übrigen möchte ich keine Anleitungen von Leuten lesen, die nichtmal 
klar und deutlich auf den Punkt kommen können.

von .● Des|ntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

eine der "besten" Formulierungen, die mir mal unter kamen war:

"Jetzt schliesst man sich an den COM-Port an"

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Ralph S. schrieb:
> [Lebensgeschichte]
> Grundsätzlich bin ich für das Erklären am Überlegen, ob man für diese
> Erklärungen mit 2 USB-Sticks arbeiten soll:

Ich vermute ein ideologisches, kein technisches Problem. Ist der übliche 
Weg zu Mainstream, nicht edgy genug? Mach es so wie es hunderte von 
Linux Desktop-Distributionen machen: Ein Stick.

Und Ehrlich? Es besteht nun wirklich kein Mangel an vorhanden Linux 
Desktop-Distributionen. Es gibt keinen Grund eine ganze Distribution zu 
bauen wenn es nur um die Einrichtung einer Entwicklungsumgebung geht. 
Not invented here syndrom?

von Cyblord -. (cyblord)


Lesenswert?

Ralph S. schrieb:
> Weil die Leute, die mit meinem System werkeln "glücklich" damit sind,
> weil gesehen wird, was alles eingebunden wird.

Ist dein Ziel etwa die Leute glücklich zu machen? Interessantes Konzept. 
Kommt mir sehr sehr befremdlich vor.

> Aus meinem Umfeld wird immer wieder erstaunt darauf reagiert, wie und
> mit welcher Software ich Programme für Mikrocontroller schreibe.

Interessantes Umfeld. Nicht nur ist meinem Umfeld total egal dass ich 
mit Microcontrollern arbeite, was dem noch viel egaler ist, sind die 
verwendeten Tools dafür.

Ich meine klar man kennt diese typischen Unterhaltungen mit dem anderen 
Geschlecht auf Partys:

"Hey Süße soll ich dir mal zeigen wie ich auf meiner selbstgeschriebene 
IDE Microcontroller programmiere?"
"Oh ja geil zeig mir dein Custom Linux du versautes Stück..."

: Bearbeitet durch User
von Rbx (rcx)


Lesenswert?

Rene K. schrieb:
> Was war eigentlich die Frage vom TO?

Der muss 2 Partitionen auf den USBs erstellen. Ist doch kein Problem. 
Und im Zweifelfall, Live-Linux CD/DVD starten, und da dann die USBs 
formatiern.
Früher hatte ich auch mehrere Programme zusammen, die sowohl auf Linux 
und auf Windows laufen.
Also z.B. SciTE und auch Emacs und Vim gibt es auch für Windows, wie 
auch einen MC.
( 
https://www.chip.de/downloads/Midnight-Commander-for-Windows_131450741.html 
)

Das Problem ist halt dass Linux und Windows verschiedenen Formatierungen 
haben, und FAT32 auf beiden OS problemlos ist.

von .● Des|ntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

da die Kiste beim TO ja schon lief,
erstellt man davon nach Abzug möglicher privater Daten ein ISO-File
oder Clonezilla-Image und gut.

von Udo K. (udok)


Lesenswert?

Ralph S. schrieb:
> Hier fängt dann mein didaktisches Problem an:
>
> Ich habe zwar ein ISO-File erstellt, das das System enthält und von
> vorzugsweisen Windows-Nutzern gedownloaded und auf einen Stick gebracht
> werden kann:

Du willst ein bischen uC programmieren, und dafür ein Linux 
installieren?
Finde ich ziemlichen Overkill.  Zip alles zusammen.  Der Anwender 
entzipt es in einen Ordner, und legt los.  Da braucht er sich nicht mit 
Linux herumzuärgern. Alle wichtigen Tools laufen auf Windows. Schau dir 
an, wie es msys2 macht.

von Mark S. (voltwide)


Lesenswert?

Wer was Schlankes ohne klotzige IDE sucht, dem empfehle ich als 
Entwicklungsumgebung:
irgendein Linux
irgendein älterer PC
irgendein kontextsensitiver Editor und dann,
trara!
https://www.mikrocontroller.net/articles/C_ohne_Makefile
Hier zeigt Jörg Wunsch, wie man auf einfachstem Wege Kompilieren & 
Flashen in einem Rutsch erledigt.

von Rolf (rolf22)


Lesenswert?

Ralph S. schrieb:
> wie man auf relativ "ungefährliche" Art und Weise das
> Splitten des USB-Sticks in 2 Partitionen erklären kann?

Erklär einem DAU zunächst mal, was eine Partition IST. Und zwar so, dass 
er anschließend keinen Blödsinn anhand deiner Anleitung, ergänzt mit 
irgendwelchen Tipps aus dem Netz anrichten kann/wird. Damit wirst du 
genug zu tun haben.
Dinge zu erklären, die man nicht (wenigstens theoretisch) anfassen kann, 
versteht die Masse nicht wirklich – siehe elektrischer Strom, 
juristische Paragrafen oder eben das, was in einem Computer drin ist.

Wenn du es doch machen willst, dann überleg dir, ob du das Feedback 
verträgst.
Geh gleich nach Veröffentlichung deiner Anleitung zum Standesamt, lass 
dort deinen Namen ändern, zieh in eine andere Stadt, ohne dich 
umzumelden und besorg dir neue Telefonnummern und E-Mal-Adressen. Und 
besuch einen Gesichtschirurgen.  ;-)

: Bearbeitet durch User
von Klaus S. (kseege)


Lesenswert?

Ralph S. schrieb:
> Vielleicht gibt es Windowsprogramme die einen Stick partitionieren und
> mit unterschiedlichen Filesystemen versehen können und zudem auch
> ungefährlich sind

Es gibt seit langer Zeit "easy2boot", das erledigt das. ISO-File 
draufkopieren und ab geht die Lucie ...
Wie gefährlich es in den Händen eines DAUs ist, kann ich aber nicht 
beurteilen.

Just my 2 cents
Klaus (der soundsovielte)

von Joerg W. (joergwolfram)


Lesenswert?

Warum kann man nicht das Image via Rufus etc. flashen und beim ersten 
Start wird der Rest vom Stick automatisch als FAT32 angelegt und von 
dort dann in einen Prrojete-Ordner im Home-Verzeichnis gemountet?
Daten werden konsequent dort abgelegt und der Windows-Nutzer sieht im 
besten falle nur dieses Verzeichnis. Allerdings weiß ich nicht, ob das 
unter aktellen Win-Versionen noch problemlos geht, eine USB-Platte mit 
verschiedenen Partitionen (Luks/ext4 und FAT32) ging mit Win7 ohne 
Probleme, Win10 hat sich jedoch geweigert und wollte sie formatieren...

Jörg

von Andreas M. (amesser)


Lesenswert?

Ralph S. schrieb:
> Wird dieses ISO-File auf einen Stick ausgepackt und im Verzeichnis /boot
> das Programm

Ralph S. schrieb:
> In aller Regel ist ein fabrikfrischer Stick mit FAT32 formatiert
> (komplette Speicherkapazität).

Was meinst Du mit "auspacken"? Ich kenne es so, das das ISO mittels 
irgendeinem Tool (unter Windows z.B. das unsägliche Balea-Etcher) direkt 
auf den USB Stick gebraten wird. Warum eigentlich iso? Ist doch ein USB 
Stick da kann man sich die Klimmzüge ein gemeinsames Image für Sticks & 
optische Medien zu erstellen doch sparen? Es ist völlig wurscht wie der 
Stick vorher partitioniert war. Danach ist der Stick so partitioniert 
wie das .iso bzw. .img es vorgibt. Typischerweise findet sich dann ein 
großer unpartitionierter Bereich. Oder man machts wie beim RPI, da ist 
in dem image noch eine kleine Partition, die beim ersten boot 
automatisch auf den gesamten Stick ausgedehnt wird. Und wenn schon als 
Stick, dann die Parition doch bit als xyz-Fat, dann kommt man auch vom 
Windows einfach an die Daten ran....

von Hmmm (hmmm)


Lesenswert?

Ralph S. schrieb:
> Screenshot siehe Anhang

Hast Du den Editor irgendwo veröffentlicht?

von Ralph S. (jjflash)


Lesenswert?

Rene K. schrieb:
> Im übrigen möchte ich keine Anleitungen von Leuten lesen, die nichtmal
> klar und deutlich auf den Punkt kommen können.

Mußt du ja auch nicht! Das was ich gepostet hatte war eine Art 
"Brainstorming" wie ich gerne etwas machen würde.

Ziel ist es (und das geht unter Linux meiner Meinung nach am Besten), 
ein System zu haben, das von einem bereits installierten System 
vollkommen unabhängig ist, das nur gebootet werden muß und danach hat 
man komplett installierte Toolchains für die Familien: AVR, STM32, STM8, 
Padauk PFS und MCS-51.

Hier dann einfach in die Verzeichnisse wechseln und mit dem 
Programmieren "loslegen" können, weil eben die Toolchains inklusive zu 
verwendender Programmer k oder entsprechende Bootloader schon 
konfiguriert sind.

Dieses System soll entweder von einem USB-Stick laufen, oder auf 
ausrangierten (oder zu ausrangierenden) Computern laufen.

--------------------------------------------------------

Ich habe mir hier mal alles durchgelesen und gehe mal in mich (ob "Sinn" 
oder "Unsinn" meines Unterfangens) und melde mich eventuell (oder auch 
nicht), wenn ich mehr als mein ISO-File des Betriebssystems habe.

--------------------------------------------------------

Danke für Eure Posts !
Ralph

von Ralph S. (jjflash)


Lesenswert?

... und Cyblord, das kann ich mir jetzt nicht verkneifen:

Cyblord -. schrieb:
> "Hey Süße soll ich dir mal zeigen wie ich auf meiner selbstgeschriebene
> IDE Microcontroller programmiere?"
> "Oh ja geil zeig mir dein Custom Linux du versautes Stück..."

Der Spruch ist ja nicht schlecht, aber vor 20 Jahren (oder so), war dann 
eher der Anmachspruch von mir:

"Hey Süße, soll ich dir mal zeigen wie ich mit normalüblichen Sachen 
zeichnen und malen kann?"
Sichtlich nicht begeistert kam dann meistens im besten Fall ein: "wenn 
es denn sein muß", gefolgt von:

https://www.jjflash.de/zeichnungen.html

... und dann meistens eben doch ein "woooow" :-)

----------------------------------------------

Alles nicht immer so wirklich wichtig nehmen, weder Elektronik, noch 
Programmieren noch Malen und Zeichnen (und schon gar nicht vieles 
Geschreibsel hier)

von Klaus R. (klausro)


Lesenswert?

Ralph S. schrieb:
> Das Linux-System ist Mittel zum Zweck. Auf "meinem" System sind die
> Compiler eingerichtet und in den Verzeichnissen sehr viele
> Example-Programme für Controller enthalten, die einfach modifiziert
> werden können.

Das klingt interessant. Ich frage mich halt, ob man da ein eigenes 
Linux-System braucht. Stellst du deine Cide bzw. die Beispiele irgendwo 
zur Verfügung?

Also dass man evtl. auf einem {X|K}Ubuntu einfach ein "sudo apt install 
sdcc avr-gcc arm-gcc" eingibt, gefolgt von einem "tar xvpzf cide.tgz" 
und einem "ralphs_beispiele.tgz" und man das auch ohne eignes Linux 
ansehen könnte?

Letzten Endes ist der Editor "cide" auch eine Art IDE...

von Cyblord -. (cyblord)


Lesenswert?

Ralph S. schrieb:
> ... und Cyblord, das kann ich mir jetzt nicht verkneifen:

Tu dir keinen Zwang an.

> Der Spruch ist ja nicht schlecht

Denke schon. Ich bin mir ziemlich sicher dass dieser Spruch, in der 
gesamten Geschichte der Menschheit, noch nie zu einem Koitus geführt 
hat.


> "Hey Süße, soll ich dir mal zeigen wie ich mit normalüblichen Sachen
> zeichnen und malen kann?"
> Sichtlich nicht begeistert kam dann meistens im besten Fall ein: "wenn
> es denn sein muß", gefolgt von:
>
> https://www.jjflash.de/zeichnungen.html
>
> ... und dann meistens eben doch ein "woooow" :-)

Tja Künstlertypen ziehen bei Frauen, keine Frage.

: Bearbeitet durch User
von Ralph S. (jjflash)


Lesenswert?

Cyblord -. schrieb:
> Denke schon. Ich bin mir ziemlich sicher dass dieser Spruch, in der
> gesamten Geschichte der Menschheit, noch nie zu einem Koitus geführt
> hat.

Manchmal - glaub mir - will Man(n) den Koitus auch vermeiden und da ist 
der Mikrocontrollerspruch doch sicherlich absolut sinnvoll, oder?

Abgesehen davon: Woran erkennt man(n) dass man(n) alt wird? Genau, 
daran, dass der Koitus sicherlich nicht (mehr) die Triebfeder jeglichen 
Handelns ist!

Cyblord -. schrieb:
> Tja Künstlertypen ziehen bei Frauen, keine Frage.

:-) stimmt !

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Klaus R. schrieb:
> Also dass man evtl. auf einem {X|K}Ubuntu einfach ein "sudo apt install
> sdcc avr-gcc arm-gcc" eingibt, gefolgt von einem "tar xvpzf cide.tgz"
> und einem "ralphs_beispiele.tgz" und man das auch ohne eignes Linux
> ansehen könnte?
>
> Letzten Endes ist der Editor "cide" auch eine Art IDE...

Ich habe hier zwar kein Ubuntu zum Testen (ich weiß allerdings, dass das 
jemand anderes unter Ubuntu bereits getan hat) und von daher kann ich 
dir zumindest für avr-gcc zeigen was ich machen will.

Das hier angehängte Archiv arbeitet als "portable-version" was heißt: 
sämtliche Binaries sind in den Pfaden relativ zum Ordner 
"avr_programming" angelegt.

Du kannst also einfach das Archiv hier downloaden und in ein Verzeichnis 
deiner Wahl entpacken. Dort wird eben das Verzeichnis "avr_programming" 
angelegt.

Auf der Konsole kannst du nun in ein beliebiges Beispielprojekt wechseln 
und dort

make

eingeben. Das Programm wird übersetzt. Achtung: die Beispiele hier 
können für ATtiny44, ATtiny2313 oder auch ATmega168 oder ATmega328p 
sein. Für welchen Controller das Beispiel gemacht ist, kannst du sofort 
erkennen, wenn du dir das Makefile ansiehst.

Das Makefile ist so aufgebaut, dass du sehen kannst, wie die 
Projektdatei heißt, welche zusätzlichen Sourcen eingebunden werden 
sollen und welcher Programmer zu verwenden ist. Innerhalb dieses 
Makefile wird der funktionale Teil des Makefiles inkludiert, welches im 
übergeordneten Verzeichnis liegt:

../makefile.mk

Dort geschieht der eigentliche Compiler- und Linkerlauf.

Optionen für Makefile sind:

make all
make clean
make flash

Vielleicht magst du dir auch im Stammverzeichnis:

./genmakef

und

./tuidude

ansehen.

In jedem Beispielordner kannst du auch den eingangs erwähnten CIDE 
Kommandozeileneditor starten. Hier kannst du dann entweder über die 
Menüsteuerung ein - make all - und - make flash - absetzen, oder 
alternativ hierfür die Tasten F9 (für make all) und F8 (für make flash) 
verwenden.

Grundsätzlich kannst du auch bspw. Geany verwenden und bei den Kommandos 
zum erstellen make all , make clean und make flash eintragen.

:-) Zum Ansehen sollte das genügen.

Solltest du bspw. das Blink-Programm auf einem Arduino-Uno oder 
Arduino-Nano laufen lassen und das Programm in den Controller mittels 
des Bootloaders des Arduinos hochladen  wollen mußt du zum einen 
beachten, welche virtuelle Schnittstelle der Arduino besitzt (originale 
werden über ttyACM0m, Clone über ttyUSB0 angesprochen).

Zudem mußt du die Rechte haben, diese Schnittstellen beschreiben zu 
dürfen, dieses wird über die rules in /etc/udev/rules.d eingestellt.

Für eine USB2UART-Bridge mit CH340G muß es hier bspw. eine Regeldatei

89-ch340g.rules

geben (Name ist "fast" beliebig, Hauptsache die Datei endet mit .rules)

TTR{idVendor}=="1a86", ATTR{idProduct}=="7523", GROUP="dialout", 
MODE="0666"

Wenn du dieses nicht machen möchtest, kannst du den Controller auch als 
"root" flashen (allerdings ist das nicht so sehr zu empfehlen, als root 
sollte man nur dann arbeiten, wenn am System Einstellungen vorgenommen 
werden sollen.

-----------------------------------------------

Hinweis für alle anderen: Das hier ist nur zum Zeigen für Klaus R. und 
zeigt an einem Teil des von mir in Angriff genommenen "Linux-Projekts", 
was ich erreichen möchte:

Werkzeuge an die Hand zu geben, mittels der nach alter Väter sitte 
mittels Editor und Makefiles Programme geschrieben werden können.

Mir geht es vor allen Dingen darum, dass ein Newbie nicht eine gesamte 
Toolchain einrichten muß, bevor er loslegen kann. Mein Gedanke dahinter 
war also: Warum eine Toolchain einrichten, wenn man gleich das gesamte 
System mit eingerichteten Toolchains haben kann.

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Hmmm schrieb:
> Hast Du den Editor irgendwo veröffentlicht?

Im Anhang findest du das Binary des Editors und sollte auf jedem 64-Bit 
Linux in der Konsole laufen.

Die Sourcen müßte ich (weil extremer Aufwand und viel) aufarbeiten. 
Grundsätzlich basiert der Editor auf dem Editor, der dem 
FreePascal-Compiler beigelegt ist und ich habe den (mehr oder weniger 
stark) modifiziert, damit er für die C-Programmierung tauglicher ist, 
eine Syntaxhighlighting für C besitzt, Copy-Paste mittels STRG-C STRG-V 
funktioniert (in meiner Linuxversion wird auch automatisch eine 
Hilfedatei eingebunden, die grundsätzlich eine HTML-Datei ist) und die, 
damit man eben ein externes Makefile aufrufen kann, um ein paar 
Menufunktionen erweitert ist.

Mittels Shortcuts (F7) kann der Midnight-Commander aufgerufen werden um 
Dateioperationen vornehmen zu können und das kleinste Terminalprogramm - 
picocom - kann gestartet werden um serielle Ausgaben ansehen zu können.

Wenn du also den Editor ausprobieren magst, kannst du dir hier das 
Binary herunterladen (wobei jetzt wieder einige aufschlagen werden und 
sagen: ein ungeprüftes Binary unbekannter Herkunft werde ich nicht 
ausführen). Es bleibt dir belassen.

Und an Klaus R. noch ein Hinweis: Früher wurde CIDE tatsächlich als IDE 
bezeichnet. So geschehen von der Fa. Borland, die ab Turbo Pascal 6.0 
und Turbo C++ diese Oberfläche zur Entwicklung von Programmen benutzt 
hat. Dieses Framework nannte sich "Turbo Vision" und der Quellcode 
hierfür wurde etwa in 1997 freigegeben. Die Gruppe um FreePascal herum 
hat dieses Framework dann zu "Free Vision" adaptiert und genau hierauf 
basiert jetzt dieser Editor.

Und ja: in manchen Teilen bin ich ein "ewig gestriger", denn genau mit 
diesen Borland-Produkten (Turbo Pascal und Borland C++) habe ich Ende 
der 80er und Anfang der 90er programmiert! (und ich genieße das sehr, 
dass ich nach dieser Art und Weise auch heute noch werkeln kann... auch 
wenn ich für eine GUI Applikation mittlerweile entweder Lazarus oder 
auch den QT-Designer verwende... für Mikrocontroller ist mir allerdings 
der CIDE lieb und teuer)

Cyblord hat es gesagt: Fetisch eben ! ( :-) das merk ich mir einfach, 
weil gut )

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Ralph S. schrieb:
> Ein Beispiel für Textdisplays und STM32F030 findet man im Anhang.

Furchtbar! Normale Menschen installieren sich die STM32 Cube IDE, oder 
die Arduino IDE und den STM32duino Core. Dann hat man auch eine Chance 
auf Hilfe von mehr Leuten als nur dir.

Ralph S. schrieb:
> Oder anderst: das hier ist der Versuch, die Einstiegshürde für
> Controllerprogrammierung zu senken, ohne dabei auf Arduino zu setzen!

Das ist Unfug. Die IDE von ST macht es bereits optimal, wenn einem 
Arduino eine Nummer zu primitiv ist.

Ralph S. schrieb:
> Grundsätzlich kann hier mit Programmierversuchen begonnen werden, ohne
> am Anfang die ewig umfangreichen (aber wie ich finde sehr guten)
> Datenblätter "reference manual" und "user manual" studieren zu müssen.

Das ist ein didaktischer Totalausfall. Wer keinen Bock auf diese Doku 
hat soll sich ein anderes Hobby suchen.

: Bearbeitet durch User
von Hmmm (hmmm)


Lesenswert?

Ralph S. schrieb:
> Grundsätzlich basiert der Editor auf dem Editor, der dem
> FreePascal-Compiler beigelegt ist

Interessant, ich wusste nicht, dass es aktuell noch IDEs im 
Borland-DOS-Stil gibt.

Ich habe im letzten Jahrtausend mal mit xwpe gearbeitet, das ging auch 
in die Richtung, wird aber leider schon ewig nicht mehr 
weiterentwickelt.

von Ralph S. (jjflash)


Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:
> Furchtbar! Normale Menschen installieren sich die STM32 Cube IDE, oder
> die Arduino IDE und den STM32duino Core. Dann hat man auch eine Chance
> auf Hilfe von mehr Leuten als nur dir.

Aha !

Sehr furchtbar es anderst machen zu wollen! Noch furchtbarerer nicht die 
Arduino-IDE zu wollen. Am allerfurchtbarererersten ist es dann, "Hilfe" 
von mir zu bekommen!

Hmmmm, Stefan, ich weiß nicht, wie oft ich deine "Bücher" angesehen habe 
(und auch Auszubildenden gezeigt habe: allesamt konnten ohne zusätzliche 
Erklärungen nichts damit anfangen).

Das hier... ist irgendwie der Versuch, die Lücke zwischen Arduino und 
STM32duino core und Cube IDE zu schließen! Sieht man das, was die Cube 
IDE produziert am Anfang, erschlägt einen das und ist man kein 
eingefleischter (digital)Elektroniker tut man sich nicht nur ein 
bisschen schwer damit.

Wie gesagt, das ist ein Versuch es anderst zu machen und die 
Einstiegshürde nach unten zu bewegen (und ich bin mir noch nicht sicher, 
ob ich mein Ziel erreichen werde).

Sherlock 🕵🏽‍♂️ schrieb:
> Ralph S. schrieb:
>> Grundsätzlich kann hier mit Programmierversuchen begonnen werden, ohne
>> am Anfang die ewig umfangreichen (aber wie ich finde sehr guten)
>> Datenblätter "reference manual" und "user manual" studieren zu müssen.
>
> Das ist ein didaktischer Totalausfall. Wer keinen Bock auf diese Doku
> hat soll sich ein anderes Hobby suchen.

Kein Einsteiger liest bevor er anfängt erst einmal die 93 Seiten des 
Datenblatts eines STM32F030 um danach die 775 Seiten (RM0360) Reference 
manual (auf englisch) zu lesen.

Ein didaktischer Totalausfall ist, wenn an sich interessierte mit 
solchen Dingen totgeschlagen werden. Was kommt denn nach einem ersten 
Blinkprogramm? Noch bevor gewußt wird, was bspw. ein I2C-Bus ist muß man 
sich durch die Register des Controllers kämpfen, ohne zu wissen, was da 
eigentlich genau eingestellt werden kann?

Aber wir können auch gerne einen Schritt "kleiner" werden (und nur 
einmal so die Ports A und C einschalten):

    SET_BIT(RCC->AHBENR, RCC_AHBENR_GPIOAEN + RCC_AHBENR_GPIOCEN);

Glaubst du wirklich (didaktisch gesehen), dass ein Anfänger damit 
irgendetwas anfangen kann? (dieses Beispiel ist von deiner Seite).

Im besten Fall kopiert er si    SET_BIT(RCC->AHBENR, RCC_AHBENR_GPIOAEN 
+ RCC_AHBENR_GPIOCEN);ch das oder läßt sich das von Cube-IDE erstellen 
und verwendet es, ohne auch nur zu ahnen, was da passiert !

Über Didaktik läßt sich trefflich streiten und vor allen Dingen darüber, 
wie etwas aufbereitet werden kann.

-------------------------------

Aber: nachdem schon allein mein Versuch, und der Ansatz etwas anderst 
machen zu wollen hier ultraheftig "abgestraft" worden ist, begrabe ich 
mein "Projekt" noch bevor es begonnen hat und halte mich an die 
Empfehlung von Cyblord und bin glücklich mit meinem System und laß 
andere in Ruhe,

gehabts Euch wohl !

von Ralph S. (jjflash)


Lesenswert?

Hmmm schrieb:
> Interessant, ich wusste nicht, dass es aktuell noch IDEs im
> Borland-DOS-Stil gibt.

gibts ja eigentlich auch nicht, das ist mein ganz eigenes "Spielzeug" 
(aber wie oben geschrieben, habe ich gerade mein Projekt beerdigt)

von Harald K. (kirnbichler)


Lesenswert?

Ralph S. schrieb:
> programmiere ich
> ausschließlich mit Editor und Makefile.

Und einen Debugger nutzt Du gar nicht?

von Rbx (rcx)


Lesenswert?

Ralph S. schrieb:
> gibts ja eigentlich auch nicht, das ist mein ganz eigenes "Spielzeug"
> (aber wie oben geschrieben, habe ich gerade mein Projekt beerdigt)

Du könntest auch mal https://grml.org ausprobieren. War früher auch sehr 
schön.

Und: Versuch doch auch mal (wenn du Zeit hast) OpenIndiana (also die 
Nachfolger von Solaris) zu installieren, und mit Programmen erweitern 
und schau mal, ob da auch allgemeine Treiber im Gang sind, z.B. für Maus 
oder für Internetverbindungen oder für Mikrocontroller-Verbindungen.
(https://de.wikipedia.org/wiki/OpenIndiana
https://www.openindiana.org)

..und darüber hinaus vielleicht auch noch ein Parallelprogramm für 
mehrere Pcs, 
ausprobieren(https://de.wikipedia.org/wiki/Message_Passing_Interface).

Und dann auch noch (ausprobieren:)
https://www.kali.org ;)

von Cyblord -. (cyblord)


Lesenswert?

Ralph S. schrieb:

> Sehr furchtbar es anderst machen zu wollen! Noch furchtbarerer nicht die
> Arduino-IDE zu wollen.

Nein das hat Stefan nicht gesagt. Er verweist explizit auf die Cube IDE 
statt Arduino IDE.

> Wie gesagt, das ist ein Versuch es anderst zu machen und die
> Einstiegshürde nach unten zu bewegen (und ich bin mir noch nicht sicher,
> ob ich mein Ziel erreichen werde).

Deine Zielgruppe scheint unklar definiert zu sein. Einerseits ein 
Microcontroller Entwickler mit DOS Editor und Linux Toolchain. Aber 
trotzdem ein maximaler DAU der keine Datenblätter lesen kann und keinen 
USB Stick formatieren kann.
Das passt nicht.

An wen richtet sich dein Angebot? Erfahrene Entwickler oder 
Arduino-Totalausfälle?

Steuerungen für Nicht-Entwickler gibt es, nennt sich SPS.

Alles darunter ist ENTWICKELN. D.h. verstehen, Programmieren, 
Datenblätter, Elektronik usw. usw.
Dazu gehören auch SW Tools, Toolchains usw.

Man kann, wie Arduino, oder damals C-Control, BASIC Stamp und wie sie 
alle hießen, versuchen dem DAU das Entwickeln nahe zu bringen.
Das klappt in kleinem Rahmen, manchmal.
Und es klappt vor allem für die paar Prozent die das als Einstieg ins 
echte Entwickeln nehmen. Für alle andere klappt es kurz und danach 
machen die was anderes.

Ich würde tatsächlich den kompletten Ansatz, hier irgendwas für DAUs zu 
machen überdenken. Denn wozu? Mach was sinnvolles, anspruchsvolles für 
von einem Entwickler für Entwickler.

: Bearbeitet durch User
von Thomas B. (franzbing)


Lesenswert?

So ein narrensicheres System würde mir bestimmt helfen beim angedachten 
leichten Einstieg ins PRogrammieren von einfachen uC-Anwendungen ohne 
Arduino.
Bin gespannt.

Ist es nicht so, dass "- auspacken des Files auf USB-Stick" die 
beschreibbare (Linux-) Partition mitbringt? Sofern sie beim ISO-Bauen 
bereitgestellt wird!

Mich interessiert hierbei, wie ich so ein ISO-Image für meine Zwecke 
erstelle.
Da gäbe es wohl xoriso, aber die Doku ist mir zu langatmig für meine 
Experimente.

Für den Datenaustausch mit Windows-Systemen wäre eine FAT32-Partition 
statt ext4 wohl am besten.

von Cyblord -. (cyblord)


Lesenswert?

Thomas B. schrieb:
> So ein narrensicheres System würde mir bestimmt helfen beim angedachten
> leichten Einstieg ins PRogrammieren von einfachen uC-Anwendungen ohne
> Arduino.
> Bin gespannt.

Wieso benötigst du für so einen Einstieg ein möglichst einfaches und 
narrensicheres System? Was du vor hast, ist nicht einfach. Und es ist 
nicht narrensicher.
Es erfordert, Wissen, es wird eine Lernkurve haben, es erfordert 
Aufwand.
Aber wo ist das Problem dabei?

: Bearbeitet durch User
von Bauform B. (bauformb)


Lesenswert?

Thomas B. schrieb:
> Ist es nicht so, dass "- auspacken des Files auf USB-Stick" die
> beschreibbare (Linux-) Partition mitbringt? Sofern sie beim ISO-Bauen
> bereitgestellt wird!

Ja, meistens ist es so. Man sollte allerdings sagen "Sofern sie beim 
Bauen des Files bereitgestellt wird". Ein ISO-Image ist für diese 
Anwendung viel zu kompliziert und unnötig, wer hat schon noch einen 
CD-Brenner? "Image" ist schon der richtige Ausdruck, aber wir brauchen 
(nur) ein Image von einem USB-Stick.

Ich würde es ungefähr so versuchen:
 - eine Debian-Installation per netinst auf einen neuen USB-Stick
 - dabei gleich alle gewünschten Partitionen einrichten
 - von dem Stick booten und die zusätzliche Software installieren
 - mount -o remount,ro /
 - mount /einen/anderen/Datenträger /mnt
 - dd if=/dev/sda of=/mnt/file.image

"file.image" kann man dann auf andere USB-Sticks kopieren, genau wie 
diese iso-Files. Um den Bootloader muss man sich normalerweise nicht 
kümmern, der wird 1:1 mit kopiert; man muss allerdings das BIOS-Bootmenü 
benutzen.

Ja, natürlich fehlen da noch einige Feinheiten, z.B. dass nachher nicht 
unnötig auf den Stick geschrieben wird. Ich würde so eine Installation 
auch ohne systemd machen, mangels Desktop wird der ja nicht gebraucht.

von Ein T. (ein_typ)


Lesenswert?

Ralph S. schrieb:
> Ziel ist es (und das geht unter Linux meiner Meinung nach am Besten),
> ein System zu haben, das von einem bereits installierten System
> vollkommen unabhängig ist, das nur gebootet werden muß und danach hat
> man komplett installierte Toolchains für die Familien: AVR, STM32, STM8,
> Padauk PFS und MCS-51.

Ich finde es gut, daß Du anderen helfen möchtest, stelle mir allerdings 
die Frage, ob Dein Weg besonders glücklich gewählt ist. Wenn es im 
Wesentlichen darum geht, ein fertig installiertes System zur Verfügung 
zu stellen, würde ich eher an so etwas wie Container oder VM-Images 
denken, womöglich auch an Ansible, Chef oder Puppet für ein 
automatisiertes Setup... oder man könnte einfach ein (womöglich 
virtuelles) Debian- oder RPM-Paket mit entsprechenden Abhängigkeiten 
(und eventuell PostInstall-Skripten) zur Konfiguration bauen und 
verteilen. Dieses Konstrukt, das von einem Anfänger auf einen USB-Stick 
montieren und ihn dann davon booten zu lassen... ich fürchte, das wird 
sehr viel Arbeit, zumal einem Anfänger ja definitionsgemäß schon die 
mindesten Grundlagen fehlen dürften.

von Peter D. (peda)


Lesenswert?

Ralph S. schrieb:
> Hier dürften dann in relativ absehbarer Zeit Gebrauchtrechner/Notebooks
> anfallen, die für fast alles (außer Spielen) noch geeignet sein dürften
> und für genau so ein Live-System geeignet.

Deine Angst ist unbegründet. Nur weil der Support ausläuft, sind XP, W7, 
W10 nicht plötzlich gesperrt. Sie laufen alle weiterhin.
Und auch die Größe von Atmel Studio 7 dürfte keinerlei Problem sein, auf 
typischen PCs.
Man muß auch nicht das Studio starten, sondern kann natürlich auf der 
Kommandozeile über eine Batch compilieren und flashen.
Der Pfad sollte schon gesetzt sein bzw. ist ja bekannt:
C:\Program Files 
(x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin;C:\Program 
Files (x86)\Atmel\Studio\7.0\shellutils

Was aber wirklich Bauchschmerzen bereiten dürfte, einem bisherigen 
Windowser schnell mal eben ein Linux unterzujubeln. Das geht zu 99% in 
die Hose.

Auch vom Stick zu booten, mögen die wenigsten. Die interne SSD ist doch 
nen ordentlichen Zacken schneller. PCs laufen ja typisch 24/7/365 ohne 
Neustart. Entweder Schlaftaste drücken oder Deckel zu.

von Michael (Gast)


Lesenswert?

Ralph S. schrieb:
> das hier ist der Versuch, die Einstiegshürde für
> Controllerprogrammierung zu senken, ohne dabei auf Arduino zu setzen!
So wie Josef mit seiner BO8 die Einstiegshürden senkt?

Aha.
Die Taktik dabei ist den User derart mit einem exotischen Minimal Linux 
zu verwirren das er nie zur MCU Programmierung kommt und deswegen auch 
keine Probleme damit hat?

Die Einstiegshürde ist längst sich lange genug am Stück konzentrieren zu 
können UND den Willen zum Lernen zu haben, auch wenn es schwierig wird.
Nach Jahren Smartphone, Tiktok, YT und Co. ist alles unzumutbar geworden 
das mehr als 15Sek Aufmerksamkeitsspanne erfordert.

Wem die Hürden 2025 noch zu hoch sind, dem ist nur durch eine 
Gehirntransplantation zu helfen.

von Rbx (rcx)


Lesenswert?

Ein T. schrieb:
> würde ich eher an so etwas wie Container oder VM-Images
> denken,

Ja, gell?
Kann er auch ausprobieren, gerade bei den aktuellen Windows.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Ralph S. schrieb:
> Sehr furchtbar es anderst machen zu wollen!

Mit furchtbar meinte ich den Borland Style der IDE. Ich denke, dass er 
junge Leute (die dieses Jahrtausend geboren wurden) abschreckt, weil sie 
diesen Anblick nicht gewohnt sind.

Ralph S. schrieb:
> Kein Einsteiger liest bevor er anfängt erst einmal die 93 Seiten des
> Datenblatts eines STM32F030 um danach die 775 Seiten (RM0360) Reference
> manual (auf englisch) zu lesen.

Das ist deine Meinung. Meine ist anders. Vor allem sollte man meiner 
Meinung nach nicht empfehlen/unterstützen, ohne die Doku anzufangen.

Ralph S. schrieb:
> Noch bevor gewußt wird, was bspw. ein I2C-Bus ist muß man
> sich durch die Register des Controllers kämpfen, ohne zu wissen, was da
> eigentlich genau eingestellt werden kann?

So haben viele Leute den Beruf erfolgreich erlernt. Ich konnte den 
kompletten Schaltplan des C64 und seine CPU erklären, bevor ich den 
ersten angefasst habe. Mein erster Computer, den ich danach anfassen und 
später umbauen durfte, war ein Z80 System.

Cyblord -. schrieb:
> Ich würde tatsächlich den kompletten Ansatz, hier irgendwas für DAUs zu
> machen überdenken.

Sehe ich auch so, denn Arduino gibt es bereits und hat genau diese 
Zielgruppe. Ich sehe keine Chance, den Einstieg weiter zu vereinfachen - 
außer mit Scratch.

Ein T. schrieb:
> Wenn es im
> Wesentlichen darum geht, ein fertig installiertes System zur Verfügung
> zu stellen, würde ich eher an so etwas wie Container oder VM-Images
> denken,

Ich auch. Denn so bin ich es von Schulungen gewohnt, wo man seinen 
eigenen Laptop mitbringen sollte. Voraussetzung war dann ein Vmware 
Player oder Virtualbox. Alles andere hat man als Image bekommen - 
schneller und zuverlässiger kriegst du keine Entwicklungsumgebung ans 
Laufen.

Dabei war der Rechner weiterhin gleichzeitig voll funktionsfähig, mit 
allen gewohnten installierten Programmen. Das ist auch ein wichtiger 
Punkt. Wer will schon beim Lernen auf seinen Web Browser und seine 
Kommunikations-Tools verzichten?

: Bearbeitet durch User
von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Eigentlich (eigentlich gibt es das Wort "eigentlich" nicht) wollte ich 
hier nichts mehr dazu schreiben weil mein Projekt schon am Start 
"verreckt" ist.

Aber einfach nur mal um Missverständnisse aufzuräumen:

Zielgruppe wäre gewesen:

- User unter Windows, die zum einen ein Linux gerne angesehen hätten 
ohne es installieren zu müssen
- User, die warum auch immer, genötigt waren / sind mit Arduino zu 
werkeln (hier im Besonderen an Berufsschulen u.a. in Ausbildungsberufen 
Elektronik für Geräte und Systeme sowie Physiklaborant (diese an einem 
Produkt namens "Sensebox" https://sensebox.de/ mit dem scheinbar viel 
Geld verdient wird und sehr unsäglich dann unter etwas "programmieren" 
müssen, was sich "blockly" nennt https://sensebox.de/de/blockly.html )
- Diejenigen User eben, die einen Schritt weiter als Arduino gehen 
möchten, aber nach Arduino totgeschlagen werden (und nein lieber Stefan, 
ich bin ganz im Gegenteil nicht Gegner vom Lesen eines Datenblatts, ohne 
geht es bei µC nicht wirklich, aber ein Einstieg ist bei einem 
"Verzehrfähigen" System leichter).

Grundsätzlich hätte / ist "mein" eingerichtetes Linux ein (fast) 
vollwertiges System und die Menschen meiner Zielgruppe haben - auch im 
Zuge von Unterweisungen - entweder einen komplett lauf- und bootfähigen 
Stick von mir erhalten und arbeiten auch damit oder haben das auf einem 
alten Notebook installiert.

Für die Geschwindigkeitsfanatiker: Auf einem lenovo x230i  4 GB Ram  
i3-3120 und einem SanDisk Ultra USB 3.0 mit 64 GB bootet das System 
innerhalb von ca. 30 Sekunden.

Für diejenigen, die hier gepostet haben (ohne Ironie: ein dankeschön 
hierfüg) möchte ich sagen, dass das erstellen des ISO-Files und das 
"bootfähigmachen" des Sticks kein Problem ist. Hier hatte ich mich wohl 
falsch ausgedrückt gehabt. Das ISO-File "auspacken" ist das falsche 
Wort, hier hätte ich schreiben müssen "den Inhalt des ISO-Files, nicht 
die ISO-Datei selbst, auf den Stick kopieren". (siehe auch Screenshots).

Nach Ausführung eines Programms im Ordner Boot ist der Stick bootfähig. 
Mir ging es darum, um aus dem Stick ein (fast) vollwertiges System zu 
machen, auf dem selbstverständlich auch gespeichert werden kann, mehr 
nicht.

Cyblord -. schrieb:
> Deine Zielgruppe scheint unklar definiert zu sein. Einerseits ein
> Microcontroller Entwickler mit DOS Editor und Linux Toolchain. Aber
> trotzdem ein maximaler DAU der keine Datenblätter lesen kann und keinen
> USB Stick formatieren kann.
> Das passt nicht.

Zu meiner "Zielgruppe" habe ich oben ja schon geschrieben gehabt und - 
wie du richtig geschrieben hast - ist mein Editor eher mein eigener 
Fetisch (der aber auf der Konsole mein Lieblingseditor ist - ein 
DOS-Editor ist es nicht, sondern eben ein Linux-Konsolen-Editor die 
1000ste und mir lieber als mcedit, nano oder vim)

Zugegeben, die, die "meinen" Stick verwenden, arbeiten nicht mit dem 
Kommandozeileneditor,  sondern mit Geany (siehe Screenshots).

Michael schrieb:
> Die Taktik dabei ist den User derart mit einem exotischen Minimal Linux
> zu verwirren das er nie zur MCU Programmierung kommt und deswegen auch
> keine Probleme damit hat?

Dieses Linux ist nicht so wirklich minimalistisch, denn installiert ist:

- XFCE-Desktop
- logischerweise WLan
- LibreOffice
- Firefox Version 133
- die (von mir nicht geliebte) Arduino-IDE 1.8.13
- Geany (als Programmiereditor)
- gimp
- Toolchain: arm-none-eabi-gcc (auch mit STM32Cube_Programmer), avr-gcc 
(natürlich mit avrdude), sdcc
- sehr viele Beispielprogramme zu den Familien STM32 (verwendet 
libopencm3), STM8, AVR, Padauk PFS - XFCE-Desktop
- FreePascal (wenn es denn sein muß, weil in einer Berufsschule das 
tatsächlich noch gelehrt wird)

Grundsätzlich sollte der Stick (und wird bei denen, die ihn haben, als 
solcher verwendet) dazu dienen, in C programmieren zu lernen (erst 
einmal komplett weg von µC) um bspw. auch das Zusammenspiel von 
Präprozessor, Linker und Compiler zu zeigen.

So, ich hoffe (wünsche mir für mich selbst), dass ich mich hier in 
meinem eigenen Thread zurückhalten kann und bin (wie es oben gesagt 
wurde) glücklich damit, dass ich dieses System hier habe.

Vielleicht, damit ihr noch etwas mehr kritisieren könnt, könnt ihr auch 
mal das hier ansehen, was für mich am entstehen ist und das von "meiner 
Zielgruppe" jetzt schon in Teilen verwendet wird (C und die 
Onlinesimulationen):

https://www.jjflash.de/cidehp/

Diese, am Entstehen befindliche Webseite, ist eine kleine Teilmenge 
dessen, was mein "Fetisch-Editor" als Hilfedatei mitbringt (die auch 
eine HTML-Datei im Textformat ist) und die ich noch für das Web in 
"Form" bringen muß.

----------------------------------

So, ich hoffe ich halte mich an meine eigene Vorgabe und werde hier in 
diesem Thread nichts mehr posten (versprechen kann ich das aber nicht) 
und widme mich jetzt einem weiteren meiner "Projekte", von dem ich nun 
gar nicht weiß, ob ich das hier zeigen soll oder nicht: Ein weiteres 
"intelligentes" Display, welches die ESC-Sequenzen der Farben eines 
Terminals parst und über UART seine Informationen enthält. Es kann eben 
Texte (auch) farbig darstellen, beherscht Zeilenvorschub, Linefeed, 
Tabulator etc. und scrollt den (Text)inhalt bei erreichen des unteren 
Randes nach oben. Prinzipiell fertig und ich route gerade Platinchen für 
mehrere Anschlußbelegungen von TFT-Displays (vorzugsweise mit ST7735 
Controller... und hier mein kleines Lieblingsspielzeug 160x80 Pixel)...

Aber wie gesagt weiß ich nicht, ob nach dieser Pleite hier das gezeigt 
werden sollte !

von Rolf (rolf22)


Lesenswert?

Ralph S. schrieb:

> Manchmal - glaub mir - will Man(n) den Koitus auch vermeiden und da ist
> der Mikrocontrollerspruch doch sicherlich absolut sinnvoll, oder?

Dann geht man(n) aber nicht zu Partys, wo solche Gefahren lauern. ;-)

Vor 50 Jahren lief es übrigens gaaanz anders, z. B. so:
"Ich habe ein ganz tolles schnelles Modem am Atari, das führe ich gern 
mal vor."
--- "Wenn Sie auch nur einen Knopf aufmachen, schreie ich!"

von Michael (Gast)


Lesenswert?

Ralph S. schrieb:
> - User unter Windows, die zum einen ein Linux gerne angesehen hätten
> ohne es installieren zu müssen
Ubuntu Live System

> - User, die warum auch immer, genötigt waren / sind mit Arduino zu
> werkeln (hier im Besonderen an Berufsschulen u.a. in Ausbildungsberufen
Dein Punkt ist welcher?
Inwiefern hindert einem die Arduino IDE weiter zu gehen?

> Elektronik für Geräte und Systeme sowie Physiklaborant (diese an einem
> Produkt namens "Sensebox" https://sensebox.de/ mit dem scheinbar viel
> Geld verdient wird und sehr unsäglich dann unter etwas "programmieren"
> müssen, was sich "blockly" nennt https://sensebox.de/de/blockly.html )
Wieder: Dein Punkt ist welcher?
Was hinder diese User irgendeine der äußerst zahlreichen Wege zu gehen 
die ihnen besser passen?

> - Diejenigen User eben, die einen Schritt weiter als Arduino gehen
> möchten, aber nach Arduino totgeschlagen werden
Durch was oder wen?
Wer kein DB lesen will, ist in jeder IDE, in jeder Sprache, unter jedem 
OS äußerst beschränkt in seinen Handlungen.

von Rene K. (xdraconix)


Lesenswert?

Wozu brauche ich denn bei einem Live-Linux zum "programmieren" Gimp, 
LibreOffice, OpenTTD, VirtualBox, Skat.... Ich verstehe denn Sinn 
dahinter nicht?! Wieso sollte ich mir ein Livelinux auf einen Stick 
ziehen... Um dann doch "bloß" via Texteditor zu programmieren, ich 
verstehe den Aufwand dahinter nicht?! Sorry, aber mir ergibt sich der 
Sinn nicht. Was hat jemand davon?

von Harald K. (kirnbichler)


Lesenswert?

Da hat man was eigenes, wie beim Jodeldiplom.

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.