www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik File not Found - Disassembler AVR Studio


Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe gerade mal den Software Uart von Peter Dannegger compiliert. 
Leider funktioniert das Programm nicht. Es scheint sich immer 
auszuhängen oder an falsche Adressen zu springen. Im Disassembler sieht 
es folgendermaßen aus:
@00000000: _delay_loop_2
---- UNKNOWN_FILE ---------------------------------------------------------------------------------
0: File not found
+00000000:   C019        RJMP      PC+0x001A      Relative jump
+00000001:   C033        RJMP      PC+0x0034      Relative jump
+00000002:   C032        RJMP      PC+0x0033      Relative jump
+00000003:   C031        RJMP      PC+0x0032      Relative jump
+00000004:   C030        RJMP      PC+0x0031      Relative jump
+00000005:   C02F        RJMP      PC+0x0030      Relative jump
+00000006:   C02E        RJMP      PC+0x002F      Relative jump
+00000007:   C02D        RJMP      PC+0x002E      Relative jump
+00000008:   C02C        RJMP      PC+0x002D      Relative jump
+00000009:   C02B        RJMP      PC+0x002C      Relative jump
+0000000A:   C0B5        RJMP      PC+0x00B6      Relative jump
+0000000B:   C11A        RJMP      PC+0x011B      Relative jump
+0000000C:   C0D9        RJMP      PC+0x00DA      Relative jump
+0000000D:   C027        RJMP      PC+0x0028      Relative jump
+0000000E:   C026        RJMP      PC+0x0027      Relative jump
+0000000F:   C025        RJMP      PC+0x0026      Relative jump
+00000010:   C024        RJMP      PC+0x0025      Relative jump
+00000011:   C023        RJMP      PC+0x0024      Relative jump
+00000012:   C022        RJMP      PC+0x0023      Relative jump
+00000013:   C021        RJMP      PC+0x0022      Relative jump
+00000014:   C020        RJMP      PC+0x0021      Relative jump
+00000015:   C01F        RJMP      PC+0x0020      Relative jump
+00000016:   C01E        RJMP      PC+0x001F      Relative jump
+00000017:   C01D        RJMP      PC+0x001E      Relative jump
+00000018:   C01C        RJMP      PC+0x001D      Relative jump
+00000019:   C01B        RJMP      PC+0x001C      Relative jump
+0000001A:   2411        CLR       R1             Clear Register
+0000001B:   BE1F        OUT       0x3F,R1        Out to I/O location
+0000001C:   EFCF        SER       R28            Set Register
+0000001D:   E0D2        LDI       R29,0x02       Load immediate
+0000001E:   BFDE        OUT       0x3E,R29       Out to I/O location
+0000001F:   BFCD        OUT       0x3D,R28       Out to I/O location
+00000020:   E011        LDI       R17,0x01       Load immediate
+00000021:   E0A0        LDI       R26,0x00       Load immediate
+00000022:   E0B1        LDI       R27,0x01       Load immediate
+00000023:   EEE0        LDI       R30,0xE0       Load immediate
+00000024:   E0F2        LDI       R31,0x02       Load immediate
+00000025:   C002        RJMP      PC+0x0003      Relative jump
+00000026:   9005        LPM       R0,Z+          Load program memory and postincrement
+00000027:   920D        ST        X+,R0          Store indirect and postincrement
+00000028:   30AE        CPI       R26,0x0E       Compare with immediate
+00000029:   07B1        CPC       R27,R17        Compare with carry
+0000002A:   F7D9        BRNE      PC-0x04        Branch if not equal
+0000002B:   E011        LDI       R17,0x01       Load immediate
+0000002C:   E0AE        LDI       R26,0x0E       Load immediate
+0000002D:   E0B1        LDI       R27,0x01       Load immediate
+0000002E:   C001        RJMP      PC+0x0002      Relative jump
+0000002F:   921D        ST        X+,R1          Store indirect and postincrement
+00000030:   38AE        CPI       R26,0x8E       Compare with immediate
+00000031:   07B1        CPC       R27,R17        Compare with carry
+00000032:   F7E1        BRNE      PC-0x03        Branch if not equal
+00000033:   D009        RCALL     PC+0x000A      Relative call subroutine
+00000034:   C139        RJMP      PC+0x013A      Relative jump
+00000035:   CFCA        RJMP      PC-0x0035      Relative jump
@00000036: init
---- MAIN.C ---------------------------------------------------------------------------------------
13:       void init( void )
+00000036:   B81A        OUT       0x0A,R1        Out to I/O location
16:         DDRB = 0;
+00000037:   B814        OUT       0x04,R1        Out to I/O location
17:         PORTD = 0xFF;
+00000038:   EF8F        SER       R24            Set Register
+00000039:   B98B        OUT       0x0B,R24       Out to I/O location
18:         PORTB = 0xFF;
+0000003A:   B985        OUT       0x05,R24       Out to I/O location
19:         suart_init();
+0000003B:   D01E        RCALL     PC+0x001F      Relative call subroutine
20:       }
+0000003C:   9508        RET                      Subroutine return
@0000003D: main
23:       int main( void )
+0000003D:   93CF        PUSH      R28            Push register on stack
+0000003E:   93DF        PUSH      R29            Push register on stack
25:         init();
+0000003F:   DFF6        RCALL     PC-0x0009      Relative call subroutine
26:         sei();
+00000040:   9478        SEI                      Global Interrupt Enable
27:         uputs( "Hallo Peter\n\r" );
+00000041:   E080        LDI       R24,0x00       Load immediate
+00000042:   E091        LDI       R25,0x01       Load immediate
+00000043:   D062        RCALL     PC+0x0063      Relative call subroutine
+00000044:   E520        LDI       R18,0x50       Load immediate
+00000045:   EC33        LDI       R19,0xC3       Load immediate
c:/programme/winavr-20090313/lib/gcc/../../avr/include/util/delay_basic.h 
110: File not found
+00000046:   ECC8        LDI       R28,0xC8       Load immediate
+00000047:   E0D0        LDI       R29,0x00       Load immediate
+00000048:   C005        RJMP      PC+0x0006      Relative jump
+00000049:   01CE        MOVW      R24,R28        Copy register pair
+0000004A:   9701        SBIW      R24,0x01       Subtract immediate from word
+0000004B:   F7F1        BRNE      PC-0x01        Branch if not equal
c:/programme/winavr-20090313/lib/gcc/../../avr/include/util\delay.h 
124: File not found
+0000004C:   5021        SUBI      R18,0x01       Subtract immediate
+0000004D:   4030        SBCI      R19,0x00       Subtract immediate with carry
120: File not found
+0000004E:   1521        CP        R18,R1         Compare
+0000004F:   0531        CPC       R19,R1         Compare with carry
+00000050:   F7C1        BRNE      PC-0x07        Branch if not equal
+00000051:   C002        RJMP      PC+0x0003      Relative jump
---- MAIN.C ---------------------------------------------------------------------------------------
31:             uputchar( ugetchar());
+00000052:   D02D        RCALL     PC+0x002E      Relative call subroutine
+00000053:   D03F        RCALL     PC+0x0040      Relative call subroutine
30:           while( kbhit() )
+00000054:   D025        RCALL     PC+0x0026      Relative call subroutine
+00000055:   2388        TST       R24            Test for Zero or Minus
+00000056:   F7D9        BRNE      PC-0x04        Branch if not equal
+00000057:   E520        LDI       R18,0x50       Load immediate
+00000058:   EC33        LDI       R19,0xC3       Load immediate
+00000059:   CFEF        RJMP      PC-0x0010      Relative jump
@0000005A: suart_init
---- SUART.C --------------------------------------------------------------------------------------

Was hat es denn mit dem "Unknown File" oder "Files not found" auf sich? 
Eigentlich sind diese alle vorhanden.

Gruß,
Björn

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Es scheint sich immer auszuhängen oder an falsche Adressen zu springen.

Richtigen Controller eingestellt?

>Was hat es denn mit dem "Unknown File" oder "Files not found" auf sich?
>Eigentlich sind diese alle vorhanden.

Der Code wird vom Compiler generiert. Dafür gibt es kein File.

MfG Spess

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.