On 05/22/2013 08:34 AM, Eric Kler wrote:
> Dear list,
>
> What do you use for debugging your code on real world systems? Is special 
> hardware really necessary, I'm curious what professionals use in this field 
> and what is the most recommended product.
>
> So far I have found following options:
> - http://www.windriver.com/products/simics/  (software)-- but I have no idea 
> how much does it cost or if it will be enough for debugging the firmware 
> (product promo: http://www.youtube.com/watch?v=lYAukMyek9A  )
> - DQ57TM (hardware)

On hardware I use the DEBUG() macro mostly.  Not terribly fancy, but 
reasonably effective.  We have a proprietary simulator (similar to 
simics) which is invaluable for testing.  If I were in the open source 
world, I'd use qemu.  (If qemu didn't simulate the h/w pieces I needed, 
I'd seriously consider adding them to qemu myself; it's not that hard to 
extend.  A simulator is way, way easier to debug on than real h/w.) 
Simics has an impressive data sheet, but I haven't used it personally. 
I know others use it for firmware development.

Intel sells an ITP (in-target probe), which is useful for figuring out 
what's happening on hardware using their CPUs.  You can set breakpoints, 
view/set memory and registers, even do source-level debugging if you're 
using Microsoft's compilers.  It isn't always very stable, though, and 
is expensive.

American Arium sells an ITP as well, but I have no experience with it.

A plugin to GDB and WinDBG (depending on which compiler you're using) is 
available, which debugs a target system over a serial or USB connection; 
see SourceLevelDebugPkg.  I haven't had a lot of luck with it in 
practice; does anyone else use it?
-- 

                                                 Brian Johnson

--------------------------------------------------------------------

    "Remember that ignorance is expensive."
                                            -- From LLIB

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to