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