Affiliation:
1. Clarinox Technologies Pty Ltd, Australia
2. RMIT University, Australia
Abstract
Debugging embedded systems is almost guaranteed to cause headaches. Embedded systems, and especially portable embedded systems, are becoming increasingly complex and have unique constraints that make them hard to debug. Traditional static debugging tools provided by the embedded development tool chains are important but are only part of the story. Time-dependant issues cannot be debugged by such tools. Embedded environments have to provide efficient mechanisms for managing a range of issues such as thread interaction, control of timers, semaphores and mutexes, IPC message passing, event handling, and finite-state machine organizations. This chapter looks at issues of escalating complexity in modern heterogeneous embedded systems and their impact on debugging techniques and advocates a framework approach to manage this complexity. Using the ClarinoxSoftFrame® Suite framework as an illustrative example, this chapter describes how a modular and open approach to debugging can aid the rapid development of robust wireless-enabled embedded systems that employ a variety of operating systems and platforms. The overall objective in this type of approach is to leverage prebuilt code infrastructure plus existing development skills as much as possible, thereby avoiding the need for engineering staff to learn and re-learn a range of compilers, operating systems, and the like. Overall, debug time can be greatly reduced by improved visibility into the complex interactions between cooperating processes within the code. Collateral benefits can include a reduction in the size of the necessary development team with a reduction in skills specialization.
Reference45 articles.
1. Agile Alliance. (2013). Unit Testing. Retrieved January 2014, from http://guide.agilealliance.org/guide/unittest.html
2. Almeida, G. M., Varyani, S., Busseuil, R., Sassatelli, G., Benoit, P., Torres, L., et al. (2010). Evaluating the impact of task migration in multi-processor systems-on-chip. Paper presented at the 23rd symposium on Integrated circuits and system design. Sao Paulo, Brazil.
3. Bacchelli, A., Ciancarini, P., & Rossi, D. (2008). On the Effectiveness of Manual and Automatic Unit Test Generation. Paper presented at the Third International Conference on Software Engineering Advances. New York, NY.
4. Bolanos, M. A. (2010). 3D Packaging Technology: Enabling the next wave of applications. Paper presented at the 34th IEEE/CPMT International Electronic Manufacturing Technology Symposium (IEMT). New York, NY.
5. Britt, J., & The Neurogami Group. (2013). Test: Unit. Retrieved January 2014, from http://ruby-doc.org/stdlib-2.1.0/libdoc/test/unit/rdoc/Test/Unit.html