Forum: Mikrocontroller und Digitale Elektronik Standardwerk gesucht.


von Namen123 (Gast)


Lesenswert?

Hallo,

ich suche ein Buch welches die Grundlagen der Programmierung von uC 
behandelt. Ich meine jetzt nicht, wie man in C programmiert, sondern 
solche Dinge wie Umgang mit make (makefiles schreiben) dann zb. 
schreiben der Files(ich kenne den Namen nicht) die beschreiben was wo 
verarbeitet wird sprich im RAM oder im FLASH der CPU etz.
Vlt. hat ja jemand ein Tipp wo man da anfangen kann.

von troll (Gast)


Lesenswert?

Namen123 schrieb:
> Files(ich kenne den Namen nicht) die beschreiben was wo
> verarbeitet wird sprich im RAM oder im FLASH der CPU etz.
Linkerskript??

Wenn ja würde ich in die Doku von der Toolchain gucken. Aber das sind 
eigentlich Sachen die man sich nicht freiwillig antut...

von sd (Gast)


Lesenswert?

Namen123 schrieb:
> sondern
> solche Dinge wie Umgang mit make (makefiles schreiben)

Das hat ja nichts mit Mikrocontrollern zu tun. google nach makefile 
sollte genügend Infos zur weiteren Einarbeitung liefern.

von Name123 (Gast)


Lesenswert?

Ja das stimmt, make hat nicht wirklich was damit zutun aber der 
Linkerscript wie oben bereits erwähnt. Aber alles zusammen braucht man 
im Endeffekt schon.

Ich muss mich mit einem Thema etwas tief gehender beschäftigen deshalb 
reicht da meistens "Google" nicht aus, es muss bestimmt gute Literatur 
zu geben.

von Rolf (Gast)


Lesenswert?

Name123 schrieb:
> Ich muss mich mit einem Thema etwas tief gehender beschäftigen deshalb
> reicht da meistens "Google" nicht aus, es muss bestimmt gute Literatur
> zu geben.

Die Literatur findet man doch mit google ;-)

von Juergen G. (jup)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.