Google und viel Geduld sind Deine Freunde dabei.
Ich kann mich noch erinnern wie es mir ging als ich vor dieser Aufgabe
stand.
Vergiss mal die Linkerscripts fuer den Anfang.
Das ist starker Tobac.
Dazu musst Du erst mal wissen wie ein C Programm funktioniert, und dazu
musst Du erst mal ein C Programm schreiben und es compilieren, wozu man
ein makefile benutzen kann.
Mach Dir klar was der Prozess des Kompilierens alles beinhaltet.
Preprozessor, Compiler, Linker, dann wie Dir make dabei hilft.
Vertiefe Dich erst mal in die einfachen Compiler Optionen mit einem
einfachen C Programm was aus ein paar Source files zusammengebaut wird.
google nach makefile Tutorial und Du hast einen Anfang.
Schreibe Dein erstes makefile und verbessere es Schritt fuer Schritt.
Das geht alles ohne uC.
Dann solltest Du Dich fuer einen Mikrokontroller entscheiden und Dir mal
den assembler code ansehen, den der Controller braucht um was
brauchbares auszufuehren und Du vergleichst das mit Deinem C Programm.
Damit wirst Du sehen das da noch was hinter den Kulissen passiert was Du
in Deinem C programm nicht geschrieben hast.
Seh Dir genau an, was der Compiler mit den Variablen und Constanten
macht und beobachte in welchen Sektionen Sie landen.
Damit weisst Du das es Sektionen gibt und kannst Dich fragen wozu es
diese gibt. Und damit bist Du dann beim Linker und dessen Script.
Entscheide Dich fuer einen Compiler bzw. fuer eine Toolchain und bleibe
waerend des gesamten Lernprozesses bei dieser Toolchain. Eine gute Wahl
ist eine Toolchain die komplett open Source ist. Weil man da auch mal
hinter die Kulissen gucken kann.
troll schrieb:
> Wenn ja würde ich in die Doku von der Toolchain gucken. Aber das sind
> eigentlich Sachen die man sich nicht freiwillig antut...
Da hat er Recht, aber das ist die einzige verlaessliche Quelle.
Man muss bedenken das die Dokus von den Programmierern kommen. Und fuer
diese ist es schwer sich in den Kopf eines Einsteigers hinein zu denken.
Man kann aber eine ganze Menge ueber die Hintergruende erfahren mit
denen sich die Programmierer auseinandergesetzt haben um dieses Werkzeug
zu erstellen. Was dem Leser einen tieferen Einblick in das Low-Level
Verhalten des Werkzeugs und/oder der Hardware verschafft.
Alles in allem, es ist ein harter Weg, und man braucht
Durchhaltevermoegen.
Aber es ist jede Frustration Wert.
Schnell ist man dabei sich zu fragen ob man das wirklich alles braucht.
Gibt es doch diese Schicken IDE's die alles fuer einen erledigen.
Ich selbst entwickle alles mit dem gcc und eclipse und oft genug benutze
ich einfach die vorgefertigten plugins um Projekte zu erstellen oder zu
verwalten.
Doch das funktioniert nur mit Projekten wo sich schon ein anderer
Programmierer den Kopf darueber zerbrochen hat wie man es am besten
macht.
Auch sind die vorgefertigten Loesungen oft Suboptimal und oft kommt es
vor, das das vorgefertigte Plugin nicht das macht was man erwartet, oder
man muss das Linkerscript anpassen weil man bestimmte Variablen in einem
schnelleren Zugriff braucht.
Dann ist man sehr gut damit beraten zu wissen was hinter den Kulissen
geschieht, und oft ist es schneller ein Linkerscript anzupassen als am
Sourcecode solange zu fummeln bis er doch macht was man will.