Shorten Firmware Development Time, Use the Right Tools

Time-to-market can make or break many technology-based products today.  Firmware development is often the task that drives completion schedule.  If you need to shorten the time-to-market on your next project, would choosing the best tools for the job make a big difference?

Most technology-based product development projects contain firmware component that either includes or is dominated by:

  • Boot Code  (often Uboot or Unified Extensible Firmware Interface (UEFI))
  • Kernel porting (Linux, ThreadX, uCOS ….)
  • Driver writing and debug (TCP/IP, USB, storage, display …)

These tasks must be complete before system test can begin, even when the application code moves from one project generation to the next.  Additionally, bugs in this area may crop up at any point in system validation.  When that happens, root causing the failure can be difficult and time consuming.

Full-featured development tools can make a huge difference.  If the boot code is mostly UEFI then useful symbol searches must reach across multiple programs (multiple EFI modules appear as separate programs) and be very fast.  If the source-level-debugger in use is not both feature-rich and fast, a lot of time will be lost.

Once the boot code is starting to launch the kernel, a whole new set of features are needed.  Multiple program debug (UEFI and the kernel at the same time) is still very important, but now a set of kernel-aware features is mandatory.  Attempting to debug threaded code without a thread-aware debugger is like trying to dig a swimming pool with a teaspoon.  You might get it done, but it will take forever.  A thread-aware debugger should let you fully view the entire context of each thread whether or not it is running.  You should be able to easily look at the point it is pended and also see what it is pended on.  The stack for each thread should be easily viewable.

Once the kernel is up and you launch the applications that make your product what it is, there are likely to be a few crashes.  The only fast way to root-cause these is by using a debug tool that provides software execution trace.  Using trace to find this kind of bug can reduce debug time from weeks to minutes.  A few of these issues can make or break a project!

Take a careful look at SourcePoint, ASSET’s premier firmware debug tools suite.  Explore either the Intel or ARM areas to see some of the unique and powerful features available:

SourcePoint™ Products

Larry A. Traylor