CodeBlocks

  • Hallo zusammen,

    ich Entwickle eine SonarBoje -Sound Applikation auf dem Raspbeeri Pi2 mit CodeBlocks.

    Alles wunderbar, leider ist die Benutzung des Editors eine Zumutung, es ruckelt und
    scrollt auch nur schlecht. Gibt es eine Möglichkeit auf Windows den Code zu erstellen und dann auf den Pi
    abzuladen, also einen Pi Emulator ? So kann ich ja nicht arbeiten bei einem größeren Projekt .

    Oder sollte ich QT verwenden bin gerade ratlos, ob CodeBlocks mit dem ich bereits gute Ergebnisse bei kleinen
    Anwendungen hatte das richtige ist.

    Danke für Hinweise.
    Karsten

  • Servus Karsten,


    ... einen Pi Emulator ? So kann ich ja nicht arbeiten bei einem größeren Projekt .

    Emulator? Nicht dass ich wüsste.
    Hast Du es schon mal mit X-Forwarding für die IDE und einem NFS-share für den Sourcecode probiert?
    cu,
    -ds-

  • Die Lösung fuer dein Problem ist üblicherweise unter dem Begriff "cross-compilation" bekannt. Ich benutze zB buildroot oder OpenADK um spezialisierte Distributionen zu bekommen, die schnell booten. Die werden unter Linux/PC oder Mac (in meinem Fall) gebaut, und haben eine cross-toolchain, die ich dann zum kompilieren benutze.

    Das lohnt sich aus verschiedenen Gruenden. Zum einen kompiliert alles viel, viel schneller. Zum anderen ist der GCC eine Speichersau, und wenn man auch nur milde templatisierten Code verwendet (zB boost), dann schmiert der einem ab, weil der PI nur 1 GB hat.
    Automatisch zusammengefügt:
    Nachtrag: du *musst* diese Distributionen uebrigens nicht benutzen, eine cross-toolchain kann man auch so von Linaro bekommen. Allerdings hat die dann ein ggf. nicht zusammenpassendes sysroot, man muss also eh alles selbst bauen - da hab' ich dann gleich Nägel mit Köpfen gemacht. Und boot-zeiten in ~3 Sekunden sind auch nett.

  • cross-compilation, und wie willst dann debuggen? Wie willst du sehen ob der GPIO das tut was er soll?
    Ich sehe darin keine Option, bei mir gehts immer irgendwie um GPIO oder Pi spezifisches. Sonst könnte ich ja gleich am Laptop entwickeln.

    Edited once, last by evil (January 9, 2017 at 1:21 PM).

  • Was hat denn das eine mit dem anderen zu tun? Ein Programm auf dem PI laufen zu lassen wird doch nicht davon beeinflusst, *wie* es zustande gekommen ist. Oder baust du dir auch deine kompletten Linux-Pakete zusammen auf dem PI? Die von den Distributionen werden nämlich auch crosscompiliert....

    Und selbstverständlich unterstützt der GCC zB auch remote-debugging. Benutze ich regelmäßig.


  • Was hat denn das eine mit dem anderen zu tun? Ein Programm auf dem PI laufen zu lassen wird doch nicht davon beeinflusst, *wie* es zustande gekommen ist. Oder baust du dir auch deine kompletten Linux-Pakete zusammen auf dem PI? Die von den Distributionen werden nämlich auch crosscompiliert....

    Und selbstverständlich unterstützt der GCC zB auch remote-debugging. Benutze ich regelmäßig.

    Hallo lieber deeds,

    ich habe auf dem Pi ein LCD stecken , daher gehe ich über VNC auf den Pi-Desktop, wäre natürlich cool wenn man das etwas eleganter lösen. könnte z.b. mit einer IDE die das direkt unterstützt.

    Erstmal bin ich als Windows -Nutzer erfreut das CodeBlocks so ziemlich alle Samples kompiliert die mir aus dem Netz als Hilfe zukommen.

    Ich gucke also auch ein wenig nach Umsteiger -Hilfen, und wie andere damit umgehen.
    Technische -Probleme gibt es eigentlich keine, ich versuche nur die Prozesse zu optimieren.

    Grüsschen aus Preußen
    Karsten

  • Mein Kommentar bezog sich auf evil, weiss jetzt nicht so genau, warum du den zitierst :)

    Wie dem auch sei: es gibt halt nur so viele moeglichkeiten. Alles auf dem PI zu machen hat halt Performance-Implikationen, und die hast du zu spüren bekommen. Da gibt es jetzt keine Wundersauce, die man nur rueberkippen braucht, und es wird alles gut. Ich kenne CodeBlocks nicht, aber ich bezweifele, dass es daran liegt, wenn die die Dinge zäh sind. Andere Qt-IDEs oder so werden aehnliche Probleme haben. Und das der GCC abschmiert bei "Größeren" (ehrlich gesagt erstaunlich kleinen...) Quellcode-Dateien mit Templates ist halt einfach eine Tatsache. Der braucht Unmengen an Speicher.

    Die zweite Moeglichkeit ist das remote editieren. Mein Emacs erlaubt zB Dateien per SSH oder FTP zu bearbeiten. Damit ist das editieren selbst schnell, kompiliert wird in der Shell per SSH.

    Und last but not least eben cross-compilation.

    Ernsthafte ARM-Entwicklung (und danach sieht's bei dir aus) wird eigentlich *immer* über Cross-Compliation gemacht. Das sagt natürlich etwas über die Leistungsfaehigkeit der Platform aus, das mancher nicht hoehren will. Ändert aber die Realität nicht.

  • Debugging passiert üblicherweise über die IDE. Also hat das schon was miteinander zu tun. Bist du so ein guter Programmierer das du ohne Debuggen ein Programm entwickelst und dann am Zielsystem es genau das macht was du willst?
    Was ist wenn dein Programm auf einen GPIO wartet. Programmierst du das dann am System A und spielst es auf der Pi und siehts dann das du den falschen GPIO Nummer genommen hast gehst zurück auf System A behebst den Fehler. kompilierst das Programm neu und spielst es wieder auf die Pi. Das halte ich für uneffizient.

    Hab früher geany (ohne Debuggen) benutzt und will nun codelite benutzen. Hoffe das ist verwendbar. (Pi Zero wohlgemerkt)

    Hat jemand schon mal Microsoft Code auf der pi benutzt?
    Automatisch zusammengefügt:
    Mir scheint __deets__ meinte sowas, remote debuggung ist wohl mit Eclipse recht einfach.

    https://sebastianfoerster86.wordpress.com/2015/06/13/rem…ng-mit-eclipse/
    https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=108192

    Edited once, last by evil (January 9, 2017 at 3:26 PM).

  • Ich entwickle ueblicherweise ohne IDE, sondern mit dem Emacs. Aber zB iOS-Entwicklung mache ich natürlich ueber die IDE, und darüber Debugge ich auch. Und das Remote debugged wird ist auch nichts besonderes. Insofern muss ich kein göttlich guter Programmierer sein, der ohne debugging auskommt...

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!