simulavr-devel
[Top][All Lists]
Advanced

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

Re: [Simulavr-devel] OSX compilation


From: Klaus Rudolph
Subject: Re: [Simulavr-devel] OSX compilation
Date: Wed, 27 Apr 2005 08:36:04 +0200 (MEST)

Hi Jakob,

> I finally got everything to compile properly. I even got the .so to
> compile (changed the -shared to '-flat_namespace -single_module
> -dynamiclib -undefined suppress').

Great! I hope bill could introduce this for the configure script.
It would be nice if you could do the tests for us.

>      7750 flyer.elf 0x024a: bufferIsNotFull+0xb            RJMP fffff64e 
>      8000 flyer.elf 0xf64e: ,__data_end,_edata,__data_start+0xdf81
> CPU-waitstate
>      8250 flyer.elf 0xf64e: ,__data_end,_edata,__data_start+0xdf81
> Invalid Instruction!

Could you compile a simple program for me which also runs into this 
trouble and send me the elf file and sources and also the compiler
flags you used. Most important is the elf file.

> 
> bufferIsNotFull is from the avrlib.
> 
> I tried changing the byte order in flash.cpp as you suggested, but
> couldn't get any result there. I did the following:
>     opcode=((MemPtr[addr])>>8)+((MemPtr[addr]&0xff)<<8);
> changed to
>     opcode=MemPtr[addr];
> 
> after compilation the simulator wouldn't accept any code.

You told us that at your last startpoint you could not get any code
to run. So what have you changed from the last try? Could
you send a complete diff file from the source after finishing your
patches? 

> I know my other programm is running fine, as it is running on an
> actual atmega128. Anything I need to be aware of when compiling the
> elfs?

Code that runs in real hardware should run in the simulator. If not
the simulation is buggy :-)
But sometimes the simulator is giving much more detailed information
of problems which could not be seen in real hardware. 
I also have wondered sometimes code run in real hardware but not
as expected. There where some jumps into the data area. The real core
runs through this data area and restarts with a reset  or wado and the
functionality was as expected but the code was really wrong. Only
the simulation crashes and this was correct :-)



> 
> Just at the side: How fast will the simulator run? can it perform
> real-time?

On my laptop which is a 800 Mhz Intel the code for one 8515 runs
in realtime. 

> Where can I hook into the simulation? Don't want to use tcl
> or any of the like. Would prefer to actually use the shared library in
> an objective-c application. The things I need to do are:


> - uart in and out
Look for SerialRx and SerialTx class. There is actually the need
for a pipe to communicate to a UI. But you could change this for your needs.

> - i/o pins out
Simply use a Net.
To the nets you could add pins. If you want to set the net to a defined
state (all others are inputs) then you simply add a "own" pin and
set the state of the pin as you needed.

> - pwm out
Some as above. Create a Net from Net class. Add your pin where
the pwm out is on and read the state from an addition connected
"input pin". 


> 
> any way of doing this higher-order, rather than getting/setting pin
> values?

?? If you want pin values you have to read/write pin values.
Maybe there is a misunderstanding. But I think we could 
solve all your questions :-)
If you could not get a solution I maybe can provide some
example in native c++. But that needs some days because I have actually
no access to my sources.

Bye
  Klaus




-- 
+++ GMX - die erste Adresse für Mail, Message, More +++

10 GB Mailbox, 100 FreeSMS  http://www.gmx.net/de/go/topmail




reply via email to

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