jacob navia wrote, On 20/03/08 19:38:
This is *bogus*. There is no standard since every chip manufacturer
does extension over extensions and without them this stuff just
doesn't work!
See below for a system I pointed you at which supports multiple processors.
I am not complaining about anything. I am just explaining things to you.
So address the point I raised just above the line you commented on.
Namely the OpenOCD project which runs uses software running under Linux
(when you said the software has to run on Windows) and is free.
You were doing a completely different thing. Who cares? I need to keep
the processor/OS running and do NON INTRUSIVE debugging!
So use the trace and watch facilities of the ICE to monitor things
without stopping any processes.
In any case, you started off talking about using a debugger *without*
mentioning non-intrusive debugging, in fact you were talking about
debugging a crash, and crashes are normally fairly intrusive! You really
should stop moving the goal posts as soon as anyone comes up with a
counter example.
I am speaking about the JTAGS setup and the proprietary extensions
of each chip.
Now address the point that the project exists and provides the software
and other information required to use JTAG on those chips. Either they
have found out the details of those proprietary extensions so them being
proprietary is not a problem (you don't need to do the work, it has
already been done) or it works without them.
Those are quite expensive too.
No, see other post. You could double the cost by buying a day of my time
as a consultant to find them for you.
I said that *for you* money is not an issue since YOU started your
answer with
SPEND THE MONEY!
Ah, but when I was working on embedded SW I was working for *exactly*
the type of company you mention above, a big company doing work for the
military. Money *is* an issue in such companies, so it was an issue for
me when I was involved in such things. However, the entry level for them
is NOT expensive compared to a week of a developers time.
I see: "Buy an off the shelf compiler".
Where above did I say, "buy an off the shelf compiler"? I've rechecked
everything I typed and that does not exist anywhere. Specifically, the
OpenOCD project uses gdb so you can use any compiler that produces a
format gdb can cope with, such as gcc.
Well, this is not something the companies I work with want to do for
many reasons, specially the absolute opacity of the proprietary
solutions.
Ah, so gcc is a proprietary solution but your debugger is not.
Interesting definitions you have.
So you accept that it can be cheap then?
So you accept the information is easily available then?
No.
1) That stuff is "OPEN SOURCE" and they do not want
any GNU stuff. My system is NOT open source
precisely.
So buy one of the cheap solutions that is not open source.
2) GDB is a monster debugger, like its cousin GCC. Yes,
it is much more bloated anything jacob can ever do,
but that was one of my major selling points:
GCC+GDB is around 30MB of C.
lcc + debugger is around 3MB of C.
Which one would you like to configure and maintain ?
gdb, it is heavily used and maintained by a team rather than an individual.
I explained how to do that in my post. You did not read that
apparently because anyway what I say is always wrong.
Sorry, did I forget to say "vast numbers of" in the above? In fact, for
one of the Analog Devices processors the ICE mentions 128Kb Hardware
Breakpoints. Also 64K frames of trace memory, i.e. it can store 65536
events in its buffer whilst the processor is running full speed
including at least some registers, so you can wind back that far after
you have hit a break point?
Conclusion:
I present simple solutions for debugging embedded systems
coupled with a simple compiler that produces a system that is
easy to maintain, configure and debug.
Your system is also proprietary (which you claim is bad), requires extra
code running on the device slowing it down, has no trace to look back at
the program execution that lead up to the event of interest, ties you
for support to a one-man-band (a show stopper for some companies), ties
you to a specific compiler and language (a show stopper for some
companies), is of limited use for debugging HW problems (how do you use
it if the problem crashes the monitor?), cannot be used to upload and
test a new version of the software (how do you upload in to ROM? an ICE
has RAM in it you can use instead) etc.
Have you used a real ICE?
So how much do you charge a customer *including* technical support? Less
than 2000USD?