Hallo Leute, mal kurz eine andere Frage! wie kann ich es beinflußen, dass ich bei der Simulation mein in C geschriebenes Programm sehe und nicht assembler, welcher von C in Assembler von Compiler übersetzt wurde? Es ist so, dass bei manchen Projekten wenn ich auf Compelieren und Run drücke, kommt ein C-Programm in Simuklation. Bei anderen Projekten kommt dann Assembler für die Simulation. Was muss ich einstellen damit immer nur C-Programm in Simulation erscheint. Gruß und Danke
Ausgabeformat des linkers richtig? (muss irgendwas mit d für debuig sein, kann grad nicht nachschauen. Hex geht nicht)
Neuling wrote: > ja so sollte es sein, > > aber bei mir sieht es anders aus! Du hast Dir Gregors Posting nicht genau genug angeschaut! Du sollst auf "Toggle Disassembler Window" klicken, damit das Disassembler-Fenster verschwindet. Du kannst aber auch ganz einfach zwischen dem Disassembler-Window und der .c-Datei wechseln, indem Du einfach auf den entsprechenden Tab unten klickst...
ich habe Gregors Posting schon verstanden aber, wenn ich dort TAB umschalte dann kommt bei mir nur das C-Programm mehr nicht und wenn ich im C-Programm auf z.B. Step Into drücke, dann passiert nichts!!!
Da ist bei Dir aber auch irgendwas schiefgelaufen. Schau mal in Dein Message Window (Posting von 13:05): Da steht "The object file does not contain source code information". Wie sieht es denn bei den Projekten, mit denen es nicht klappt, überhaupt mit Fehler- bzw. Warnmeldungen aus (Build-Fenster)?
oh genau so! Aber das verstehe ich nicht was kann da Schief gelaufen sein?
was bedeutet dieser Fehler: Coordinator: The object file does not contain source code information. Ich meine ich verstehe den Satz aber, keine Ahnung warum es so ist?! Kann mir jemand helfen?
Neuling wrote: > was bedeutet dieser Fehler: > Coordinator: The object file does not contain source code information. Das bedeutet, dass die Objekt-Datei keine Source-Code-Informationen enthält... Du hast mich oben aber anscheinend nicht richtig verstanden (bzw. mein Posting nicht komplett gelesen): Ich habe extra geschrieben, Du sollst erzählen, ob (und wenn ja, welche) Fehler- bzw. Warnmeldungen im Build-Fenster auftauchen. Das was Du da schreibst, steht im Message-Fenster und das kann ich in Deinem Bildchen selber lesen...
Oh Sorry, Das kommt beim compilieren heraus! Build started 26.11.2007 at 16:42:31 -------- begin -------- avr-gcc (GCC) 4.1.2 (WinAVR 20070525) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling: 1Versuch.c rsuch.o Linking: 1Versuch.elf 1Versuch.elf -Wl,-Map=1Versuch.map,--cref -lm Creating load file for Flash: 1Versuch.hex avr-objcopy -Oihex -R .eeprom 1Versuch.elf 1Versuch.hex avr-objcopy: 1Versuch.hex: Invalid bfd target make: *** [1Versuch.hex] Error 1 Build succeeded with 0 Warnings... das ist das Programm: #include <avr/io.h> int main(void) { /* Setzt das Richtungsregister des Ports A auf 0xff (alle Pins als Ausgang): */ DDRB = 0xff; /* Setzt PortA auf 0x03, Bit 0 und 1 "high", restliche "low": */ PORTB = 0x00; } Gruß und Danke
das ist auch ein komischer Fehler habe ich bisher nicht gehabt: make: *** [1Versuch.hex] Error 1
Kann sein dass ich zum compelieren Administratorenrechte brauche? Bin kapput! Help!!
So, da bin ich wieder... Das oben sieht nach einem Linker-Fehler aus. Da stimmt vermutlich irgendwas in Deinem Code nicht! > das ist auch ein komischer Fehler habe ich bisher nicht gehabt: > make: *** [1Versuch.hex] Error 1 Den hast Du wahrscheinlich schon gehabt, nur übersehen... Bist aber nicht der erste, dem das passiert. Genau deswegen hatte ich nämlich gefragt, was im Build-Fenster steht. EDIT: OK, an dem bisschen Code wirds wohl nicht liegen. Aber möglicherweise an den Projekt-Einstellungen. Ist die korrekte Ziel-CPU in den Configuration Options eingestellt?
Neuling wrote: > Kann sein dass ich zum compelieren Administratorenrechte brauche? > Bin kapput! Normalerweise nicht...
Aaaah, versuchs mal bitte mit einem Dateinamen, der nicht mit einer Ziffer beginnt! Das dürfte die Ursache für das "invalid target" sein. Gewöhn Dir auch besser gleich wieder ab (auch wenn WINDOOF es zulässt), irgendwelche Bezeichner zu benutzen, die mit einer Ziffer beginnen. Normalerweise sollten Namen immer mit einem Buchstaben oder einem Underscore ("_") beginnen.
Hallo, Sorry das ich mich so lange nicht gemeldet habe. War leider verhindert. @Johannes M. Danke für dein Tipp mit Zahlen am Anfang. Also es hat funktioniert. Ein kleines Projekt hat bei mir funktioniert, jetzt versuche ich dieses Projekt, siehe Anhang, zu simulieren, leider genau das gleiche Problemm. Irgendwie verstehe ich das nicht ganz.
Neuling wrote:
> oder .c
Warum nicht gleich so? Aber die (Fehler-)Meldungen aus dem Build-Fenster
solltest Du noch schicken...
Abgesehen davon sind einige Sachen in dem Code veraltet und werden nur
noch mit viel gutem Willen von aktuellen WINAVR-Versionen unterstützt.
Dazu gehört die nicht mehr existente signal.h und das Makro "SIGNAL",
sowie die delay.h, die mittlerweile im Verzeichnis "util" schlummert und
nicht mehr in "avr"...
Oh ok, nicht gut! Muss irgendwie umschreiben! Ohee! NAch Compelieren und Run steht folgendes! Build started 27.11.2007 at 08:52:32 -------- begin -------- avr-gcc (GCC) 4.1.2 (WinAVR 20070525) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Size before: AVR_SPS.elf : section size addr .text 2644 0 .bss 21 8388704 .stab 3252 0 .stabstr 2492 0 Total 8409 Creating load file for EEPROM: AVR_SPS.eep avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ --change-section-lma .eeprom=0 -O ihex AVR_SPS.elf AVR_SPS.eep c:\WinAVR-20070525\bin\avr-objcopy.exe: there are no sections to be copied! c:\WinAVR-20070525\bin\avr-objcopy.exe: --change-section-lma .eeprom=0x00000000 never used make: [AVR_SPS.eep] Error 1 (ignored) Size after: AVR_SPS.elf : section size addr .text 2644 0 .bss 21 8388704 .stab 3252 0 .stabstr 2492 0 Total 8409 -------- end -------- Build succeeded with 0 Warnings... Das Fenster was danach erscheint Siehe oben! Danke für deine Mühe!!!
> make: [AVR_SPS.eep] Error 1 (ignored)
Auch wenn da steht, dass der Fehler ignoriert wird, so ist er doch
fatal. Es wurde nämlich keine Objektdatei erzeugt, und dementsprechend
gibts auch nix zu simulieren...
das heist das ich diesen Code überarbeiten muss um es simulieren zu können? Denke ich das jetzt richtig! Oh man ich wollte eigetlich über diesen Code ganz vertshen wie es funktioniert!
Neuling wrote: > das heist das ich diesen Code überarbeiten muss um es simulieren zu > können? Zumindest die o.g. Kleinigkeiten sollten schon geändert werden. Hab grad keine Zeit, mir den kompletten Code en détail anzusehen, aber wenigstens die signal.h rauswerfen, "SIGNAL" durch "ISR" ersetzen (die Vektornamen sind zwar auch veraltet, werden aber noch unterstützt) und den Pfad von "avr/delay.h" nach "util/delay.h" ändern. Dann sollte es zumindest keine Kompatibilitätsprobleme mehr geben. Ob's dann läuft, weiß ich aber auch nicht...
Also ich habe jetzt den Code so geändert, wie du es mir gesagt hast. Das oben genannte Problemm ist nicht mehr da. Der Simulationsfenster ist immer noch der gleiche, aber jetzt schreibt der Compiler folgendes hin!! Was kann das bedeuten? Sorry das ich nerve. Build started 27.11.2007 at 10:25:13 -------- begin -------- avr-gcc (GCC) 4.1.2 (WinAVR 20070525) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Size before: AVR Memory Usage ---------------- Device: atmega8 Program: 652 bytes (8.0% Full) (.text + .data + .bootloader) Data: 21 bytes (2.1% Full) (.data + .bss + .noinit) Creating load file for EEPROM: AVR_SPS.eep avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ --change-section-lma .eeprom=0 --no-change-warnings -O ihex AVR_SPS.elf AVR_SPS.eep || exit 0 c:\WinAVR-20070525\bin\avr-objcopy.exe: there are no sections to be copied! Size after: AVR Memory Usage ---------------- Device: atmega8 Program: 652 bytes (8.0% Full) (.text + .data + .bootloader) Data: 21 bytes (2.1% Full) (.data + .bss + .noinit) -------- end -------- Build succeeded with 0 Warnings...
Nun, das Projekt ist offensichtlich für einen AT90S2313 geschrieben (steht zumindest im Kopf des Programmtextes). Wenn Du das Projekt komplett übernommen hast (ohne irgendwas an Projektdatei oder Makefile zu ändern), dann ist es auch für den 90S2313 compiliert worden. Dann kannst Du aber auch nicht erwarten, dass das beim Simulieren mit einem ATMega8 funktioniert. Der ist schließlich ganz was anderes...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.