Hallo Andi,

zuerst war die Entscheidung zu fällen, welches Speichermodell man wählt.
Komplizierte Sache. die einem Freund der Motorola Adressierung nicht wirklich Freude macht.
Nach einer Weile habe ich mich auf small festgelegt.

Dann muß man dem Compiler auch noch die Speicherbelegung mitteilen.
Bei Hightec muß man das in einem locfile machen (siehe unten).
Bei Tasking stellst Du es im Menü ein.
Keil kenne ich nicht.

Die Speicherbelegung steht im Conrad Manual der CC2.

So habe ich es gemacht. Ich bin mir nicht mal sicher, ob ich es exakt richtig mache, aber es hat bei 2 Projekten soweit geklappt, wird also so falsch nicht sein.

Die ganze Segmentierung ist nicht besonders elegant (finde ich).
Hat man jedoch sich jedoch mal durgebissen (=memory model gewählt, Speicherbelegung eingestellt), kann man es zum Glück wieder vergessen, den Rest macht der Compiler.

Man erreicht auch von C aus die ganzen Goodies des Controllers, Timer, PEC, ADCs, ....


Bernhard

dpp3: 3

0x0000, 0x7ffe: text,data
0x30000,0x3fffe: text,data
0x0f600,0x0f800: bss
0x88000,0x8fffe: bss