Hello,

I have been playing with the UART on the Mica2 mote and somehow I was not
able to receive data, e.g. to send data from the PC to the mote. So I
decided to look at the interrupt vector table of Surge, and it seems to me,
that the interrupt vector 19 (USART 0 Rx complete) points to "bad vector"
and thus is not handled correctly. The same seems to be true for TinyDB and
TestUartSimple. 

Here the interrupt vector for the Surge application (taken from a .od file,
I used avr-objdump -zhD to convert it). I am using TinyOS 1.1.9 and nesc
1.1.2 with cygwin.

00000000 <__vectors>:
       0:       0c 94 b5 01     jmp     0x36a
       4:       0c 94 d2 01     jmp     0x3a4
       8:       0c 94 d2 01     jmp     0x3a4
       c:       0c 94 d2 01     jmp     0x3a4
      10:       0c 94 d2 01     jmp     0x3a4
      14:       0c 94 d2 01     jmp     0x3a4
      18:       0c 94 d2 01     jmp     0x3a4
      1c:       0c 94 d2 01     jmp     0x3a4
      20:       0c 94 d2 01     jmp     0x3a4
      24:       0c 94 d2 01     jmp     0x3a4
      28:       0c 94 d2 01     jmp     0x3a4
      2c:       0c 94 d2 01     jmp     0x3a4
      30:       0c 94 d2 01     jmp     0x3a4
      34:       0c 94 d2 01     jmp     0x3a4
      38:       0c 94 d2 01     jmp     0x3a4
      3c:       0c 94 3d 0c     jmp     0x187a  ---- vector 15 -> Timer 1
OVF
      40:       0c 94 d2 01     jmp     0x3a4
      44:       0c 94 f9 02     jmp     0x5f2   ---- vector 17 -> Timer 0
OVF
      48:       0c 94 22 03     jmp     0x644   ---- vector 18 -> SPI
      4c:       0c 94 d2 01     jmp     0x3a4   ---- vector 19 -> USART 0,
RX
-- however, it points to the "bad interrupt" area, just like unused ints ---
      50:       0c 94 4c 03     jmp     0x698   ---- vector 20 -> USART 0,
UDRE
      54:       0c 94 c9 0d     jmp     0x1b92  ---- vector 21 -> USART 0,
Tx
      58:       0c 94 d2 01     jmp     0x3a4
      5c:       0c 94 d2 01     jmp     0x3a4
      60:       0c 94 d2 01     jmp     0x3a4
      64:       0c 94 d2 01     jmp     0x3a4
      68:       0c 94 d2 01     jmp     0x3a4
      6c:       0c 94 d2 01     jmp     0x3a4
      70:       0c 94 d2 01     jmp     0x3a4
      74:       0c 94 d2 01     jmp     0x3a4
      78:       0c 94 d2 01     jmp     0x3a4
      7c:       0c 94 d2 01     jmp     0x3a4
      80:       0c 94 d2 01     jmp     0x3a4
      84:       0c 94 d2 01     jmp     0x3a4
      88:       0c 94 d2 01     jmp     0x3a4

....

000003a4 <__bad_interrupt>:
     3a4:       0c 94 00 00     jmp     0x0

So can anybody (maybe someone from the developers at UCB) tell me, whether
this is the way it is supposed to be or not. If everything is alright, than
please tell me, what about the assumptions I did is wrong or how TinyOS
signals incoming USART data.

Thank you very much,
Olaf

_______________________________________________
Tinyos-users mailing list
[EMAIL PROTECTED]
http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-users

Reply via email to