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: Simon Han
Subject: Re: [avr-gcc-list] New AVR simulator
Date: Wed, 23 Jun 2004 23:07:24 -0700

Dear Klaus,
Your simulator sounds pretty good. Is it open-source? Can you post the link to the simulator?

Thank you very much,
Simon

On Jun 23, 2004, at 10:45 PM, Klaus Rudolph wrote:


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


_______________________________________________
avr-gcc-list mailing list
address@hidden
http://www.avr1.org/mailman/listinfo/avr-gcc-list




reply via email to

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