simulavr-devel
[Top][All Lists]
Advanced

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

Re: [Simulavr-devel] modification of AVR simulator for SCA


From: Thomas K
Subject: Re: [Simulavr-devel] modification of AVR simulator for SCA
Date: Fri, 19 Feb 2016 06:53:58 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

Hi @list,

I've provided Albrecht with a mini patch to test it. (ok, that's just one parameter more in one call for instantiating stack, all other was already implemented) I assume, that this will solve it.

Regarding to the former discussions about new release: I'll create branch for release 1.1 __starting before__ changes for USI. Bugfix for SP will be made on master branch and taken over for release branch. Reason is, that I'll check some more for the problem with control reset address by fuses (and implement some tests from devel-tomk branch, which I'll remove after this + implement interrupt) and also for USI. (maybe Graziano will send me his changes, then I can inspect this)

If there is no another problem, then release 1.1.0 could be made in march.

cu, Thomas


Am 18.02.2016 um 09:12 schrieb Joerg Wunsch:
As Albrecht Frenzel wrote:

Chapter 7.5.1 "SPH and SPL – Stack Pointer High and Stack Pointer
Low Register" of the atmega 48/88/168/328 says, that the initial
value of SP is RAMEND.
That's the case on all newer AVRs.

The distinction between the architectures that initialize SP in
hardware and those that don't is about the same where the three RC
oscillators have been replaced by a single one, plus a prescaler (and
the CKDIV8 fuse).  ATmega8, ATmega128, ATmega16, ATtiny2313,
AT90CAN128 start with SP = 0, ATmega1281, ATmega88, ATmega164,
ATtiny25 start with SP = RAMEND.

I think SimulAVR should correctly simulate this different behaviour.
Since the datasheet describes it, the user is allowed to rely on it.

Testing for 0 != SP_value only makes sense on instructions, that use
the content of SP.
I agree.




reply via email to

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