|
All of us at EventHelix.com Inc. are saddened and shocked by the events
of Sep 11, 2001. We feel a deep sense of sympathy for the attacks on
World Trade Center and the Pentagon...
Debugging Software Crashes
Debugging software crashes is one of the most difficult parts of
real-time and embedded software development. Software crashes when an
application performs an illegal operation and the operating system is
forced to abort the execution of the application. Here we will discuss
several causes of crash in typical embedded application.
Debugging Software Crashes II
This article continues our discussion on debugging software crashes.
Here we focus on memory corruption crash symptoms. We will also look at
the special considerations in debugging C++ code crashes. Finally we
will look at techniques to simplify crash debugging...
Object Oriented Programming in C
Embedded software development is slowly moving towards object
oriented analysis, design and programming. The introduction of object
oriented technologies in some systems has not happened due to lack of
C++ support on some platforms. This article focuses on platforms where
C++ compilers are not available. The developers working on these
platforms should still be able to use object oriented analysis and
design. When it comes to final code development they can use C.
High Speed Serial Port Design Pattern
Embedded processors now-a-days are connected with each other via high
speed serial links. There links can range from 1 Mbps to 100 Mbps. At
these high link speeds, the byte by byte transfers described in the
serial port design pattern prove inadequate. High speed transfers
require devices that can directly transfer data to and from memory
without interrupting the processor.
Input Belt State Machine Design
We have already defined the sequence diagrams for the Helix Router.
This article will focus on designing the C++ classes to implement the
design defined by the sequence diagrams. We will step through the
development process of one of the most complicated classes in the
system, the InputConveyorBelt.
|