simulavr-devel
[Top][All Lists]
Advanced

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

[Simulavr-devel] ATmega328 Emulation


From: David Madden
Subject: [Simulavr-devel] ATmega328 Emulation
Date: Wed, 16 Feb 2011 20:14:20 -0800
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.4) Gecko/20100709 Lightning/1.0b2pre Lanikai/3.1

Hi, I'm a new user, hoping to use Simulavr to figure out how to run FreeRTOS on an ATmega328. I started with an older version distributed with Ubuntu, but support was limited to ATmega32, so I downloaded & compiled the version from Git (1.0rc0). The old version was able to load my ELF file and step through some instructions (dying when SP was initialized to something it thought was outside RAM), but the new version seems to be confused about instruction word size (?). The vector table at 0x0000 should contain:

00000000 <__vectors>:
       0:       0c 94 34 00     jmp     0x68    ; 0x68 <__ctors_end>
       4:       0c 94 51 00     jmp     0xa2    ; 0xa2 <__bad_interrupt>

(from the list file) but SimulAVR/GDB say:

(gdb) x/2i 0
=> 0x0 <__vectors>:    jmp     0x1800  ;  0x1800 <xPortGetFreeHeapSize+18>
   0x4 <__vectors+4>:     .word   0x0034  ; ????
(gdb) x/32b 0
0x0 <__vectors>:  0x0c    0x94    0x00    0x0c    0x34    0x00    0x94    0x34
0x8 <__vectors+8>:        0x0c    0x94    0x00    0x0c    0x51    0x00    0x94  
  0x51
0x10 <__vectors+16>:      0x0c    0x94    0x00    0x0c    0x51    0x00    0x94  
  0x51
0x18 <__vectors+24>:      0x0c    0x94    0x00    0x0c    0x51    0x00    0x94  
  0x51

In other words, 0c.94.34.00 somehow turns into 0c.94.00.0c.34.00

Am I making a simple stupid newbie mistake, or is this uncharted/untested waters?

Thanks,
--
Mersenne Law LLC  ·  www.mersenne.com  ·  +1-503-679-1671
- Small Business, Startup and Intellectual Property Law -
1500 SW First Ave. · Suite 1170 · Portland, Oregon  97201



reply via email to

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