
![]() |
Debugging
|
![]() |
||
|
The Quub system has support for multi-processor debugging built into the system. It's not an all-singing all-dancing solution, more a simple method of getting information out of the system and onto some form of display device. At the lowest level it just connects a slave processor to the LED on the core board or the QUUBugger so an application program can flash the LED. To facilitate this the backplane has 4 signals dedicated to debugging, these are known as DBG-00, 01, 02 and 03. A stackable has a DBGEN signal that is driven by the Stackable Control Chip (SCC), DBGEN should be connected to the enable inputs of one or more transmission gates or other logic that will cause the stackable's debug signals to be in a high-impedance state when DBGEN is low and allow them to be connected to the debug bus when DBGEN is high. Of the 4 available debug signals a stackable will normally only use DBG-00 and/or DBG-01 with DBG-02/03 being intended for use by the core processor at this point.
|
||||
| QUUBmon | ||||
|
QUUBmon is designed to have an extremely small footprint, to be as nonintrusive and to use as few host resources as possible, to this end it...
The writing of QUUBmon is a fair way off yet, but with it and the QUUBugger tool (below) it should be possible to get live views of system data and registers on a PC screen, even if the application program has crashed (obviously this depends on the severity and nature of the crash). Also a GUI application running on the PC will have access to the MAP file and as such should be able to work with the program's symbols.
|
||||
| Some debugging examples | ||||
|
While very rudimentary just having access to a single LED is a very useful debugging tool. In the next example we have a similar arrangement, however this time the outputs from the slave processors are connected to a Sparkfun serial 4-digit LED display. Simple as this system is it allows any processor in the system to display a 16-bit value while using almost no system resources, and that is a hugely useful debugging tool.
This third example shows a system where all processors are running QUUBmon as a background monitor. QUUBmon uses a high-speed synchronous comms link to talk to the QUUBugger and ties up only two general-purpose IO pins. It uses the watchdog interrupt (that is seldom used by applications) and is therefore relatively immune to application crashes; as long at this interrupt hasn't been disabled QUUBmon will continue to run and can be used to report on system variables such as the data on the stack (addresses and local variables) or the values of global variables.
All slave processors have their debug connection controlled by SCCs and these are under the control of the core processor and therefore by the PC application via the DBG-02/03 signals (the blue link).
|
||||
| ION prototype board | ||||
|
To aid the development of IONs a prototyping board has been designed. This board has the control logic required to implement an ION based on the ATtiny85 processor. It also has a large PTH prototyping area and because many modern sensors are not available in PTH packages several SMD pad sites that are broken out to the .1" grid.
This board has the following features.
|
||||
| QUUBugger | ||||
|
For more information go to the QUUBugger section.
|
||||
All electronics information and designs on this site is released
under the Creative Commons CC BY-SA and/or Open Hardware licences.


![]() |