Forum: Projekte & Code CH32V003-J4M6: Einfacher Rechteckgenerator 0,5 Hz 20 kHz


von Ralph S. (jjflash)



Lesenswert?

... der wohl einmillionsteundeine Rechteckgenerator oder noch nie war 
blinken so schön wie heute!

###############

Spaß beiseite, da ich am Aufarbeiten von mehreren kleinen und einem 
großem Projekt bin stelle ich hier das einfachste vor, einen Taktgeber, 
den ich für ein anderes Projekt benötigt habe (und doch tatsächlich 
keinen Timer 555 hier habe).

Auch wenn der Aufbau jetzt mit einem 16-Pin Chip realisiert wurde, ist 
er für einen CH32V003-J4M6 gedacht, den ich hier schlicht aus der 
Tatsache heraus verwendet habe, weil ich mir meinen letzten 8-Pin Chip 
zerstört habe. Die Firmware verwendet ausschließlich die Pins, die auch 
auf einem J4M6 vorhanden sind.

Die Software produziert eine Frequenz von 0,5Hz .. 20 kHz in 4 
Frequenzbereichen. Welcher Frequenzbereich aktiv ist, wird über 4 
Leuchtdioden angezeigt. Die Frequenz selbst wird über einen 
Trimmer/Potentiometer eingestellt. Der Trimmer fungiert als 
Spannungsteiler und diese Spannung wird analog vom VH32V003 eingelesen 
und dementsprechend wird eine Frequenz erzeugt.

In Ermangelung genügender GPIO's des 8-Pin Chips wurde die LED Anzeige 
über eine Wired Logik (siehe Schaltplan) realisiert.

Grundsätzlich könnte sich der Rechteckgenerator für Einsteiger eignen, 
weil in der Firmware nachgesehen werden kann, wie man - wenn auch nur 
mittels Polling - eine analoge Spannung einliest und wie man Timer 2 und 
von einen von diesem ausgelösten Interrupt verwenden kann.

Da ich momentan in einer Art "Rausch" bin, kleinere Schaltungen auf ein 
PCB zu setzen um sie auf einem Steckbrett nutzen zu können (siehe Foto: 
sehr kleiner Programmer minichlink kompatibel und Picomon3) wird auch 
dieser Rechteckgenerator auf meiner nächsten PCB Platz finden.

Für denjenigen der sich aus Schaltung oder Firmware etwas entnehmen 
kann: Viel Spaß damit.

Ein Video vom Rechteckgenerator gibt es auch:

https://www.youtube.com/watch?v=6X88YehenaM

von Mi N. (msx)


Lesenswert?

Ralph S. schrieb:
> Grundsätzlich könnte sich der Rechteckgenerator für Einsteiger eignen,

Dann aber bitte nicht mit einem exotischen µC, sondern mit Arduino auf 
ATmega328 (o.ä) oder RP2040 Basis. Gerade bei Letzterem ist die Hardware 
fix und fertig und für wenige Euro zu beschaffen. Einfach USB 
anschließen und loslegen. Im Netz finden sich viele Beispiele, die auch 
Sinus oder beliebige Signalformen erzeugen können.
Schnell mal geStartpaged: 
https://www.instructables.com/Arbitrary-Wave-Generator-With-the-Raspberry-Pi-Pic/

von Harald K. (kirnbichler)


Lesenswert?

Mi N. schrieb:
> Dann aber bitte nicht mit einem exotischen µC, sondern mit Arduino auf
> ATmega328 (o.ä) oder RP2040 Basis.

Warum nicht gleich mit einem Raspbery Pi 5?

von Ralph S. (jjflash)


Lesenswert?

Mi N. schrieb:
> Dann aber bitte nicht mit einem exotischen µC

Die Frage ist, ob ein CH32V003 noch exotisch ist? Für den gibt es 
mittlerweile einige Beispiele und sogar eine Arduino Unterstützung (wenn 
man das mag).

Mi N. schrieb:
> RP2040 Basis. Gerade bei Letzterem ist die Hardware
> fix und fertig und für wenige Euro zu beschaffen.

Wenn man den auf ein eigenes (sehr kleines) PCB setzen möchte ist ein 
RP2040 schon etwas schlecht handbar (löten).

Im Übrigen finde ich den Raspberry Pi pico relativ unhandlich was den 
Upload anbelangt. Die "Lösung" mit einem Programmer für das Steckbrett 
und nur einer singlewire Verbindung zum Controller ist (aus meiner Sicht 
der Dinge) schon nicht schlecht. Demnächst werde ich auch den Programmer 
mit dem 8-Pin Controller fürs Steckbrett veröffentlichen so ich meine 
Dateien alle aufgearbeitet habe.

Zudem: wenn ich nur einen Rechteckgenerator benötige ist das mit Kanonen 
auf Spatzen geschossen. Mit dem CH32V003 beschäftige ich mich 
ursprünglich, weil er einfach nur sehr billig ist.

Außerdem, sieht man von dem nur halb so großen Speicher des v003 ab, ist 
er dem ATmega328 haushoch überlegen (auch wenn manche da andere Meinung 
sind).

Mit Einsteiger meinte ich diejenigen, die in den v003 einsteigen möchten 
oder eingestiegen sind.

Im Übrigen sind im Archiv alle Dateien enthalten, die ein Compilieren 
der Firmware ermöglichen, auch das CH32FUN Framework. Einzig ein 
systemweit verfügbarer riscv-none-elf-gcc Compiler muß verfügbar sein. 
Ein vereinfachtes Makefile, welches einen funktionalen Compiler-, 
Linker- und Flashergang vornimmt ist enthalten. Dieses Makefile sollte 
auch von einem Anfänger durchschaubar sein.

Man hätte auch monieren können, dass das ganze nur unter Linux und nicht 
unter Windows funktioniert.

Mi N. schrieb:
> Im Netz finden sich viele Beispiele, die auch
> Sinus oder beliebige Signalformen erzeugen können.

Wenn ich aber momentan nur einen Rechteck gebraucht habe?

Eine ähnlich kleine Schaltung habe ich für Sinus im Sinn, im Stile von 
"derguteweka"

Beitrag "Sehr einfacher Sinusgenerator, Digitalelektronik Projekt"

als DDS Generator. Letztlich - wenn ich das wirklich realisiere - weiß 
ich noch nicht auf welcher Plattform ich das machen mag. Sicherlich 
nicht wie Weka in Assembler, zumindest nicht auf einem ATtiny13, weil 
ich hier zu wenig Spielraum für Erweiterungen habe. Hier bin ich dann am 
überlegen, ob ich vom DDS dann evtl. weggehe und das mit STM32F072 
realisiere, weil der einen DAC hat oder vllt. dann doch wieder mit 
CH32V003.

Warum mit Hardware X ein "Projekt" Y realisiert wird (Anführungszeichen, 
weil ich das hier schon fast nicht als Projekt bezeichnen mag) sollte 
nicht Bestandteil einer Diskussion des Projektes sein.

von Ralph S. (jjflash)


Lesenswert?

Harald K. schrieb:
> Warum nicht gleich mit einem Raspbery Pi 5?

Ich hätte noch einen Ryzen 9 mit Meilhaus I/O Card im Angebot, 
allerdings müßte ich dann diesen Rechner immer neben den Versuchsaufbau 
schleppen (da wäre dann das Aufstellen des Funktionsgenerators 
einfacher).

:-) :-) :-) außerdem glaube ich, dass das Switchen von I/O's mit einem 
Controller schneller vonstatten geht als mit dem Raspberry

====> dieser Beitrag ist nicht so wirklich ernst gemeint!

von Jens M. (schuchkleisser)


Lesenswert?

Sehr interessant, aber zwei Aber:

1. Die 4. LED ist eigenartig. Ich komm nicht dahinter wie das gehen 
soll, und es fehlt ihr ein Widerstand. Ist die evtl. falschrum 
gezeichnet?
2. Wie programmiert man das Ding? Ein Arduino nano hat einen fertigen 
USB-stecker, der RPi pico auch. Hier brauchts einen Programmer, wie auch 
immer der aussehen muss. Und die IDE. Arduino ist eine Exe. Wie isses 
hier?

von Matthias S. (dachs)


Lesenswert?

Jens M. schrieb:
> 1. Die 4. LED ist eigenartig. Ich komm nicht dahinter wie das gehen
> soll, und es fehlt ihr ein Widerstand. Ist die evtl. falschrum
> gezeichnet?

Die leuchtet über den 1K-Widerstand wenn PC1 und PC2 H sind.

von Jens M. (schuchkleisser)


Lesenswert?

Matthias S. schrieb:
> Die leuchtet über den 1K-Widerstand wenn PC1 und PC2 H sind.

In der gezeigten Polung eben nicht.

: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

Matthias S. schrieb:
> Die leuchtet über den 1K-Widerstand wenn PC1 und PC2 H sind.

Dafür ist sie falsch herum gepolt.

von Norbert (der_norbert)


Lesenswert?

Jens M. schrieb:
> 2. Wie programmiert man das Ding? Ein Arduino nano hat einen fertigen
> USB-stecker, der RPi pico auch. Hier brauchts einen Programmer, wie auch
> immer der aussehen muss.

Link-E. Kostet aber deutlich mehr als einen Euro. Fast zwei sogar, 
WIMRE.

> Und die IDE.

Braucht man nicht.

> Arduino ist eine Exe. Wie isses hier?

Ne einfache tool-chain. Gut, iss nicht bunt, funktioniert aber wie all 
die traditionellen Werkzeuge an die man sich gewöhnt hat.

von Ralph S. (jjflash)



Lesenswert?

Nemopuk schrieb:
> Matthias S. schrieb:
>> Die leuchtet über den 1K-Widerstand wenn PC1 und PC2 H sind.
>
> Dafür ist sie falsch herum gepolt.

Vielen Dank für die Aufmerksamkeit, ich habe sie tatsächlich falsch im 
Plan gezeichnet. Korrigierter Schaltplan hier im Anhang.

Für diejenigen, die wissen möchten wie das funktioniert hier auch die 
Simulation dazu:

https://www.falstad.com/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWcMBMcUHYMGZIA4UA2ATmIxAUgoqoQFMBaMMAKABkRs1OEUQUEhHnypUAZgEMANgGc61SO07cALCrz9BINRtEhJs+UkVhCfBGv4oVFS2AxC+AEzqSArlIAuDKXSfgoQJh0FgAnWxsUPA0LG2xeQLB4FgB3CPAHdNNRVJAMbnshfKpsqBZTPmKMou4Ua34QF3cvHz8AvWDIFFzY8EIqKtLFACU8vBtCsYmooO1aWZgEMKn+fBXcGxLkipBoksy9q0jG1wkPb19-CA7YLtyMcbmBx42y-we4yBscIXi+Z1O5xY70eKjgeWwQh0DSaZy8wOUVD+nEIGleAOangRXCo0MhGjBVAxcKxaXxTxRaK+ZR25Mm5Lqx1h51aVwWt26ozpmTpMz0YIUQWgS3C5PUSNR6S2cFyDPq5NeigA5pT0uSEJkcmTJYTVeKymTuMjesjFGkTQkqqbZap1No8Li7Wb7Y6CQ6+lqXR6sv0DStJh9VrpcvroT9tE77i9qXguJxqc7Y3xXknqn7Dozdu79cqs7j3YcNUJPanJodJs6rZbIcIygAPbRgYggQjYXaQZuEKH8GwAEQAlgB7FwAHRkKX7oT8Y5QY4AXm4xyox2wAKK9hi9ugAY2HdFCPUsmaqmedvUz5+i9aOiP4xCRKDbkRsAEkAHJjhhjgCCLAbdSQFRiAgFBgO0YgbGfEB30-McACEWCAA

Jens M. schrieb:
> 2. Wie programmiert man das Ding? Ein Arduino nano hat einen fertigen
> USB-stecker, der RPi pico auch. Hier brauchts einen Programmer, wie auch
> immer der aussehen muss. Und die IDE. Arduino ist eine Exe. Wie isses
> hier?

Man muß das ganze nicht immer als fertige Platine sehen, bei dem man 
einfach nur in eine Schaltung ein USB-Kabel einsteckt. Ein Arduino nano 
ist nichts weiteres als (in der klassischen Variante) ein ATmega328 mit 
Bootloader-Firmware und einer USB2UART Bridge. Wenn Du einen ATmega ohne 
das Board programmieren möchtest, benötigst du auch dort einen 
Programmer.

Das gleiche gilt hier für den CH32V003 auch.

Im Thread

Beitrag "CH32V003: Selbstbauprogrammer und "Getting started""

habe ich mal die grundsätzlichen Schritte in einem Projekt 
zusammengefasst, um mit einem CH32V003 Schaltungen aufbauen zu können 
und auch gleich eine Schaltung für einen Programmer, dort sogar auf 
Lochrasterplatine, mit vorgestellt.

Das ganze basiert auf einem Framework namens CH32FUN, welches über die 
Maßen schlank ist. So schlank, dass man bei einer Veröfftlichung (z.Bsp. 
hier) das gesamte Framework mit anhängen kann, da es in einem Archiv 
noch nicht einmal 300 kByte benötigt.

Etwas mehr Infos kannst du auf meiner Webseite finden (die wohl immer im 
Aufbau befindlich bleiben wird, ich aber dennoch bemüht bin die zu 
erweitern):

https://www.jjflash.de/ch32v003/index.html

In naher Zukunft (so hoffe ich doch) wird auch der Programmer für das 
Steckbrett vorgestellt und in das Archiv mit integriert werden. Das 
ganze gibt es für mich auch schon auf einer PCB, die ich "Eval-Toys" 
genannt habe.

Auf dieser PCB findet man den kleinen Programmer dieses Projektes, sowie 
ein, in den Dimensionen etwas größeres Board, welches entweder selbst 
als Programmer dienen kann, oder eben im Steckbrett als Controller 
verwendet werden kann. Dieses verwendet grundsätzlich V-USB (wie es bsp. 
auch für einen AVR-Programmer namens USBASP oder auch TINYUSB) gemacht 
worden ist. Nachteil hier (bei Verwendung als Board, nicht als 
Programmer) ist, dass vor einem Upload in den Controller eine Taste 
gedrückt werden muß und der Upload innerhalb 2 Sekunden erfolgen muß.

Ein weiteres Board hat eine USB2Uart Bridge mit auf der Platine, so dass 
das ganze grundsätzlich wie ein Arduino-Nano funktioniert. Leider nur 
eben nicht so schnell wie das V-USB. Dafür benötigt es kein händisches 
aktivieren des Bootmode.

Grundsätzlich auf dieser PCB ist dann noch, der ebenfalls hier 
vorgestellte Picomon3, eine USB2UART-Bridge mit CH340N sowie kleine 
Platinchen für Leuchtdiodenaufbau.

Ich stelle das mal hier ein, auch wenn ich das später, wenn alles 
aufgearbeitet ist (Dokumentation und Säuberung der Software) dann in die 
entsprechenden Threads gestellt werden soll.

Die hier im Anhang befindlichen Gerberfiles können im Übrigen so wie sie 
sind der Fa. JLCPCB zugesendet werden und die werden klaglos so 
hergestellt.

:-) Der Schaltplan für den Steckbrettprogrammer und den für Picomon3 
gibts hier ja schon.

Relevante Threads hierzu sind:

Beitrag "PicoMon für CH32V003 oder STM32F0xx"

Beitrag "CH32V003: Selbstbauprogrammer und "Getting started""

Beitrag "CH32V003: serieller Bootloader"

(wobei die gezeigte Schaltung für den Bootloader noch ein paar "Macken" 
hatte, die mittlerweile behoben sind).

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

... ich bin wohl wirklich dement! :-) Ich habe alles mögliche hier mit 
angehängt, nur den korrigierten Schaltplan nicht. Hier ist er jetzt.

von Jens M. (schuchkleisser)


Lesenswert?

Norbert schrieb:
> Link-E. Kostet aber deutlich mehr als einen Euro. Fast zwei sogar,
> WIMRE.

OK, das kann man verschmerzen.

Norbert schrieb:
> funktioniert aber wie all
> die traditionellen Werkzeuge an die man sich gewöhnt hat.

Was du weißt woran ich mich schon gewöhnt habe.... :D

Ralph S. schrieb:
> Ein Arduino nano
> ist nichts weiteres als (in der klassischen Variante) ein ATmega328 mit
> Bootloader-Firmware und einer USB2UART Bridge. Wenn Du einen ATmega ohne
> das Board programmieren möchtest, benötigst du auch dort einen
> Programmer.

Richtig.
Aber einen Nano kann ich Steckerfertig kaufen, das war wo ich hin 
wollte: Das geht mit minimaler Bastelei, auf einem Steckbrett bis zur 
Blinke-LED.
Das gibt's für den CH32 ja nicht, oder?

Ralph S. schrieb:
> habe ich mal die grundsätzlichen Schritte in einem Projekt
> zusammengefasst

Danke dafür!

Ralph S. schrieb:
> Hier ist er jetzt.

Ah jetzt ja!

Ralph S. schrieb:
> So schlank, dass man bei einer Veröfftlichung (z.Bsp.
> hier) das gesamte Framework mit anhängen kann, da es in einem Archiv
> noch nicht einmal 300 kByte benötigt.

Das ist aber Linux, oder?
Windows ist deutlich weiter verbreitet, auch unter Bastlern, und CH32Fun 
scheint da deutlich aufwändiger zu sein...
Nicht das mich das abhalten würde, aber ich fänds geil wenn es sowas 
noch gäbe, ein kleiner Ordner auf einem USB-Stick für ein Projekt, und 
alles was man braucht ist drin, nicht etliche MB installieren, Online 
runterladen, Frameworks und Runtimes.
Arduino portable ist das schon fast, auch wenn's 200MB sind. Dennoch 
kann man ganze Projekte samt Einstellungen und voller IDE überall dabei 
haben.

von Hannes J. (pnuebergang)


Lesenswert?

Mi N. schrieb:
> Dann aber bitte nicht mit einem exotischen µC, sondern mit Arduino auf
> ATmega328 (o.ä) oder RP2040 Basis.

Und genau deshalb mag niemand Arduino-User.

von Norbert (der_norbert)


Angehängte Dateien:

Lesenswert?

Jens M. schrieb:
> Richtig.
> Aber einen Nano kann ich Steckerfertig kaufen, das war wo ich hin
> wollte: Das geht mit minimaler Bastelei, auf einem Steckbrett bis zur
> Blinke-LED.
> Das gibt's für den CH32 ja nicht, oder?

Hatte mir seinerzeit ein Paket bestellt (wie vermutlich viele).
Fertig aufgebaute Platine, fünf einzelne Controller und ein LinkE.
Kostete weniger als so ein kleines Experimentierding der verbreiteten 
Art.

Jens M. schrieb:
> Das ist aber Linux, oder?
Ja, geil nich?

> Windows ist deutlich weiter verbreitet, auch unter Bastlern, und CH32Fun
> scheint da deutlich aufwändiger zu sein...
> Nicht das mich das abhalten würde, aber ich fänds geil wenn es sowas
> noch gäbe, ein kleiner Ordner auf einem USB-Stick für ein Projekt, und
> alles was man braucht ist drin, nicht etliche MB installieren, Online
> runterladen, Frameworks und Runtimes.

Bild!

von Mi N. (msx)


Lesenswert?

Ralph S. schrieb:
> Mi N. schrieb:
>> RP2040 Basis. Gerade bei Letzterem ist die Hardware
>> fix und fertig und für wenige Euro zu beschaffen.
>
> Wenn man den auf ein eigenes (sehr kleines) PCB setzen möchte ist ein
> RP2040 schon etwas schlecht handbar (löten).

Ha, ha, was ich im ersten Bild sehe ist riesengroß ;-)
Ein Einsteiger braucht kein sehr kleines PCB, sondern ein 
Erfolgserlebnis, das ihn weitermachen läßt.

Hannes J. schrieb:
> Mi N. schrieb:
>> Dann aber bitte nicht mit einem exotischen µC, sondern mit Arduino auf
>> ATmega328 (o.ä) oder RP2040 Basis.
>
> Und genau deshalb mag niemand Arduino-User.

Schon klar, Vorurteile muß man pflegen.
Dann nimm eben Python. Norbert zeigt Dir gerne, wie das geht.

von Norbert (der_norbert)


Lesenswert?

Mi N. schrieb:
> Norbert zeigt Dir gerne, wie das geht.

Ich zieh mir doch nicht den Hass des Forums freiwillig rein.
Auch wenn das ›Frequenz messen/Zyklen genau‹ eben genau so entstanden 
ist. 😎

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Norbert schrieb:
> Ja, geil nich?

Nä.

Norbert schrieb:
> Bild!

Nutz nix. Tut unter dem meist verbreitetem System nicht. :D

von Norbert (der_norbert)


Lesenswert?

Jens M. schrieb:
> Tut unter dem meist verbreitetem System nicht.

Ach, das bringt mich jetzt nicht wirklich um den Schlaf. ;-)

von Ralph S. (jjflash)



Lesenswert?

Nachdem ich die Kommentare gelesen habe, habe ich mich doch mal 
hingesetzt und weiter an meinen Dokus gewerkelt, dieses mal zum Thema 
hier (das vom Rechteckgenerator abgedriftet  ist).

Jens M. schrieb:
> Richtig.
> Aber einen Nano kann ich Steckerfertig kaufen, das war wo ich hin
> wollte: Das geht mit minimaler Bastelei, auf einem Steckbrett bis zur
> Blinke-LED.
> Das gibt's für den CH32 ja nicht, oder?

Es ging um Einsteiger für CH32V003 und nicht allgemein. Einen 
Steckerfertigen Nano zu kaufen hat mit "Basteln" (oder neudeutsch 
"Make") fast schon nichts mehr zu tun, aber bitte:

Niemand wird dich abhalten, nach dem hier jetzt angehängten Schaltplan 
und dem in

Beitrag "Re: CH32V003-J4M6: Einfacher Rechteckgenerator 0,5 Hz 20 kHz"

PCB (zweite Schaltung links unten) dir ein Nano-Board fertigen zu 
lassen. Es benötigt noch eine BOM für JLCPCB und die bestücken dir das. 
In

Beitrag "CH32V003: serieller Bootloader"

steht drin, wie du den Bootloader auf das Board bekommst. (stellt sich 
immer noch die Frage, was das mit dem Rechteck zu tun hat... außer dass 
ich den Rechteckgenerator mit meinem CH32-nano Board hätte realisieren 
können).

Den Thread mit dem Bootloader werde ich demnächst aktualisieren.

Jens M. schrieb:
> Windows ist deutlich weiter verbreitet, auch unter Bastlern, und CH32Fun
> scheint da deutlich aufwändiger zu sein...
> Nicht das mich das abhalten würde, aber ich fänds geil wenn es sowas
> noch gäbe, ein kleiner Ordner auf einem USB-Stick für ein Projekt, und
> alles was man braucht ist drin, nicht etliche MB installieren, Online
> runterladen, Frameworks und Runtimes.
> Arduino portable ist das schon fast, auch wenn's 200MB sind. Dennoch
> kann man ganze Projekte samt Einstellungen und voller IDE überall dabei
> haben.

Na ja, den Glaubenskrieg Windows vs. Linux wurde (und wird) 
ausgefochten. Ich denke, dass unter Linux vieles einfacher ist. Dein 
"Arduino portable" geht dann nur für AVR. Grundsätzlich habe ich hier 2 
Rechner laufen, die haben keine Festplatte mehr und das gesamte 
(Linux)system ist auf dem Stick (und bootet beachtlich schnell... ich 
wollte das hier vorstellen und man hat mir deutlich gemacht, dass das 
kein Mensch will... also habe ich es sein lassen). Die Sourcen, die sich 
auf CH32V003 bei mir beziehen, beinhalten das gesamte CH32FUN-Framework. 
Es reicht dort, ein einfaches make (oder ein make flash um zu flashen) 
im entsprechenden Ordner abzusetzen und alles ist erledigt. Das einzige 
was nicht beinhaltet ist, ist ein Editor und der Compiler.

Hier kann ich sagen, dass ich das bei mir auf der Platte so schon 
getestet habe und ein Compiler in einem Extraverzeichnis, aufgerufen von 
meinem Makefile auch funktioniert. Dann ist das ganze allerdings knapp 
über 400 MByte groß. Das könnte ich natürlich "anbieten", aber das will 
doch kein Mensch. Einmal den Compiler installiert und dann ist es gut!

By the way: Was hat das jetzt mit dem Rechteckgenerator zu tun?

von Frank O. (frank_o)


Lesenswert?

Mi N. schrieb:
> Dann aber bitte nicht mit einem exotischen µC,

Ich bin froh darüber etwas zu lesen, denn ich möchte demnächst auch was 
mit dem machen. Da Arduino nun wohl 'nicht mehr ganz so frei' sein wird, 
ist es gut auch mal was anderes zu testen und billig sind die Teile auch 
noch.

von Norbert (der_norbert)


Lesenswert?

Frank O. schrieb:
> ist es gut auch mal was anderes zu testen und billig sind die Teile auch
> noch.

…und man kann auch gleich mal etwas Neues RISC-ieren…

von Ralf X. (ralf0815)


Lesenswert?

Ralph S. schrieb:
> By the way: Was hat das jetzt mit dem Rechteckgenerator zu tun?

Manche haben auch Dreieck- oder Sinus lieber.
Individualisten halt.
Ganz hart sind die Jungs mit den steigenden und fallenden Flanken drauf.

von Erni (pudding)


Lesenswert?

Ralph S. schrieb:
> ich
> wollte das hier vorstellen und man hat mir deutlich gemacht, dass das
> kein Mensch will...

Doch, bitte! Hier ist ein Mensch, der das wohl möchte :-)
Danke!

von Ralph S. (jjflash)


Lesenswert?

Erni schrieb:
> Doch, bitte! Hier ist ein Mensch, der das wohl möchte :-)
> Danke!

Na ja, auf meinem Server liegt noch ein ISO-File für ein komplettes 
System, ca. 1,9 GByte groß, allerdings ist auf diesem File noch kein 
RISCV - Compiler und auch kein Setup für einen CH3V003 enthalten.

Eine Anleitung dafür, wie man das dann auf einen Stick bekommt habe ich 
dann auch keine geschrieben gehabt. Vor allen Dingen hier nicht dem 
Umstand geschuldet, dass es sich hierbei um ein "Live-System" handelt 
(mit dem ich mittlerweile fast vorzugsweise an unterschiedlichen 
Computern im Netz bin).

Dieses "Live-System" hat mit neueren und aktuellen Computern das 
Problem, dass es bei manchen kein BIOS (Legacy) Mode mehr gibt, sondern 
nur noch UEFI.

Für einen UEFI Rechner muß der Linux-Bootloader auf eine FAT32 
Partition, was da heißt, dass ein Stick, der das System beinhalten soll, 
in 2 Partitionen unterteilt werden muß. Mit meinen beiden Sticks heißt 
das: Bootpartition 1 enthält eine FAT32 Partition, die 2. Partition (für 
die Daten und die Arbeit) ist eine EXT4 Partition.

Für einen Rechner der (noch) Legacy kann, kann das System auf einer 
einzigen EXT4 Partition untergebracht sein.

Das hier beinhaltet u. a. einen Screenshot vom Linux-Desktop XFCE des 
Bootsticks... und wie gesagt wurde ich dafür sehr "abgestraft"


Mein altes Notebook (Intel I3-3110M) / 4GB Ram bootet das System von 
einem 64 GB Stick in 30 Sekunden (nach dem Einschalten).

Wenn du dir (wirklich) zutraust, nur nach einer rudimentären Erklärung 
ein System auf einen Stick zu bekommen (du benötigst für einen Rechner 
mit nur UEFI sogar 2 Sticks), dann kann ich die Tage ein neues ISO - 
Image vom System erstellen dass du dir dann runterladen kannst.

Installation des Sticks wäre (im Schnelldurchgang)

- herunterladen des Images
- komplettes kopieren der Daten  (also der Inhalt des Images, nicht die 
ISO-Datei) auf einen Stick (der NICHT EXT4 formatiert ist)
- auf dem Stick in das Verzeichnis "boot" gehen, dort - je nachdem von 
welchem System das aus geschieht - entweder das Programm 
"Porteus-installer-for-Linux" oder "Porteus-installer-for-Windows" 
ausführen
- danach den Rechner neu starten und dort ins Bios / Uefi gehen um dort 
zu sagen, dass der Rechner vom Stick booten darf
- den Stick booten, dort jedoch die Option "Booten ins Ram" wählen 
(nicht die Default-Option booten)
- der Rechner startet in eine Textkonsole, dort startest du das Programm 
"GParted" und partitionierst den zweiten Stick. Entweder als eine 
einzige Partition, wenn dein Rechner Bios noch kann ... oder in 2 
Partitionen, eine als FAT32, die andere als EXT4
- die Partitionen jeweils formatieren
- auf die erste Partition den kompletten Inhalt von dem Stick kopieren, 
von dem der Rechner gestartet wurde
- danach auf diesem neuen zweiten Stick im Verzeichnis "boot" dann das 
Programm "Porteus-installer-for-Linux" starten

Danach sollte dein LINUX USB-Stick eingerichtet sein, mit allen den 
Programmen, die ich auf der ISO gespeichert habe:

- altes LibreOffice Paket (was mir vollkommen reicht)
- Netzwerkmanager mit WLAN zugang
- einen updatefähigen Firefox - Browser (ich glaube das war die Version 
122)
- Compiler: gcc, avr-gcc, sdcc 4.4 (für Padauk, STM8 und MCS-51 
Mikrocontroller), arm-none-eabi-gcc für STM32 Mikrocontroller, riscc 
wäre hinzuzufügen
- AVRA (Assembler für AVR)
- NAKEN_ASM (Assembler für MCS-51 und STM8)
- Arduino
- Lazarus
- FreePascal 3.2.2
- GIMP
- DOS-Box
- GEANY
- PUTTY
- CIDE (Konsoleneditor)
- LAZARUS (Pascal / Delphi für Desktopanwendungen)
- QT5 Designer
- Thunderbird (E-Mail Client)
- Dummerweise hatte ich meinem ISO-File auch noch TuxCart und ein 
Skatprogramm hinzugefügt gehabt, was ebenfalls hier moniert wurde, 
deswegen wäre das entfernt

Wenn du dir also die oben genannten Schritte zutraust (ohne weitere 
große Anleitungen) dann kann ich dir so eine ISO-File hochladen.

Wenn du dir das nicht zutraust, aber so einen Stick wirklich haben 
magst, dann kann ich dir (eventuell) einen solchen Stick einrichten den 
du mir im frankierten Rückumschlag sendest, dann richte ich dir einen 
solchigen ein.

von Erni (pudding)


Lesenswert?

Hallo Ralph,
solch einen Linux USB-Stick zu erstellen würde ich gerne einmal 
versuchen.
Die Programmzusammenstellung mit Lazarus/Freepascal, Arduino, Geany usw. 
gefällt mir sehr gut.
Vielleicht kann das CH32V003-Paket noch hinzugefügt werden.
Ist es möglich, statt des USB-Live-Systems den Inhalt auch auf eine 
freie Boot-Festplatte zu installieren?
Würdest du das ISO-File auf deiner Homepage zum Download anbieten?
Vielen Dank!
Erni

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ralph S. schrieb:
> und ein
> Skatprogramm hinzugefügt gehabt,

Hat nun auch ueberhaupt nix mit Rechteckgeneratoren zu tun, aber fragen 
mussich schon mal: Wassn fuern Skatprogramm?

Gruss
WK

von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich finde den Thread wirklich interessant.
Tellerrand usw.  ;-)
Danke.

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Dergute W. schrieb:
> aber fragen
> mussich schon mal: Wassn fuern Skatprogramm?

:-) uralt und nicht besonders schön, aber es erfüllt seinen Zweck und 
für mich als Gelegenheitsspieler reicht es vollkommen.

Die Webseite www.xskat gibt es nicht mehr (ich glaube schon lange nicht 
mehr). Daher im Anhang und ein Screenshot.

Du spielst Skat?

(und die Karten, wenn sie nicht abgerundet sind, sind ja auch irgendwie 
Rechteck#ig!)

von Ralph S. (jjflash)


Lesenswert?

Erni schrieb:
> Die Programmzusammenstellung mit Lazarus/Freepascal, Arduino, Geany usw.
> gefällt mir sehr gut.
> Vielleicht kann das CH32V003-Paket noch hinzugefügt werden.
> Ist es möglich, statt des USB-Live-Systems den Inhalt auch auf eine
> freie Boot-Festplatte zu installieren?
> Würdest du das ISO-File auf deiner Homepage zum Download anbieten?
> Vielen Dank!
> Erni

Ich werde mich einmal hinsetzen und das neu zusammensetzen (das dauert 
immer auch etwas). Hierfür werde ich dann eine leere Platte in einen 
Rechner setzen um das dann zu testen (bei Geany ist bspw. die 
Konfiguration unvollständig, so dass man da in Geany von Hand noch etwas 
einstellen muß).

Das Live-System läuft auch von einer Boot-Festplatte (ich schreibe 
gerade von einer). Ob das System auf einer Platte parallel in einer 
anderen Partition bspw. neben Linux läuft, weiß ich nicht. Ich habe es 
immer nur als einziges System gehabt.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ralph S. schrieb:
> :-) uralt und nicht besonders schön, aber es erfüllt seinen Zweck und
> für mich als Gelegenheitsspieler reicht es vollkommen.

Ah, xskat. Ja, das ist gut abgehangene Software. Laeuft hier auch dann 
und wann. Wenn man's aus src bauen will, braucht's unangenehmerweise 
imake, um ein Makefile zu generieren. Das kam noch aus der Zeit, als 
zwar schon jeder Profi-Informatiker meinte, sein eigenes Buildsystem 
entwickeln zu muessen, aber Python noch nicht hip war :-)

Gruss
WK

von Tim  . (cpldcpu)


Lesenswert?

Ich finde die CH32V00x super.

- 5V
- Single wire programming
- 32 Bit
- Viele Package-Varianten
- Open source toolchain mit einfachen Monitor (CH32fun)

Für irgendwelche einfachen Experimente ideal und ein guter AVR 
Nachfolger.

Auch im Blick: STM32Cxx/Gxx, PY32Fxxx

RP2040 ist für mich erste Wahl, wenn die Software komplizierter wird. 
Micropython ist auch sehr nützlich.

Viele westliche MCUs scheiden ja zunehmend aus, das man sie kaum noch in 
geringen Stückzahlen bekommt. Die Preise bei mouser/digikey sind 
gestiegen und durch den MBW muss man immer irgend etwas mitbestellen.

von Ralph S. (jjflash)


Lesenswert?

Tim  . schrieb:
> RP2040 ist für mich erste Wahl, wenn die Software komplizierter wird.
> Micropython ist auch sehr nützlich.

bis auf den RP2040 stimme ich dir in allem zu ... :-) RP2040 kann ich 
den Chip nicht mehr von Hand löten, Boards mag ich zwar ab und an (und 
mache mir auch meine eigenen), aber bei dem bin ich auf ein fertiges 
Board angewiesen und beim RaspBerry Pico mache ich wohl etwas falsch, 
weil ich hier immer erst den Chip vom USB trennen muß um etwas 
hochzuladen ... im Moment ist meine Wahl für "kompliziertere" Sachen ein 
STM32F4 oder, wenn es noch "schlimmer" wird (erst ein einziges mal 
geschehen) STM32H743VGT6

von Norbert (der_norbert)


Lesenswert?

Ralph S. schrieb:
> und beim RaspBerry Pico mache ich wohl etwas falsch,
> weil ich hier immer erst den Chip vom USB trennen muß um etwas
> hochzuladen ...

BOOTSEL drücken und festhalten, dann kurz RESET auslösen.
Nun kann man eine frisch erstellte UF2-Datei über USB hochladen.
Fertig.

von Tim  . (cpldcpu)


Lesenswert?

Oder Micropython nutzen und dann kann man über vscode (mit "MicroPico" 
Extension)  bequem auf das Filesystem zugreifen.

: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Tim  . schrieb:
> Oder Micropython nutzen

Damit isses natürlich noch einfacher, da kann man den ›pyremote‹ 
Upload-Aufruf direkt ins Makefile integrieren.

Gut, beim C/C++ SDK kann man die UF2-Datei auch direkt aus dem cmake 
heraus bauen und auf (zusätzlichen) Knopfdruck laden.

Viele Wege … Rom …

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.