[Top][All Lists]
[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
- [Simulavr-devel] ATmega328 Emulation,
David Madden <=