simulavr-devel
[Top][All Lists]
Advanced

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

Re: [Simulavr-devel] Whats to do on execution of "illegal instruction"


From: Klaus
Subject: Re: [Simulavr-devel] Whats to do on execution of "illegal instruction"
Date: Sat, 6 Feb 2016 21:12:34 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.5.0

Hi,



simulavr is a tool from programmers for programmers. If someone need
for a debug session a

one remark: "for programmers" is right. But this means then, that one
have to visit the code, understand the code and find out, where to
change. Not to make in 5 minutes for somebody, who's not familar with
the code. And if you are in a hurry ... :-)

The opposite is to understand a more or less complex config file. As you see from the mailing list from the last 3 days what is happen:

Someone find simulavr on a non official git repo. Someone try to install without reading the installation guide. Someone was not aware what is bootstrap and have no idea how to access a git repo from savanah. Next step was loading a bootloader and starting the code with wrong start address. OK. All this is quite normal. Everybody wants to solve the own problems and not start reading. The tools simply should work and exactly in that fashion someone expects. Do you believe that these people read a configuration file handbook?

If I inspect some source code I simply use tag files and grep to find what I can do. The actual problem can be solved by simply grepping for "illegal instruction". This points you to the decoder.cpp. 2 minutes later you can hack that file. If not, it is quite hard to develop a controller chip where you can not look into and only have these very clear and simple data sheets :-)

And yes, that is something we can support. I currently have no idea how to break on a instruction for gdb. And is it save to simply decrement the PC to step in place? Maybe we can write a "hacked" special instruction for users there.

But adding a much more complex config file is not a solution for a convenience problem. The underplaying problem was a forgotten $pc=0x7e00. I believe that this single line is nothing against a config file which allows setting breakpoints, nop, sbrs and other instruction options for each individual instruction. And yes, there are some more options like "resetting core" on special memory access and so on...

What was the idea behind the scripting interface for tcl, python and all other languages which is supported out of the box from swig and is also supported by our autotools build toolchain... :-) I expect that some problems can be solved within 2 lines of tcl or python code... But users must start reading the docs....

Regards
 Klaus














reply via email to

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