avr-gcc-list
[Top][All Lists]
Advanced

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

Re: [avr-gcc-list] Success running the testsuite with avrtest


From: Dmitry K.
Subject: Re: [avr-gcc-list] Success running the testsuite with avrtest
Date: Fri, 18 Jan 2008 17:12:12 +1000
User-agent: KMail/1.5

On Friday 18 January 2008 13:28, Paulo Marques wrote:
[...]
> Say, one of the things I wanted to implement, was something like an
> include file with (just a rough sketch):
>
> #define COUNTER_CTRL_PORT  0x56
>
> static void avrtest_counter_start(byte counter)
> {
>   *((volatile unsigned char *) COUNTER_CTRL_PORT) = counter;
> }
>
> static void avrtest_counter_stop(byte counter)
> {
>   *((volatile unsigned char *) COUNTER_CTRL_PORT) = 0x80 | counter;
> }
[...]
> What I would like this interface to achieve:
>
> - be able to start / stop the counters without affecting cycle counts

You can allocate COUNTER_CTRL_PORT at low part of port's addresses
with limitation of counters number to 8. So, SBI/CBI instruction
would be used (exclude -O0), that is simple to compensate.

Note, that avrtest is not too accurate in clocks counting, for
example, MOVW adds 2 clocks, ADIW/SBIW adds 0 clocks.

[...]
> Since you seem to frequently produce cycle counts for your floating
> point operations and other libc functions, what would you like this
> interface to be able to do?

I use a subtraction of 2 passes: with target and dummy functions.

Regards,
Dmitry.





reply via email to

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