{"id":295,"date":"2011-08-17T14:04:29","date_gmt":"2011-08-17T12:04:29","guid":{"rendered":"http:\/\/blog.thomasius.net\/?p=295"},"modified":"2011-08-17T14:04:29","modified_gmt":"2011-08-17T12:04:29","slug":"microchip-c30-compiler-unter-linux","status":"publish","type":"post","link":"https:\/\/blog.embedded-system-design.de\/index.php\/2011\/08\/17\/microchip-c30-compiler-unter-linux\/","title":{"rendered":"Microchip C30 Compiler unter Linux"},"content":{"rendered":"<p>Microchip\u2019s C30 Compiler for PIC24 und dsPIC Mikrocontroller basiert auf dem GCC, so dass dessen Quelltexte frei verf\u00fcgbar sind und auf verschiedenen Plattformen \u00fcbersetzt werden k\u00f6nnen. W\u00e4hrend ich mir vor einigen Monaten so meine Linux-Version selbst \u00fcbersetzen musste, bietet Microchip inzwischen eine <a title=\"Microchip MPLAB-X\" href=\"http:\/\/www.microchip.com\/en_US\/family\/mplabx\/index.html\" target=\"_blank\">Beta-Version der MPLAB-X Entwicklungsumgebung<\/a> inklusive dem GCC-basierten C30-Compiler f\u00fcr Linux an. Das C30-Paket tr\u00e4gt gegenw\u00e4rtig die Versionsnummer 3.30b und basiert auf dem GCC 4.0.3.<\/p>\n<p>Nach dem <a title=\"MPLAB-X IDE Beta Download\" href=\"http:\/\/ww1.microchip.com\/downloads\/mplab\/X_Beta\/index.html\" target=\"_blank\">Herunterladen des C30-Installationspaketes<\/a> verwundert es mich, dass dieses unbedingt root-Rechte haben m\u00f6chte. Ich bin immer etwas vorsichtig, wenn es sich um einen propriet\u00e4ren Installer handelt, und ich vorher nicht einsehen kann, was er tut. Um zu \u00fcberpr\u00fcfen, dass bei der Installation nichts gef\u00e4hrliches passiert, habe ich die ganze Installation in einer Sandbox mitgetrackt. Gl\u00fccklicherweise werden durch den Installer nur Dateien im Ordner \/opt\/microchip entpackt. Hierf\u00fcr wohl auch die erforderten root-Rechte. F\u00fcr den aufrufenen Benutzer werden anschlie\u00dfend in .bashrc und .profile der Programmsuchpfad PATH durch die Zeile<\/p>\n<p><code>export PATH=\/opt\/microchip\/mplabc30\/v3.30b\/bin:$PATH<\/code><\/p>\n<p>erweitert. Besser h\u00e4tte ich es gefunden, wenn der Installer auch ohne root-Rechte eine Installation im Benutzerverzeichnis zul\u00e4sst.<\/p>\n<p>Nach der Installation stehen die Binutils und der C-Compiler mit dem Prefix <em>pic30-<\/em> zur Verf\u00fcgung. Leider kein GNU Debugger (gdb) &#8211; daf\u00fcr aber ein Instruction-Set Simulator (sim30). Unterst\u00fctzt werden 16-Bit Mikrocontroller der PIC24-, dsPIC30-, dsPIC33-Familien. Beim \u00dcbersetzen enstehen Binaries im Common Object File Format (COFF), die sich auf das Target flashen lassen.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microchip\u2019s C30 Compiler for PIC24 und dsPIC Mikrocontroller basiert auf dem GCC, so dass dessen Quelltexte frei verf\u00fcgbar sind und auf verschiedenen Plattformen \u00fcbersetzt werden k\u00f6nnen. W\u00e4hrend ich mir vor einigen Monaten so meine Linux-Version selbst \u00fcbersetzen musste, bietet Microchip inzwischen eine Beta-Version der MPLAB-X Entwicklungsumgebung inklusive dem GCC-basierten C30-Compiler f\u00fcr Linux an. Das C30-Paket &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/blog.embedded-system-design.de\/index.php\/2011\/08\/17\/microchip-c30-compiler-unter-linux\/\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1,3,5,8],"tags":[27,30,36,39,44],"_links":{"self":[{"href":"https:\/\/blog.embedded-system-design.de\/index.php\/wp-json\/wp\/v2\/posts\/295"}],"collection":[{"href":"https:\/\/blog.embedded-system-design.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.embedded-system-design.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.embedded-system-design.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.embedded-system-design.de\/index.php\/wp-json\/wp\/v2\/comments?post=295"}],"version-history":[{"count":0,"href":"https:\/\/blog.embedded-system-design.de\/index.php\/wp-json\/wp\/v2\/posts\/295\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.embedded-system-design.de\/index.php\/wp-json\/wp\/v2\/media?parent=295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.embedded-system-design.de\/index.php\/wp-json\/wp\/v2\/categories?post=295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.embedded-system-design.de\/index.php\/wp-json\/wp\/v2\/tags?post=295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}