avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [avr-gcc-list] basic UART Transmit interrupt problem


From: Woodward, Mark P
Subject: RE: [avr-gcc-list] basic UART Transmit interrupt problem
Date: Thu, 03 Jul 2003 15:05:56 -0700

Hi Dean,

When I disassemble the .elf file I produced below, I get the following

00000000 <__vectors>:
   0:   0c c0           rjmp    .+24            ; 0x1a
   2:   26 c0           rjmp    .+76            ; 0x50
   4:   25 c0           rjmp    .+74            ; 0x50
   6:   24 c0           rjmp    .+72            ; 0x50
   8:   23 c0           rjmp    .+70            ; 0x50
   a:   22 c0           rjmp    .+68            ; 0x50
   c:   21 c0           rjmp    .+66            ; 0x50
   e:   20 c0           rjmp    .+64            ; 0x50
  10:   1f c0           rjmp    .+62            ; 0x50
  12:   1e c0           rjmp    .+60            ; 0x50
  14:   1d c0           rjmp    .+58            ; 0x50
  16:   1c c0           rjmp    .+56            ; 0x50
  18:   1b c0           rjmp    .+54            ; 0x50

...

00000050 <__bad_interrupt>:
  50:   d7 cf           rjmp    .-82            ; 0x0

00000052 <__vector_20>:
  52:   1f 92           push    r1
  54:   0f 92           push    r0
  56:   0f b6           in      r0, 0x3f        ; 63
  58:   0f 92           push    r0

...

It appears that the __vectors section gets cut off for some reason, the last
vector in it should be 0x44, but it stops at 0x18.  The USART0, TX vector is
supposed to be at 0x28, so that isn't being created.

Any idea why this may be?

Thanks again, 

-Mark

> -----Original Message-----
> From: Dean Ferreyra [SMTP:address@hidden
> Sent: Thursday, July 03, 2003 2:30 PM
> To:   Woodward, Mark P; 'Darren P'; address@hidden
> Subject:      RE: [avr-gcc-list] basic UART Transmit interrupt problem
> 
> Mark,
> 
> > I just realized that my problem with interrupts is
> > a general one.
> 
> How about looking at the disassembled code, e.g.
> 
>     avr-objdump -d Test.out >Test.dis
> 
> and check out the __vectors section and see what they're hooked up to,
> e.g.
> 
>   00000000 <__vectors>:
>        0:       0c 94 3b 05     jmp     0xa76
>        4:       0c 94 7c 24     jmp     0x48f8
>        8:       0c 94 5b 05     jmp     0xab6
>        c:       0c 94 5b 05     jmp     0xab6
> 
>   ...
> 
>   00000a76 <__init>:
>      a76:       11 24           eor     r1, r1
>      a78:       1f be           out     0x3f, r1        ; 63
> 
>   ...
> 
>   00000ab6 <__bad_interrupt>:
>      ab6:       0c 94 00 00     jmp     0x0
> 
>   ...
> 
>   000048f8 <__vector_1>:
>     48f8:       1f 92           push    r1
>     48fa:       0f 92           push    r0
> 
> Good luck.
> 
> Dean


reply via email to

[Prev in Thread] Current Thread [Next in Thread]