[U-Boot-Users] BDI2000 vs Vision-ICE
richard.danter at ntlworld.com
Fri Jan 9 10:58:17 CET 2004
Mike Wellington wrote:
> People at my place of work are telling me that the
> Vision-Ice supports "backtrace" and the BDI2000 does
> not. I looked on the Abatron website and it doesn't
> say. Can anyone confirm or deny this?
I can't talk about the Abatron, but for vICE there are a couple of
options which are/were available.
> By "backtrace", I mean the ability to set a breakpoint,
> hit that breakpoint, and be able to see the last N
> instructions executed.
In the old days there was vEVENT. It was a bus trace system which
captured all accesses from the CPU to any/all peripherals. It was
available for most of the architectures WR/EST supported. This was EOL'd
in favour of the LA-Trace.
LA-Trace is a combination of a vPROBE or vICE with a full logic
analyser. The reason for switching to this was that the old vEVENT could
not keep up with the newer CPU's running at high (>50MHz) bus speeds.
The problem with both of these options, and any other system using bus
capture, is that they don't see everything. When the CPU is executing
code from cache there is nothing visible outside so all you see are the
code and data read/writes associated with a cache miss. Worse still is
that when a read occurs the cache will usually get a complete cache
line, not just the word required. Somtimes the whole line will be used
(as in sequential code) but not always. It's tricky working out what is
relevant and what is not. As caches get bigger so this problem gets worse.
The best option is vTRACE, but it is available only on a limited number
of CPU's. This is beacuse vTrace uses the trace capability built in to
some CPU's. The best trace capabilities are in the ColdFIRE range - they
all support data tracing as well as code, but on PowerPC you can get
code trace on the 405x, 440GP and 56x (NEXUS). There are also some MIPS
processors which have this capability.
Whilst we are talking about vICE, thought I would just mention that it
now supports Linux debugging too on some CPUs. That is, it has MMU
awareness for the 82xx and 405x CPUs so you can debug the kernel and
loadable modules with full source code. More than that though, they now
also support some user-land debugging. I spose this is more relevant to
the linux mailing list though...
More information about the U-Boot