SW-Entwicklung auf dem Raspberry

  • Hallo


    Ich bin im Bereich SW-Entwicklung auf Linux-Systemen nahezu unbeleckt und möchte auf dem Raspberry SW (c++) entwickeln. Der RPI hat kein X . Auf meinem PC läuft einen Gentoo mit XFCE. Kleine Testprogramme habe ich bereits mit dem Editor von mc realisiert. Das ganze ist mir dann aber doch zu spartanisch ( wehe , es kommt mir jetzt jemand mit vi :§$% :D )
    Habe mir jetzt gedacht, ich benutze geanny und kompelliere dann remote über ssh. Hat jemand bessere Ideen ? Lohnt sich eine komplette Entwicklungsumgebung auf dem PC ? Komme aus der Windowswelt und bin Visual Studio sozialisisiert ?(


    Für Tipps bin ich sehr dankbar .......


    Schönes WE


    gehlhajo

    VDR-1: streamdev-server | Hummingboard2| TT 3600 USB | Siemens S500 Gehäuse | Archlinux mit eigen Skripten
    VDR-2: streamdev-client | rpihddevice | Raspberry 2b | Siemens S450 Gehäuse| Remote: URC6410 | LG 42LV4500 |
    Archlinux mit eigenen Skripten


  • Wenn du aus der Windowswelt kommst..


    Warum nicht ultraedit + putty?

  • So ganz verstehe ich die Frage nicht.


    Willst du etwas spezielles für den Raspberry entwicklen?


    Ansonsten ist es Linux und da ist es egal wo und wie man entwickelt.
    Und du kannst genauso auf dem Pi entwicklen, wie auf dem Desktop PC.
    Bei kleinen Projekten dauert es halt ein paar Sekunden länger als auf dem PC.


    Du brauchst einen Editor. Natürlich VI(M), was sonst?
    Compiler (GCC, TCC,... ) und make. Als Hilfsmittel noch man und grep und less.


    Wenn man X11 verwendet, macht man sich halt viele Fenster auf, um suchen, editieren und testen.
    Wenn man nur eine Konsole hat, dann nimmt man screen.


    Und schon kannst du mit "Hello World" loslegen.


    Es gibt auch für Linux Visual Entwicklungsumgebungen, für Leute die Ihre Programme zusammen klicken wollen, aber da kann ich keine Empfehlungen geben.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Oh ich sehe, es war nicht nicht ganz klar...


    Also: Beruflich programmiere ich in der Windowswelt. Zuhause gibt es nur Linux ( ok und Android auf den Mobilgeräten) Da ich beruflich mich nur mit Geschäftsprozessen befasse, möchte ich zu Hause mal wieder etwas Hardwarenahes probieren ( schließlich habe ich da mal vor Jahrzehnten gelernt) . Also haben ich mir einen kleinen Raspberry-Server zusammengebaut, der später auch mal TV in das Schlafzimmer "streamen" soll.
    [Blockierte Grafik: http://www.bilderhoster.net/1ap8kzyd.jpg.html]
    Da mein Raspberry kein X hat und mir das Coding auf VI un Co zu anstrengend ist, wollte ich mir mal einen Überblick verschaffen, was es sonst noch für Methoden gibt.
    Da ich wie gesagt hardwarenah programmieren will, soll das Kompellieren und testen der Anwendung auf dem Raspberry stattfinden. ( Vom Debuggen reden ich noch gar nicht), Die Erstellung des Quellcodes muß aber mangels X auf meinem Gentoo Rechner erfolgen.


    Anmerkung:
    Langfristig möchte ich endlich auch mal die Leute hier unterstützen, weil sie tolle Arbeit machen und ich nicht immer nur Nehmen sonder auch mal Geben will :]
    Dazu muß ich mir aber erst noch das nötige Wissen aufbauen.

    Bilder

    VDR-1: streamdev-server | Hummingboard2| TT 3600 USB | Siemens S500 Gehäuse | Archlinux mit eigen Skripten
    VDR-2: streamdev-client | rpihddevice | Raspberry 2b | Siemens S450 Gehäuse| Remote: URC6410 | LG 42LV4500 |
    Archlinux mit eigenen Skripten


  • Richte doch einfach auf dem Pi eine nfs oder smb Freigabe ein um auf deine Projekte vom Desktop aus zuzugreifen. Dann kannst du auf deinem Desktop den Editor deiner Wahl nutzen. Compilieren/Debuggen/Testen dann über ssh direkt auf dem Pi.

  • Ja, so ungefähr habe ich das auch mit meinem ersten Posting gemeint. Wollte einfach mal auch andere Meinungen hören da hier viele erfahrenen Leute sind. Will ja was lernen .... :]

    VDR-1: streamdev-server | Hummingboard2| TT 3600 USB | Siemens S500 Gehäuse | Archlinux mit eigen Skripten
    VDR-2: streamdev-client | rpihddevice | Raspberry 2b | Siemens S450 Gehäuse| Remote: URC6410 | LG 42LV4500 |
    Archlinux mit eigenen Skripten


  • die optimalste Methode fuer den RPI zu entwickeln geht IMHO ueber eine chroot-Umgebung auf einem schnellen Rechner. Dort kann man sich nach Lust und Laune seine Entwicklungsumgebung einrichten. Zudem wird so bei Bedarf das Kernel-Kompilieren in endlicher Zeit fertig. Der RPI selbst ist fuer solche Aktionen einfach nicht gedacht. Hat man alles zum Test fertig baut man sich ein eigenes SD Image und bootet das vom RPI.


    Eine Super-Beschreibung was im einzelnen zu tun ist findet sich hier:


    build your own basic Raspberry Pi Debian image | Hödlmosers' Hard- and SoftwareCuisine


    Insbesondere das Script wie man ein eigenes SD Image bauen kann ist sehr lehrreich fuer denjenigen der sowas zum ersten Mal macht.


    - sparkie

  • Eine chrroot Umgebung hatte ich sogar schon einmal, als ich noch mit gentoo auf dem Raspberry experimentiert habe. Da ich aber meine (selbst gelötete) Peripherie über i2c-Bus ansteure hilft mir eine chroot Umgebung nicht wirklich weiter. Aber für große (GUI) Projekte sicherlich sinvoll...


    LG Gehlhajo

    VDR-1: streamdev-server | Hummingboard2| TT 3600 USB | Siemens S500 Gehäuse | Archlinux mit eigen Skripten
    VDR-2: streamdev-client | rpihddevice | Raspberry 2b | Siemens S450 Gehäuse| Remote: URC6410 | LG 42LV4500 |
    Archlinux mit eigenen Skripten


  • Hi Gehlhajo


    Die ideale Entwicklungsumgebung ist wohl Geschmacksache und auch von der Art des Projekts abhängig.


    Ich persönlich entwickle das rpihddevice-Plugin auf meinem MacBook in einem virtuellen Linux, übrigens ebenfalls ein Gentoo mit xfce. ;) Das gesamte Root-FS der Himbeere habe ich auf dem grossen Rechner, im Raspberry steckt nur eine SD-Karte mit Firmware und einem Kernel der das Root-FS über NFS einbindet.


    So kann ich in meiner virtuellen Entwicklungsumgebung wunderbar mit Eclipse codieren, kompilieren tue ich das Plugin allerdings auf dem Raspberry selbst. Dauert halt ein paar Sekunden, aber meistens muss ja nur ein einzelnes File übersetzt und gelinkt werden.


    Das Raspberry-FS und den Kernel habe ich natürlich crosskompiliert, unter Gentoo geht das ja fast wie von selbst.


    Gruss
    Thomas

  • HI Thomas


    Auf Eclipse werden ich auf jeden Fall nochmal einen Blick werfen. Ansonsten werden ich das wohl so machen wie oben beschrieben: Das /usr/local/src Verzeichnis hole ich mir per Samba auf den PC und dann programmiere ich entweder mit geany oder Eclipse ( wenn es mir gefällt und ich leicht einen Einstieg finde) Kompellieren werde ich wie Du auf dem RPI, So kann ich gleich die Funktion testen.


    Schönen Sonntag Euch allen. Muß heute aber noch ein wenig weiter löten :D

    VDR-1: streamdev-server | Hummingboard2| TT 3600 USB | Siemens S500 Gehäuse | Archlinux mit eigen Skripten
    VDR-2: streamdev-client | rpihddevice | Raspberry 2b | Siemens S450 Gehäuse| Remote: URC6410 | LG 42LV4500 |
    Archlinux mit eigenen Skripten


  • Da ich aber meine (selbst gelötete) Peripherie über i2c-Bus ansteure hilft mir eine chroot Umgebung nicht wirklich weiter. Aber für große (GUI) Projekte sicherlich sinvoll...


    verstehe ich nicht. Ich mache nur Hardwareentwicklungen mit dem RPI. Natuerlich alles in CLI. GUIs sind mir ein Graus.


    Ein SD Image muss man im Normalfall nur einmal generieren. Im weiteren Verlauf mache ich alle Aenderungen in meiner Raspbian-chroot Umgebung und kompiliere nur dort. Anschliessend werden die Binaries (ohne Source natuerlich) automatisiert per rsync auf den RPI gebracht - fertig. Geht alles ruckzuck. Und sollte der Super-GAU eintreten und die SD Card mal geschrottet werden - kein Problem. Der Master ist ja auf dem Entwicklungrechner.


    - sparkie

  • Hi sparkie


    Das mit dem Rüberkopieren der Binaries auf dem RPI wurde aus Deinem ersten Post nicht ganz klar. So geht es natürlich.
    Entschuldige bitte das Missverständniss. Bin leider nicht so der Linux Crack. Aber ich arbeite dran :D
    GUIs möchte ich im Augenblick auch nicht programmieren. Das habe ich auf der Arbeit genug, muss ich als Hobby jetzt auch nicht unbedingt haben...


    LG gehlhajo

    VDR-1: streamdev-server | Hummingboard2| TT 3600 USB | Siemens S500 Gehäuse | Archlinux mit eigen Skripten
    VDR-2: streamdev-client | rpihddevice | Raspberry 2b | Siemens S450 Gehäuse| Remote: URC6410 | LG 42LV4500 |
    Archlinux mit eigenen Skripten


  • Die einzig vernünftige Art und Weise für den Raspi Software zu entwickeln, ist den Crosscompiler zu benutzen. Ich verstehe nicht, warum scheinbar so viele sich dieses selfhosted Development antun. Für alles was ich regelmäßig compilen muss, nehme ich den Crosscompiler, auch für den VDR-Build,

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.1.6) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.5 mit SAT>IP, epgsearch, live, markad
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 3.2+git | Linux Kernel 5.4.72 | VDR 2.4.5 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!