simulavr-devel
[Top][All Lists]
Advanced

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

Re: [Simulavr-devel] A serial console utility


From: Klaus Rudolph
Subject: Re: [Simulavr-devel] A serial console utility
Date: Sun, 07 Nov 2004 18:12:39 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.6) Gecko/20040114

Robin Randhawa schrieb:

Greetings.

In the absence of any hardware (just my trusty debian box), I need to
create an execution environment for some lightweight threads on an Atmel
Atmega128 core.
I intend using avr-gdb with the remote gdb stub (gdbserver)
implementation in simulavr(xx).

As such I have the following questions:

1. Is the Atmega128 core supported by simulavr(xx) to the extent that
the instruction decoder is comfortable with all the documented
instructions ?
Nearly all :-)
Writing to Flash (SPM instruction) is not implemented until now. So you are not able to test any "bootcore" applications. But if needed I can put that stuff in the next days. :-)

The TWI is also not supported, and the USART it is not supported, it is only a UART like in 8515. If you need a synchronous U"S"ART I have to spend some days for it. And in Timers I have no support for the second clock input (mostly used for RTC applications). The rest should
be complete.

2. I need the ability to send diagnostic text messages over the serial
port. The need is only for a uni-directional text stream. Can
simulavr(xx) render the data being sent to the UART on a tty (for
example) ?

Yes, you can simply use a pipe to the os which enable you to give the data to a simple terminal program. Also you can use the gui environment (tcl/tk) which give you an edit window where the output can be seen. Also you have a second edit window where you can type in chars which will be send to the avr uart if the uart pseudo device is connected to the corrosponding pins. You are also able to build a software uart and connect via any pin you want. The pseudo uart device is nothing more then a char to bitstream converter which runs as external device and could be connected to any pin on the avr or other
simulated objects.


It seems that Ken Restivo had come up with a framework for a
tty based solution earlier but I don't think his patch has been
incorporated, or has it ? Can someone suggest another solution ?


Don´t know it and don´t need it :-) In addition there is a pseudo port usable which also could be piped to a tty. It uses a non used IO-register in the IO memory region. All you need is to write on that port. Look for "at90s8515special" core, this solution could be added to mega128 with
some lines of code by copy and paste.

3. I will be using almost the entire 64K of external data memory. Does
the memory simulation recognise the external memory that the atmega128
is capable of using ?

Yes, you can use external RAM. Actually the ext ram is enabled every time which is not correct! The corrosponding flags in MCUCR is not used... So the timing could be not correct if additional wait states are needed. This is on my ToDo list. If you require totall acurate timing for external ram
excess please give me a note.

If you find any bugs or need some support please send me an email :-)

All I wrote is only valid for the simulavrxx. I have not used simulavr for more than a year.

Bye
  Klaus





reply via email to

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