[U-Boot-Users] BDI2000 vs Vision-ICE

Richard Danter 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 mailing list