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

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

Re: [avr-gcc-list] New AVR simulator


From: Klaus Rudolph
Subject: Re: [avr-gcc-list] New AVR simulator
Date: Thu, 24 Jun 2004 07:45:29 +0200 (MEST)

So we have then 4 I think. The old avrsim, Tods simulavr, my one and now
yours. :-)

> 
> I have spent the last few days working on an AVR simulator which I have 
> started from scratch (written in C)
Yes, I started also from scratch but use c++.

> At the moment it can run as a gdb server (like simulavr), no other
> interface 
> is implemented.

I have gdb interface, named pipes, a protocoll for connecting external 
hardware and/or other avr devices and a tcl library which is able
to give some buttons and widgets for the status of pins and a simple
lcd also written in tcl.


> Most instructions are implemented and there are some basic
> I/O modules for ports (which does nothing else but save PORTX and DDRX
> values 
> and provide PINX as 0x00), timers and the UART.

I have implemented most of the I/O modules, twi is missing and the usart is
missing, uart is implemented. The analog parts comperator and ad is also
implemented, interrups working fine, tracing is possible into file or pipe.


> Interrupts are implemented but not really tested, the gdb server is mostly
> complete but has some parts missing.
The gdb interface in my simulator is used from Tods simulavr.


> The UART I/O module will use the host's RS232 or a named pipe for 
> communication.

As I write some lines above, my uart could be connected directly on pin
level to an other uart. There is also a virtual i/o module which is a
pipe, so for debugging in the avr code is a unused register available which
could be written from avr code direct into the pipe. (printf-debugging).

I can read direct from elf file, so all memory types are supported. No need
for any kind of conversion and also eeprom is filled from elf.
The eeprom timing is also with correct timing for read and write.

> There is also some code which will try to run the AVR in real-time (which
> will 
> not work well with high frequencies because then the resolution of the
> timing 
> will be too low)

Because of a nearly complete implementation, the code slows down a lot. The
tracing is also slowing down the engine a lot but could be switched off.


> 
> Maybe someone wants to test it and tell me what they think of it? :-)
> You can download it here: 
> http://navijr.deltaanime.net/~blight/avrsim/avrsim-0.1.0.tar.gz

Why you have started again? And why C?
I think Tods simulator is a really good C implementation? I have started 
from scratch because I´m not a C guru. I don´t like 
object oriented programming in C so I use c++. And I need 
timing accurat IO-pins and Tod saw no need for this feature. So I started
again.

Can you tell us what the benefit of your simulator in comparrison to 
the existing 3?

Thanks for your work at all, I will look into it, maybe searching for
some good implementations and ideas. 

Regards
   Klaus





-- 
"Sie haben neue Mails!" - Die GMX Toolbar informiert Sie beim Surfen!
Jetzt aktivieren unter http://www.gmx.net/info



reply via email to

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