PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Heul! KEIL µVision2! Ich raffs nicht!



Import-Script
17.06.2003, 18:07
Hallo Leute! <BR> <BR>Folgendes Problem: Hab die Trial-Version vom KEIL µVision2 bekommen. Nun möchte ich ein ziemlich langes Programm, welches noch mit DOS-Assembler/Linker gemacht worden ist, mit dem Teil neu erstellen &#40;Learning by Doing quasi&#41;. Also hab ich folgendes gemacht: F&uuml;r die verschiedenen Hardwareteile &#40;Display, Tastaturlatch usw.&#41; jeweils eigene Module erstellt und die entsprechenden Programmteile hineinkopiert, zusammen mit den ganzen Bekanntmachungen &#40;public, extern&#41; usw. Die Variablen hab ich in einer .h-Datei &#40;HEADER?&#41; angelegt. Bis dahin hats auch funktioniert. Als ich aber nach und nach mehr von den Originalroutinen und ihrer Variablen hinzugef&uuml;gt hab, bekam ich immer Fehlermeldungen &#40;Warning: L4 DATA Space Overlap und so Zeug&#41;, es betrifft also meine Variablendeklarationen in der .h-Datei. <BR> <BR>Das ganze sieht folgendermaßen aus: <BR> <BR>BYTEVAR segment DATA <BR>BITVAR segment BIT <BR>... <BR> <BR>rseg BYTEVAR <BR>Var1: ds 1 <BR>Var2: ds 1 <BR>... <BR> <BR>rseg BITVAR <BR> <BR>Bit1 dbit 1 <BR>... <BR> <BR>Die Bits scheinen zu funktionieren, aber die Bytes tun es nicht so... Wenn ich ein paar der Deklarationen rausnehme, tuts wieder. Aber ich hab den Bereich nicht mal bis zur Hälfte voll? <BR> <BR>Wie kann ich jetzt voll definieren, welcher Bereich &#40;DATA, BIT, usw.&#41; wo genau anfängt und aufhört? F&uuml;r DATA zum Beispiel möchte 30h - 7Fh, also nach dem bitadressierbaren Bereich bis zu den SFR&#39;s. <BR>Die ganze Sache ist freilich f&uuml;r einen 8052 Kompatiblen... <BR> <BR>F&uuml;r deutschsprachige Anleitungen zum µV2 oder sonstigen Links zum Training an dem Teil bin ich ebenfalls empfänglich... <BR> <BR>Thx im Voraus

Import-Script
17.06.2003, 22:42
Hast Du dem Linker denn auch gesagt, daß Du 256 Byte RAM hast ? <BR> <BR>RS &#40;256&#41; <BR>

Import-Script
18.06.2003, 00:06
Ja, hab als Derivat den AT89C52 ausgewählt, mit dem ich ja auch arbeite... <BR> <BR>Hab es jetzt so gelöst, daß ich den Variablen feste Adressen zugeordnet hab &#40;VAR1 DATA 30h, VAR2 DATA 31h, usw.&#41;, aber schön ist das halt nicht. <BR> <BR>Die Kiste hat gemotzt, das die Länge des DATA-Segments zu lang ist &#40;96h&#41;, aber ich benutze 13&#42;1Bytevariablen, 4&#42;2Bytevars und 3&#42;3Bytevars. <BR>Das sind 30 Byte. <BR> <BR>Gruß