<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Fjord &#187; kompilieren</title> <atom:link href="http://fjord.mrmuli.de/tag/kompilieren/feed/" rel="self" type="application/rss+xml" /><link>http://fjord.mrmuli.de</link> <description></description> <lastBuildDate>Thu, 05 May 2011 07:54:13 +0000</lastBuildDate> <language>de</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3</generator> <item><title>AVR Butterfly und der Leopard (OS X 10.5.7)</title><link>http://fjord.mrmuli.de/2009/07/avr-butterfly-und-der-leopard-os-x-10-5-7/</link> <comments>http://fjord.mrmuli.de/2009/07/avr-butterfly-und-der-leopard-os-x-10-5-7/#comments</comments> <pubDate>Mon, 27 Jul 2009 10:20:47 +0000</pubDate> <dc:creator>Muli</dc:creator> <category><![CDATA[Technik]]></category> <category><![CDATA[10.5]]></category> <category><![CDATA[AVR]]></category> <category><![CDATA[AVR Butterfly]]></category> <category><![CDATA[avr-gcc]]></category> <category><![CDATA[Butterfly]]></category> <category><![CDATA[C]]></category> <category><![CDATA[kompilieren]]></category> <category><![CDATA[Leopard]]></category> <category><![CDATA[mac]]></category> <guid
isPermaLink="false">http://fjord.mrmuli.de/?p=494</guid> <description><![CDATA[Wie hier im Archiv nachzulesen ist, habe ich immer mal wieder halbherzige Versuche unternommen meinen sog. Microcontroller Evaluation Kit am Mac zu Programmieren. Auf gut deutsch: Ich habe ein AVR Butterfly auf meinem Schreibtisch liegen und krieg es ums verrecken nicht hin ihn sinnvoll mit kompiliertem Code zu f&#252;llen. Wobei das Bef&#252;llen nicht das Problem [...]]]></description> <content:encoded><![CDATA[<p>Wie hier im Archiv nachzulesen ist, habe ich immer mal wieder halbherzige Versuche unternommen meinen sog. Microcontroller Evaluation Kit am Mac zu Programmieren. Auf gut deutsch: Ich habe ein AVR Butterfly auf meinem Schreibtisch liegen und krieg es ums verrecken nicht hin ihn sinnvoll mit kompiliertem Code zu f&#252;llen. Wobei das Bef&#252;llen nicht das Problem darstellt. Zwischenzeitlich funktionierte alles sogar mal halbwegs, mit dem Problem, dass der Linker selbst gebauten Bibliotheken einbinden wollte. In jedem Fall hatte ich mit vielen unterschiedlich dummen Fehler zu tun und da ich im Netz auf viel Zeug, aber nicht auf das gesto&#223;en bin, was ich suchte, gibt es jetzt hier das einzig wahre Tutorial.</p><h4>Was man braucht:</h4><p>AVR-Butterfly, Serielles Kabel, USB auf Seriell Adapter, CrossPack for AVR® Development</p><h4>Serielles Kabel:</h4><p><img
class="pic-right" src="http://fjord.mrmuli.de/wp-content/uploads/2009/07/butterfly-serial-cable.jpg" alt="butterfly-serial-cable.jpg" border="0" width="350" height="232" /></p><p>Das serielle Kabel (ich habe meins von einer alten Maus abgeschnitten) muss der Grafik entsprechend angeschlossen werden. Im Falle der hoffentlich standardisierten Beschriftung meines Steckers kommt (wenn man das Butterfly-Modul so h&#228;lt, dass man die Beschriftung richtig herum vor sich hat) Pin5 des Steckers an den unteren der 3 Pins auf dem Modul, Pin 2 an den Mittleren und Pin 3 an den oberen.</p><h4>USB auf Seriell Adapter:</h4><p><img
class="pic-left" src="http://fjord.mrmuli.de/wp-content/uploads/2009/07/USB2Serial.jpg" alt="USB2Serial.jpg" border="0" width="326" height="322"/>Hier hatte ich Gl&#252;ck, dass der Adapter, der damals f&#252;r einen PC gekauft wurde, am Mac funktionierte. Da die "Adresse" des Adapters im Makefile angegeben werden muss, ist es unabdingbar sie herauszufinden, dies geschah in meinem Fall &#252;ber die Kommandozeile/das Terminal. Mit</p><pre>ls /dev</pre><p>bekommt man den Inhalt des Devices-Ordners zu sehen und hier sollte der Adapter nach installation der Treiber oder evtl. auch einfach so auftauchen. In meinem Fall setzt der Name des Ger&#228;tes sich zusammen aus tty, einer Unix spezifischen Kennung, PL2303, welches der Typbezeichnung des Adapters entspricht und einer Zufallszahl, die sich bei jedem an und abstecken des Teils &#228;ndert.</p><h4><a
href="http://www.obdev.at/products/crosspack/download.html">CrossPack for AVR® Development</a>:</h4><p>Vormals hies das Projekt AVR® MacPack, wurde aber aus Lizenzgr&#252;nden umbenannt. Nichts desto trotz, holt man sich hiermit alles auf den Mac, was man braucht, um den Code zu kompilieren und auf das Modul zu schieben. Die Dateien werden in</p><pre>/usr/local/CrossPack-AVR-"Datum der aktuellen Version"</pre><p>abgelegt. Um sp&#228;ter sinnvolle updaten zuk&#246;nnen, gibt es das Verzeichnis auch ohne den Datumszusatz, wo dann Links auf die benutzen Dateien liegen, so dass die Systempfade bei jeder Installation erhalten bleiben und nur die Links auf die aktuelle Installation umgebogen werden. Eigentlich k&#246;nnte der Ort der Files auch egal sein, denn da avr-gcc und avr-dude in den Systempfad eingetragen werden, funktionieren die Kommandos direkt, ohne ins Verzeichnis gehen zu m&#252;ssen. Es befindet sich dort aber der Ordner</p><pre> /usr/local/CrossPack-AVR/manual</pre><p>hier liegen einige HTML-Files, die mehr oder minder Hilfreich sind. In jedem Fall ist die Installation des Pakets ein Kinderspiel (pkg-Installer) und falls man jetzt noch wei&#223;, wie der USB auf Seriell Adapter hei&#223;t, ist der Rest quasi ein Kinderspiel.</p><h4>Ran an den Speck:</h4><p>Ich habe <a
href="http://fjord.mrmuli.de/wp-content/uploads/2009/07/butterfly.zip" title="butterfly.zip">hier</a> mal alles an Dateien zur Verf&#252;gung gestellt, was f&#252;r ein kleines Beispielprogramm notwendig ist. Das ganze wurde im Rahmen eines Projektes an der Uni genutzt und besteht, aus 2 makefiles (makefile.avr und makefile). In makefile muss selbst noch ein bisschen Hand angelegt werden, denn hier muss an entsprechender Stelle der USB nach Seriell Adapter eingetragen werden (makefile ist gut kommentiert und die Stelle nicht zu verfehlen). Neben dem eigentlichen Programm in der main.c ist auch mit butterfly.h und butterfly.c gleich eine Bibliothek mit eingebunden.</p><p>Die vorbereiteten Dateien werden in einem Ordner verstaut und das Terminal ge&#246;ffnet. Hier wechselt ihr in das entsprechende Verzeichnis und kompiliert alles mit</p><pre>make all</pre><p><img
class="pic-right" src="http://fjord.mrmuli.de/wp-content/uploads/2009/07/avrdude-fin.jpg" alt="avrdude-fin.jpg" border="0" width="471" height="159" /><br
/> An dieser Stelle hatte ich den Fehler gemacht den Anweisungen in der Doku vom CrossPack zu folgen, die nicht wirklich zum Ziel f&#252;hrte. Nach dem Kompilieren wuseln ungez&#228;hlte Dateien im Ordner herum. Das eigentliche Produkt ist die main.hex, die nun mit AVR-Dude auf das Modul geflasht wird.</p><p>Also Modul per Adapter und seriellem Kabel an den Rechner st&#246;pseln, die Stromzufuhr des Moduls kurz unterbrechen, um es zur&#252;ck zu setzen (Batterie kurz anheben), jetzt mit dem Befehl</p><pre>avrdude -p atmega169 -P /dev/tty.usbserial -c butterfly -V -U flash:w:main.hex</pre><p>das Flashen ansto&#223;en und den Joystick dr&#252;cken. Anstatt "/dev/tty.usbserial" sollte nat&#252;rlich die Adresse des eigenen USB auf Seriell Adapter im Befehl verwendet werden. Das Ergebnis sollte in der Kommandozeile schlie&#223;lich so aussehen, wie im Bild. Wenn AVR-Dude danke sagt, ist alles gut. Jetzt noch den Stick nach oben bewegen, um das Programm zu starten und das Modul sollte nervig piepen.</p><p>Damit w&#228;re der erste Schritt geschafft. Von jetzt an geht es um die "wirklichen" Probleme bei der Programmierung etc. Bei deren L&#246;sung w&#252;nsche ich viel Erfolg :)</p> ]]></content:encoded> <wfw:commentRss>http://fjord.mrmuli.de/2009/07/avr-butterfly-und-der-leopard-os-x-10-5-7/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PHP 5.2.6 mit GD-lib (und PDO) unter OS X 10.5.5 Leopard</title><link>http://fjord.mrmuli.de/2008/11/php-526-mit-gd-lib-und-pdo-unter-os-x-1055-leopard/</link> <comments>http://fjord.mrmuli.de/2008/11/php-526-mit-gd-lib-und-pdo-unter-os-x-1055-leopard/#comments</comments> <pubDate>Thu, 20 Nov 2008 22:27:47 +0000</pubDate> <dc:creator>Muli</dc:creator> <category><![CDATA[Technik]]></category> <category><![CDATA[10.5.5]]></category> <category><![CDATA[5.2.6]]></category> <category><![CDATA[kompilieren]]></category> <category><![CDATA[Leopard]]></category> <category><![CDATA[mac]]></category> <category><![CDATA[OS X]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Webserver]]></category> <guid
isPermaLink="false">http://fjord.mrmuli.de/?p=318</guid> <description><![CDATA[Nachdem in OS X von der Unix Seite her in vielen F&#228;llen die von mir gew&#252;nschten Features schon im Auslieferungszustand dabei sind und z.B. PHP im bereits installierten Apache-Webserver nur noch in der httpd.conf aktiviert werden muss (hier bereits erw&#228;hnt), bin ich jetzt an die Grenzen der mitgelieferten Software  gesto&#223;en und zwar in der Form [...]]]></description> <content:encoded><![CDATA[<p>Nachdem in OS X von der Unix Seite her in vielen F&#228;llen die von mir gew&#252;nschten Features schon im Auslieferungszustand dabei sind und z.B. PHP im bereits installierten Apache-Webserver nur noch in der httpd.conf aktiviert werden muss (<a
title="PHP in OS X aktivieren" href="http://fjord.mrmuli.de/?p=130" target="_blank">hier</a> bereits erw&#228;hnt), bin ich jetzt an die Grenzen der mitgelieferten Software  gesto&#223;en und zwar in der Form von <a
title="Drupal CMS" href="http://www.drupal.org" target="_blank">Drupal</a>.</p><p>Da ich als Nebenjob PHP hacke und dort Termindruck herrscht etc. hab ich mich f&#252;r den Job noch nicht ausf&#252;hrlich mit PHP und dem Mitgelieferten PHP-Modul auseinandergesetzt. Erst war ich mit XAMPP f&#252;r den Mac unterwegs, dann mit dem Apache und PHP-Modul, die bei OS X dabei sind und als mit dieser Konfiguration bei mir irgendwas nicht laufen wollte, bei meine Kollegen hingegen ohne weiteres, bin ich auf MAMP umgestiegen. Damit l&#228;uft alles soweit, dass sich auf der Firma prima entwickeln l&#228;sst, auch wenn ich es eigentlich nicht so richtig toll finde, wenn ein Apache und PHP schon im Lieferumfang steckt einen externen Webserver zu installieren und Software doppelt auf dem Rechner zu haben.</p><p>Somit kam der MySQL-Server zum mitgelieferten Webserver hinzu und so war f&#252;r kleinere Nebenprojekte privater Natur schon mal alles auf Bordmittel umgestellt. Aus Interesse habe ich mich in der letzten Woche etwas intensiver mit Drupal auseinander gesetzt und bekam hier die Nachricht, dass bei meinen Bordmitteln die GD-lib zu alt, oder nicht installiert ist (ist eine Bibliothek die aus PHP heraus das Erstellen und Bearbeiten von Grafiken erm&#246;glicht). Nach ein bisschen Recherche stellte sich heraus, dass das PHP Modul von OS X abgespeckt ist und dort einiges fehlt (was auch der Grund sein k&#246;nnte, wieso auf der Arbeit das ein oder andere nicht klappte, wobei ...). Das Netz sagte mir auch, dass man, die GD-lib nicht einfach zum PHP-Modul hinzuinstallieren kann (habe das mal so geglaubt und nicht weiter in diese Richtung gesucht).</p><p>Also musste ein neues PHP-Modul mit GD-lib Support her. Hier gibt es 2 M&#246;glichkeiten. Entweder, man besorgt sich von irgendwo eine kompilierte Version, die nur noch an die richtige Stelle kopiert und in der Konfig-Datei angegeben werden muss, oder man kompiliert selbst.</p><p>Da ich kompilierungstechnisch und auch was die Innereien von PHP und Apache, sowie deren Zusammenspiel angeht, recht unwissend bin, bedurfte es f&#252;r mich in beiden F&#228;llen einer Anleitung und eigentlich h&#228;tte ich die Methode mit der kompilierten Version bevorzugt. Hierzu st&#246;&#223;t man schnell auf <a
title="entropy.ch" href="http://www.entropy.ch" target="_blank">entropy.ch</a>. Hier wird ein sch&#246;nes Installationspaket f&#252;r eine nicht ganz aktuelle PHP-Version angeboten, das aber leider f&#252;r OS X 10.4 Tiger bestimmt ist und unter Leopard nicht tut.</p><p>Desweiteren gab es einen Build von PHP 2.2.5, der aber nicht mehr zum Download bereit steht. Man bekommt aber noch eine 2.2.X-BetaY. Hier h&#228;tte ich wohl oder &#252;bel zugegriffen, wenn ich nichts anderes gefunden h&#228;tte, aber eigentlich hatte ich nicht vor mir eine Beta zu installieren. Ich hab schon genug mit Bugs in meinem PHP-Code zu tun, da muss ich mir nicht noch Bugs mit PHP auf den Mac holen.</p><p>Wie dem auch sei, habe ich auf der Seite von John Malis eine wunderbare <a
title="Build PHP 5.2.6 on your Mac" href="http://www.malisphoto.com/tips/php-on-os-x.html" target="_blank">Anleitung</a> gefunden, wie ich mir das aktuelle PHP-Modul (5.2.6) auf dem Mac selbst bauen kann und zwar mit GD-lib (und PDO). Das Ganze hat wunderbar geklappt und zumindest Drupal meckert jetzt nicht mehr. Ob das CMS-Monster, mit dem ich beruflich zu tun hat auch mit dem neuen Modul ordentlich arbeitet und MAMP damit entsorgt werden kann, finde ich sp&#228;ter heraus.</p> ]]></content:encoded> <wfw:commentRss>http://fjord.mrmuli.de/2008/11/php-526-mit-gd-lib-und-pdo-unter-os-x-1055-leopard/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
