Das offizielle Blog der h8u.de Gemeinde | |
Und wenn ich lange Weile habe, oder angepisst bin, dann göbel ich nochmal ins Blog... |
Friday, 14. June 2013Dear Lazyweb: GNU Linkerscripts
Der Code besteht aus reinem ARM7TDMI Assembler, der direkt ohne ein Betriebssystem auf dem Microcontroller läuft. Eine Portierung sieht nicht so schwer aus. Mein größtes Problem ist dabei das Arbeiten mit dem Linker, für den ich ein eigenes Linker-Script entwickeln muss. Das Layout im Flash-Speicher des Microcontrollers soll so aussehen: Startvektoren Bootstrapcode ROM Simulator 2600 ROM DatenDer Bootstrapcode initialisiert den Microcontroller, kopiert den ROM Simulator ins RAM und startet diesen dann. Der holt dann bei Bedarf die Daten aus dem restlichen Speicher. Die Reihenfolge ist dadurch vorgegeben, das ein ROM-Image durch das Hintereinanderhängen von ARM Code und 2600 Code erzeugt werden soll. "Dear Lazyweb: GNU Linkerscripts" vollständig lesen Sunday, 3. February 2013PHP ade (?)
Das Ökosystem PHP wird auf allen Ebenen zerlegt: in allen Facetten der Sprachdefinition genauso wie die Standardbibliothek, also die Funktionen, die mitgeliefert werden. Auch so ziemlich jedes "aber"-Argument wird genauso zerlegt. Ein kurze Kostprobe will ich mal übersetzen: das Argument "ein guter Programmierer kann in jeder Programmiersprache guten Code schreiben" wird meiner Meinung nach korrekt auseinandergenommen mit: "Ein guter Handwerker kann einen Nagel entweder mit einem Stein oder einem Hammer einschlagen, aber wie viele Handwerker sieht man, die auf Nägel mit Steinen einschlagen? Ein Teil von dem, was einen guten Entwickler ausmacht, ist die Fähigkeit die richtigen Werkzeuge auszuwählen." "PHP ade (?)" vollständig lesen Saturday, 3. December 2011Webservertrouble-Blues
Als ich ihm danach mehr Ressourcen zur Verfügung gestellt hatte, verklemmte nach kurzer Zeit das PHP, was mir aber auch erst Stunden später aufgefallen ist. Und das alles, obwohl ich mir Mühe gegeben hatte den Webserver auf einen eventuellen Ansturm vorzubereiten, zum Beispiel durch das Cachen von PHP-Seiten. Geholfen hat es nichts, wie das Ergebnis zeigt. "Webservertrouble-Blues" vollständig lesen Sunday, 9. October 2011Poor Man's Rootkit
Ich habe dabei ein paar Sachen kombiniert, die ich schon Monaten, das Meiste davon sogar schon seit Jahren kenne. Interessant ist dabei die Mächtigkeit, die aus den Kombination der Einzelteile entsteht. Der Trick besteht im Wesentlichen daraus, dass man dem Linker beim Starten eines Programms anweisen kann, neben den angeforderten Bibliotheken noch weitere "Shared Objects" hinzu zu laden, die dann eine höhere Priorität aufweisen. Das wollen wir uns zu nutze machen, um den Aufruf der Funktion open() aus der C-Bibliothek "abzufangen". "Poor Man's Rootkit" vollständig lesen Friday, 2. September 2011Dear Lazyweb: Graphen erzeugen
Irgendwie gab es immer einen Fall, in dem die Abfrage, die außerdem noch eine Schnittstelle zum Auslesen der CD-Daten via CD-Text verwendet, nicht so funktioniert hatte, wie ich es meinte. Habe ich mal schnell eben das eine Problem gelöst, habe ich meistens damit ein bis zwei andere Probleme geschaffen. Unterm Strich blieb immer mindestens ein Problem über. Also habe ich mir Gedanken gemacht, wie die Beschreibung der Funktion in einem Zustandsautomaten aussehen sollte. Nachdem ich dies graphisch beschrieben habe, habe ich es dann "von Hand" runter programmiert. Dabei sind mir noch Unzulänglichkeiten aufgefallen, die ich aber überraschend einfach in den Griff bekommen habe, durch das Hinzufügen eines neuen Zustandes und ein paar übersehener Übergänge. Das vorläufige Endergebnis habe ich hier noch einmal aufgezeichnet. Zustandsautomat Wenn ich mir das Bild noch einmal anschaue, verstehe ich auch, warum viele Beispiele von State Machines Ampeln nachbilden: die Dinge neigen dazu, schnell an Komplexität zuzunehmen. "Dear Lazyweb: Graphen erzeugen" vollständig lesen Sunday, 3. October 2010Extrem k(l)einer PC
Und um eine solche Kiste soll es im Folgenden gehen. Mir wurde freundlicherweise mal ein solches System von meinem externen Kollegen Michael Sülzer zum Rumspielen zur Verfügung gestellt. Vielen Dank. Es handelte sich dabei um einen Rechner mit den beeindruckenden Ausmaßen von circa 11.5cm x 11.5cm x 3.5cm, der mit einer Vortex86 CPU bestückt ist. Diese CPU ist ein System-On-Chip, ein Chip beinhaltet also alles, was man im Kern zum Betrieb eines Computers braucht: Rechenwerk, Grafik, IO-Funktionalität, etc. Im normalen Betrieb benötigt er circa 7 Watt, ich habe es auch unter Volllast nicht geschafft ihn auf über 10 Watt zu bringen (im Betrieb mit einer CF-Karte). Nicht schlecht für ein System mit 1GHz Takt, 256MB RAM und einer 1GB CF-Karte (eine 2.5"-Festplatte mit PATA Anschluss passt theoretisch auch noch mit ins Gehäuse). Normalerweise schaffen nur ARM-Systeme eine solch geringe Leistungsaufnahme. Um noch ein Vergleich, um klar zu machen, wie kompakt das Gerät ist: man kann es nicht auf eine CD stellen, ohne dass irgendwo etwas hervorlugt, siehe auch die Bilder, da habe ich da nämlich mal probiert. "Extrem k(l)einer PC" vollständig lesen Sunday, 19. September 2010GRUB4DOS
GRUB4DOS ist eine Abspaltung (auch "Fork" genannt, nach dem englischen Begriff für "Gabelung" oder "Verzweigung") des "originalen" GRUB. Ursprünglich dafür gedacht, um von DOS aus ein GRUB-ähnliches Tool laden zu können, das Programm mittlerweile wohl eher selten von DOS aus genutzt. Die heutzutage viel nützlichere Verwendungsmöglichkeit ist ihn entweder als nativen Bootloader einzusetzen, oder aber um ihn vom Windows Bootloader starten zu lassen. "GRUB4DOS" vollständig lesen Monday, 13. September 2010Tiny Core Linux Version 3.1
"Tiny Core Linux Version 3.1" vollständig lesen
|
SucheKategorienStatische SeitenAnsicht auswählen |
Kommentare