[En-Nut-Discussion] Port to a non ethernut board

Marc Giger gigerstyle at gmx.ch
Thu Aug 24 19:27:27 CEST 2006


Hello all,

I'm trying to "port" Nut/Os to a non ethernet board, but don't get
it running.

I spend some time reading the source code and the resulting assembler
code and still don't see why it doesnt work.

The board in question has the following configuration:
- atmega128 running with an external 16Mhz crystal
- 32k extended RAM
- and and and....

I have built NutOs with the following config:
PLATFORM = "ETHERNUT1"
AVR_GCC = ""
MCU_ATMEGA128 = ""
NUTMEM_START = "0x100"
NUTMEM_RESERVED = "64"
NUTXMEM_SIZE = "28416"
NUTXMEM_START = "0x1100"
NUT_CPU_FREQ = "16000000"
STDIO_FLOATING_POINT = ""

The debugging possibilities are limited because of my
proprietary programmer, precisely it is limited to switch an onboard
LED on/off :-/

The LED is attached to PORTE6 which i try to activate directly after
the extended RAM activation in NutInitXRAM(). So it seems the mcu never
reaches that (early) point.

The disassembled elf file part:

Disassembly of section .text:

00000000 <__vectors>:
       0:       0c 94 46 00     jmp     0x8c <NutInitXRAM>
       4:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
       8:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
       c:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      10:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      14:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      18:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      1c:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      20:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      24:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      28:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      2c:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      30:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      34:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      38:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      3c:       0c 94 49 07     jmp     0xe92 <__vector_15>
      40:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      44:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      48:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      4c:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      50:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      54:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      58:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      5c:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      60:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      64:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      68:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      6c:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      70:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      74:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      78:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      7c:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      80:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      84:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>
      88:       0c 94 9a 00     jmp     0x134 <__bad_interrupt>

0000008c <NutInitXRAM>:
      8c:       80 ec           ldi     r24, 0xC0       ; 192
      8e:       85 bf           out     0x35, r24       ; 53 <--MCUCR
      90:       16 9a           sbi     0x02, 6 ; 2	<--DDRE OUT
      92:       1e 9a           sbi     0x03, 6 ; 3	<--LED ON

00000094 <NutCustomInit>:
      94:       87 e0           ldi     r24, 0x07       ; 7
      96:       89 b9           out     0x09, r24       ; 9
      98:       80 93 99 00     sts     0x0099, r24
      9c:       11 24           eor     r1, r1
      9e:       1f be           out     0x3f, r1        ; 63
      a0:       cf ef           ldi     r28, 0xFF       ; 255
      a2:       d0 e1           ldi     r29, 0x10       ; 16
      a4:       de bf           out     0x3e, r29       ; 62
      a6:       cd bf           out     0x3d, r28       ; 61

Perhaps somebody knows whats going on and is willing to share
his/her knowledge with me?

The only difference to my program is that i don't set the SRW10 bit in
MCUCR, but that shouldn't matter because no SRL bits are set...

Any help is very much appreciated!

Thank you

Marc



More information about the En-Nut-Discussion mailing list