![]() Invented Real-Time
MCU Program-Trace Hardware System at ITT Courier Inc. |
• Bill invented, designed and built hardware that continuously displays microprocessor bus activity in real-time. • That is, by simply watching one graphics screen, the user can see a trace of every routine, subroutine, and I/O access, in real-time, without embedding any debug code, and without disturbing the program's time course. • The relative intensities (of image regions) indicate the total duration spent executing that routine or subroutine. |
![]() |
• RtTrace enables real-time debugging of time-critical software. • RtTrace is superior to software/hardware breakpoints because RtTrace does not use any debug code, and does not disturb the program's time course, whereas, breakpoints have both these drawbacks. • RtTrace produces a "whole system overview," not just a complex stream of details. • RtTrace is simple, requiring only a handful of off-the-shelf chips. |
![]() |
Leadership / Management • Bill invented, designed, built, and successfully utilized the RtTrace system. Theory / R&D • Bill's familiarity with many hardware and software techniques enabled RtTrace development. • This includes Bill’s numerous insights in computer science, and hardware design (D/A, FIFO buffering, MCU Bus architecture, and Test instruments). Software • It was Bill's own software projects (mostly MCU assembly language) that forced the invention of RtTrace. Hardware • 100% of RtTrace is executed in hardware, all of which Bill conceived, designed and built. |
![]() |
By pushing beyond the current state-of-the-art, there are these opportunities: • Today's complex systems-on-a-chip (SOCs) include time-critical software execution that can not tolerate any significant disturbance the program's time course. RtTrace can help. • Bill's initial version of RtTrace could be significantly enhanced by adding specialized hardware traps and address/data filters. |
![]() |
• "One of the hardest problems facing embedded developers today is the limited visibility into the workings of their software. This is especially apparent when working on systems with strict real-time constraints because standard debugging techniques generally rely on altering the execution behavior of the software being debugged." -- source |
