Beiträge von guidol

    ngc224 Als Gegentest zum Pico2 habe ich heute Nacht mal einen Pico1 mit NuttX v12.8.0 getestet.


    Angefangen bei der Config usbnsh und dann SPI0 für die SDCard mit

    make menuconfug dazu konfiguriert.

    Als Apps dann bas BASIC Interpreter und RunCPM.


    Ich hab die Standard-SPI Pinoutconfig übernommen die ich auch beim Pico1 mit RunCPM schon immer nutzte (GPIO 16-19)


    Die nsh geht per USB gut, nur free macht keine gescheite Textausgabe und Bas gibt nur die halbe Startmeldung aus... ist aber dann voll nutzbar.


    Ein ls oder help in der nsh ist auch einwandfrei.


    UND RunCPM geht ohne Probleme bei der Anzeige per USB und internal CCP ;)

    ngc224 was mir bei USB-Serial (CDC-Modem oder PL2303 Emulation):

    Der Pico2 wird immer nur einmal nach dem programmieren an jeden USB-Port als COM-device erkannt.


    Nach dem programmieren kann ich ich USB-serial nutzen, aber einmal rausgezogen und wieder eingesteckt erscheint er an diesem USB-Port nicht mehr - aber wenn man ihn am nachsten einsteckt.


    hat man alle Ports durch muss man wohl den Rechner neustarten (wobei ich nicht getestet haeb ob dann klappt, weil ich ihn oefter neu programmiert hatte)

    Beim anbinden per TTL-serial entsteht dies Problem nicht.


    Ich dachte erst es liegt daran, dass ich neben RunCPM aus dem Interpreter-Bereich der Apps noch bas v2.4 mitgenommen hatte.


    BTW: bas v2.4 macht hier unter NuttX nach jeder ENTER-Taste wohl CR+LF

    Das sieht bloed aus, wenn man ein Listing per Zwischenablage reinlaufen laesst...

    Ein LIST hingegen zeigt das Listing ohne Luecke zwichen den Zeilen (also wohl nur CR)

    Am putty liegts nicht, da habe ich die Einstellungen angesehen...ausserdem wuerde sonst auch LIST sowas machen :(

    Funktioniert hier im Cygwin64-Terminal auch mit CLS ohne Probleme ... was zeigt dir echo $TERM im Cygwin64-Terminal?

    JenGun Ach ;) - die Zauberworte heissen "hier im Cygwin64-Terminal"!

    Bis jetzt habe ich immer gedacht, ich kann die entstehenden .exe im Terminal von MSYS2/CygWin64 nicht starten, weil es ein "Linux-Terminal" ist.


    D.h. ich habe immer die .exe genommen und mit den angefordeten .DLLs
    - bei MSYS2: msys-2.0.dll & msys-ncursesw6.dll

    - bei CygWin64: cygwin1.dll & cygncursesw-10.dll

    in ein normales Verzeichnis kopiert und es von der Windows-Console gestartet.

    Klappte auch immer bei RunCPM oder den cpmtools.


    Dies klappte wohl, weil die kein TERM/Terminal anfordern.


    Starte ich nun meine erstellten .exe im MSYS2 oder CygWin64-Terminal klappt es :)

    War wohl dann ein Verstaendnisproblem meiner Seite, daich es wie vorher erwartete :(
    So klappt es auch bei beiden Versionen mit dem CLS!


    Nun waere es natuerlich - fuer mich cool - auch eine Version fuer die Windows-Console zu haben bzw. selbst erstellen zukoennen.



    Mal wieder Dank an JenGun fuer die "Erleuchtung" :)

    Also, wenn es unter amrdebian läuft und unter cygwin64 nicht, sann wird bei letzterem wohl das Tool 'terminfo' fehlen. Zumindest bei der Fehlermeldung da.

    terminfo ist laut liste installiert....aber beim ./configure


    checking for tgetent... no

    checking for tgetent in -lcurses... yes


    getent ist installiert - tgetent als command kennt CygWin64 nicht :(


    Ich weiss nicht wo es klemmt :(

    Ich habe es neben CyfWin64 auch mit MSYS2 probiert - und auch mit einem bas v2.7-Snapshot


    Aber CLS will nicht, weil bas entweder beim compile oder Start nicht das Terminal erkennt :(


    Bei v2.7 steigt er deshalb nach dem Start gleich wieder nach der Fehlermeldung aus udn bei der v2.5 geht nur CLS wohl nicht.


    Unter armbian/Linux laeuft es prima - auch mit CLS


    ..aber mein pico-sdk ist mit v2.1.0 nicht zu neu?

    Es gab wohl mal Probleme, da einige v2.0.0 fixed back-ported worden.....


    Code
    pico-sdk-version:
    /home/guido/pico/pico-sdk# cat /home/guido/pico/pico-sdk/pico_sdk_version.cmake | grep "set(" | grep -v "{" | grep -v "ID"
    set(PICO_SDK_VERSION_MAJOR 2)
    set(PICO_SDK_VERSION_MINOR 1)
    set(PICO_SDK_VERSION_REVISION 0)

    anbei der bas v2.5 BASIC Interpreter

    von http://www.moria.de/~michael/bas/
    http://www.moria.de/~michael/bas/bas-2.5.tar.gz

    compiliert mit CygWin64 fuer Windows 64Bit ;)

    Beschreibung der Befehle im beiliegenden .PDF


    Raus kommt man wie bei GW.BASIC mit SYSTEM


    Och.....Menno :(


    Code
    > cls
    Error: Input/Output error (terminal type cygwin can not clear the screen) at: cl
    s

    mit der Konfiguration :spisd schon.

    OK - da musste ich dann aber Audio/I2S, WS2812 Treiber und Programme deaktivieren, weil sonst sind die noch drin:


    Register: hello

    Register: mkgpt

    Register: ws2812

    Register: nsh

    Register: nxrecorder

    Register: sh

    Register: runcpm

    Register: mkmbr

    Register: ostest

    Register: nxlooper

    Register: nxplayer

    Register: getprime


    Aber auch dann blinkt der Pico2 nur :( weder seriell noch USB Lebenszeichen :(

    Es funktioniert bei mir alles nicht !

    Die LED blinkt, aber es kommt nichts auf der seriellen Schnittstelle, und

    auch nicht über USB. ttyACM0 wird bei mir gar nicht angelegt (dmesg)

    Die ganze Preconfig fuer SPI0 (Pins, SPI0Enable- MMC-Support und auch FS ist nicht eingeschaltet)


    ich hatte wie vorher auch die serielle Console abgeschaltet und USB console auf CDC eingeschaltet und bekomme ich nur das blinken :(

    wenn ich nicht versuche mit der .config zu schummeln - also im v12.8.0 versuche alle Konfig-Schitte inkl. SPI0 nachzustellen, bricht mir der compile mit der neuen .config aber am Ende ab :(


    Create version.h

    LN: platform/board to /home/guido/nuttx1280/apps/platform/dummy

    Register: runcpm

    Register: nsh

    Register: sh

    Register: ostest

    Register: hello

    Register: getprime


    LD: nuttx

    arm-none-eabi-ld: /home/guido/nuttx1280/nuttx/staging/libarch.a(rp23xx_spi.o):(.rodata.g_spi0ops+0x20): undefined reference to `rp23xx_spi0register'

    Memory region Used Size Region Size %age Used

    FLASH: 209892 B 4 MB 5.00%

    RAM: 512 KB 512 KB 100.00%

    SCRATCH_X: 0 B 4 KB 0.00%

    SCRATCH_Y: 0 B 4 KB 0.00%

    make[1]: *** [Makefile:214: nuttx] Fehler 1

    make: *** [tools/Unix.mk:551: nuttx] Fehler 2

    ngc224 Hast Du gesehen nuttx 12.8.0 ist raus?


    Ich habe mal versucht die ohne viel patchen zu nuten...

    D.h.

    - kopieren von /apps/examples/runcpm

    - kopieren von /nuttx/boards/arm/rp23xx/raspberrypi-pico-2/configs/runcpm

    - make disclean

    - kopieren der .config (erstellt mit dem make memnuconfig) nach /nuttx

    - ./tools/configure.sh -l raspberrypi-pico-2:nsh

    - make menuconfig

    - laden der 12.7.0 .config und speichern als .config

    - make -j


    raus kommt


    Create version.h

    LN: platform/board to /home/guido/nuttx1280/apps/platform/dummy

    Register: hello

    Register: ostest

    Register: mkmbr

    Register: runcpm

    Register: getprime

    Register: nsh

    Register: mkgpt

    Register: sh


    CPP: /home/guido/nuttx1280/nuttx/boards/arm/rp23xx/raspberrypi-pico-2/scripts/memmap_default.ld-LD: nuttx

    Memory region Used Size Region Size %age Used

    FLASH: 349120 B 4 MB 8.32%

    RAM: 512 KB 512 KB 100.00%

    SCRATCH_X: 0 B 4 KB 0.00%

    SCRATCH_Y: 0 B 4 KB 0.00%

    Generating: nuttx.uf2

    Done.



    Aber nach dem flashen blinkt der Pico2 leider nur und meldet sich nicht am USB als COM-Port :(


    Wie bist Du zu Deinem v12.7.0-Patch gekommenß Wo fandet Du die Infos und

    koenntest Du BITTE schauen, ob Dein v12.7.0-Patch umbaubar ist fuer die v12.8.0?


    Hat ausser Dir noh keiner gemerkt, dass der Oico2 sonst nicht geht?

    Hier ist mal die USB-Variante ).UF2), die eine Profilic PL2303 serielle Schnittstelle emuliert

    mit CCP-Z80.64K (korrekte Anzeige beim DIR Command)


    Dabei ist die passende .config-Datei fuer PL2303-Emu als config_PL2303Emu_console


    Und als Text-Doku die Punkte zum umstellen von serial-UART0 auf USB-serial


    PS: beim ersten verbinden per USB muss man 3x Enter druecken bis der nsh-Prompt kommt.


    Ist nicht guidol in der Türkei ?

    Ja - ich bin in der Tuerkei. Das Problem ist nur, dass die Post hier seit Corona echt Gruetze ist :(

    Briefe aus Deutschland (wenn nicht Luftpost) brauchen 3-4 Monate und Pakete kommen vom Ausland fast garnicht mehr an oder man wird nicht benachrichtigt.


    Leider sind auch nicht oft Leute hier unterwegs zwischen der Tuerkei und Deutschland - die ich kenne :(

    Hmmm - jetzt wirds komisch.
    Wie geschrieben geht DIR ordentlich per TTL-serial und muckt bei USB -

    aber wohl hier im Test beim "Internal CCP"


    Wenn ich das CCP-DR.64K nehme klappt die DIR Anzeige auch bei USB

    Auch beim CCP-Z80.64K ist alles paletti...

    ngc224

    Ich habe mal versucht nach dem YT-Video

    How to use USB Console on NuttX

    die Pico2 Version von Serial-TTL-Pin01 auf USB-serial-console umzustellen.


    Die Menues von "make menuconfig" sind aufgrudn des anderen Boardtyps (dort ist es ein STM32 Discovery)

    etwas anders, aber es hat soweit wohl am Schluss geklappt ;)


    Nun ist meine nsh auf dem USB-Port (CDC/Modem - ELMO GMAS als COM3)


    In den Apps sieht die Ausgabe gut aus, nur in der DIR Ausgabe ist es Zeilenweise etwas verschoben :(


    Im Anhang ist die nuttx_rcpm67_usb.uf2 und die .config (die nach make menuconfig)
    gespeichert wird in nuttx-patched

    je einmal als

    - config_serial01_console
    - config_usb_console


    boeckmann Danke fuer die Antwort.

    Erstmal geht es mir nicht darum alle Pakete zu aktualisieren auf einmal (wie z.B. bei Linux), da mein DOS nicht so komplex aufgebaut ist :)


    Wichtig ist mir das Grrundsystem wie Kernel, Command-Prozessor und die grundsaetzlichen externen Befehle in \SVARDOS


    Gibt es ein eigenes Packet fuer den Kernel und/oder Command-Prozessor oder ist dies (wenn es ein Update gibt) in dem Packet SVARCOM mit drin?


    Zur Zeit haben meien 2 DOS-Rechner Netzwerk (zum Glueck die richtigen NICs onboard fuer PacketDriver),

    aber der eine hat noch MS-DOS 6.22 - aber mein eeePC 701 Mini-Laptop hat SVARDOS auf einer bootbaren SDCard, so ist es im Moment fast schneller ein Packet auf die SDCard zu kopieren.


    Die Packages von der Packet-ISO habe ich auf der 2ten Partition der Karte (D:) - also im "Schnellzugriff" ;)

    ngc224

    Bei meiner pico-sdk Installation (die ich furs pico-pdp1140 Projekt dokumentiert hatte)

    wurde das picotool wohl erst mit Erstellung/Compilierung des pico-pdp1140 gebaut.


    Der Fehler oben heisst es ist kein picotool da....


    nach der Installation des pico-sdk fehlte:


    Code
    Create picotool:
    ===============================
    
    cd /home/guido/pico/pico-sdk
    sudo apt install build-essential pkg-config libusb-1.0-0-dev cmake
    git submodule update --init lib/mbedtls
    mkdir build
    cd build
    cmake ..
    make

    denn jetzt kommt


    Code
    CPP:  /home/guido/nuttx-patched/boards/arm/rp23xx/raspberrypi-pico-2/scripts/memmap_default.ld-> LD: nuttx
    Building: picotool
    Generating: nuttx.uf2
    Done.


    und mein .uf2 mit dem RunCPM v4.4 (also Dein Code) laeuft...

    ngc224

    nuttx ist gepacthed ;)


    Installiert hatte ich ueber https://nuttx.apache.org/docs/latest/quickstart/install.html
    so hatte ich schon ttolchain und tools


    Gefehlt hatte mir noch das pico-sdk incl. PATH-Variable dazu:


    Code
     echo $PICO_SDK_PATH
    /home/guido/pico/pico-sdk


    Das Config geht ohne Probleme - auch der Compile sieht so weit gut aus,

    aber wenn er dann zum picotool kommt gibt es Fehler 2:


    Code
    CPP:  /home/guido/nuttx-patched/boards/arm/rp23xx/raspberrypi-pico-2/scripts/memmap_default.ld-> LD: nuttx
    Building: picotool
    make: *** [tools/Unix.mk:555: nuttx] Fehler 2
    root@dell-studio:/home/guido/nuttx-patched#

    ngc224 Ich bin noch ganz "unbeleckt" mit NuttX.....
    Die 2 tar.gz hab ich mir geholt.


    Aber wie wende ich nachher den Patch an? Hast Du da eine Command-Line fuer mich?

    Wahrscheinlich wird nuttx dann unter /home/guido/nuttx liegen.


    Meinen einen Pico2 (den ich etwas zerloetet hatte) habe ich handverdrahtet und es geht.


    Ist die SDCard-Config schon mit im Patch?

    Muss man die Pins ohne den Patch normal selbst konfigurieren oder ist das die Stanard-SDCard-Beleung fuer den Pico unter nuttx?


    Wenn selbst in welcher Datei, da Deine Pin-Zeilen wie aus einer Config-Datei aussehen.

    Und muesste man normal im Config-Menu den SDCard-Support nicht aktiv einstellen?

    Wo hast Du die Infos dazu gefunden, wie man da startet als Anfaenger?


    Leider ist wohl seit heute meine Ubuntu-Chromebox tot, so dass ich erstmal neu Ubuntu aufsetzen muss auf einem anderen Rechner... die Chromebox kommt nicht mal mehr zum BIOS - nur an oder abschlaten geht.

    RunCPM (4.4) funktioniert bei mir auch unter nuttx-12.7.0 auf dem Raspberry Pi Pico 2

    ngc224 Cool! :)

    Nun wuerde ich gern wissen, wie ich selbst solch ein .UF2 erzeugen kann in dieser Konfiguration und wie ich da eine eigene Version von RunCPM "reincompilieren" kann....
    Oder gibt es einen Grund warum Du da "nur" RunCPM v4.4 drin hast? Aktuell ist v6.7


    Der CP/M-68K emulator funktioniert bei mir jetzt unter NuttX-12.7.0

    auf dem Raspberry Pi Pico 2.

    WOW :) Jetzt machst Du mich aber neugierig....
    Wie hast Du den cpm68ksim in nuttx compiliert/reinbekommen?

    Wenn es machbar waere (koennte ja sein, wenn der cpm68ksim reinpasst) wuerde ich gern gegentesten ob man RunCPM (also ein Z80-CP/M-Emulator) unter nuttx auf dem Pico auch zum laufen bekommt.


    Bis jetzt laeuft RunCPM ja eher bare-metall (bzw. wohl mit einem anderen RTOS, dass man nicht driekt sieht) auf dem Pico(1(2(W).

    boeckmann

    wie updated man später dann am besten zu 2025.0?


    Eine Neuinstallation würde ja vorher die Platte formatieren...


    Als Update würde ich ansehen wenn man bei MS-DOS ein SYS C: macht (für command.com / io.sys und msdos.sys) und dann alle Files in \DOS ersetzt.


    Neben dem SYS C: waere das dann hier \SVARDOS


    Gibt es dafür eine einfache Möglichkeit oder könnte man beim Installmedium eine Replacefunktion einbauen, die aber CONFIG.SYS und AUTOEXEC.BAT nicht ändert?

    RunCPM v6.7 Source fuer den Pico2W

    konfiguriert fuer UART1 (Serial2.) auf GPIO 4 TX und 5 RX

    115.200 Baud (Zeile 61 des .ino)

    wenn man es für Serial2 auf GPIO 20&21 ändert läuft es seriell über den UEXT-Port (dann mit UEXT-RS232-Mod) des Olimex RP2040-PC mit steckbarem Pico

    SVARDOS-USB-BootStick mit einigen Text-Editoren:

    GitHub - lproven/usb-dos: Usable DOS-based live USB media
    Usable DOS-based live USB media. Contribute to lproven/usb-dos development by creating an account on GitHub.
    github.com

    The Ultimate Distraction Free Writing Environment
    The art of writing has become a cluttered one to follow, typically these days through a graphical word processor. There may be a virtual page in front of you,…
    hackaday.com