4.4 Class Design
ICE Bear JTAG interface board
Figure 4.10 The firmware is tested on Black Spot modules using the ICE Bear hardware debugger connected via USB to a PC.
with the JT G board via the Universal Serial Bus (USB). The JT G board chosen was the ICE Bear from the Swiss company Section5 .
This section briefly describes the firmware implementation.
Figure 4.11 shows an UML
class diagram of the core firmware functionality.
s objects are not supported in ISO C
this diagram is at best an approximation of the code and should be used to provide an overview of the code structure only. Some concrete classes have been omitted from the diagram for clarity leaving only the interface they implement. The diagram is split into two parts. These are the hardware dependent parts (on the left) and the classes that can be compiled on both a PC and the Blackfin DSP (on the right). The diagram is best described from left to right as this relates to the flow of data beginning at the image sensor in the Blackfin case or test data in the PC case and ending in the communications stream that is sent to the hub. The left part of the diagram contains hardware specific classes. These classes interface with the underlying hardware and therefore require implementations on both the PC and Blackfin. These classes include the image sensor drivers. The equivalent PC classes are the interface to the OpenCV library and test videos. The image sensor driver
is described further in Section 4.4.1.
Starting from the first class that can be compiled on both PC and Blackfin, a frame strip is defined as a portion of a captured image frame. It has the width of the image frame and its height is a factor of the image frame’s height. class that implements the IFrame- StripProvider interface generates frame strips corresponding to portions of a captured
frame. For example, with the 752 x 480 wide VG
frame used in this project, strips of
height 24 pixels are used and this results in 20 strips per frame. These are consumed by a ROIProvider object using an event driven mechanism. The IFrameStripProvider