Programming 32-bit Microcontrollers in C--Exploring the PIC32
Lucio Di Jasio
2008
The publisher says: "Just months after the introduction of the new generation of 32-bit PIC microcontrollers, a Microchip insider and acclaimed author takes you by hand at the exploration of the PIC32
--Free CD-ROM includes source code in C and the Microchip MPLAB C32 compiler
--Includes handy checklists to help readers perform the most common programming and debugging tasks The new 32-bit microcontrollers bring the promise of more speed and more performance while offering an unprecedented level of compatibility with existing 8 and 16-bit PIC microcontrollers. In sixteen engaging chapters, using a parallel track to his previous title dedicated to 16-bit programming, the author puts all these claims to test while offering a gradual introduction to the development and debugging of embedded control applications in C. Author Lucio Di Jasio, a PIC and embedded control expert, offers unique insight into the new 32-bit architecture while developing a number of projects of growing complexity. Experienced PIC users and newcomers to the field alike will benefit from the textýs many thorough examples which demonstrate how to nimbly side-step common obstacles, solve real-world design problems efficiently and optimize code using the new PIC32 features and peripheral set."
Software Development for Embedded Multi-core Systems: A Practical Guide Using Embedded Intel Architecture
Max Domeika
April 2008
The publisher says: "The multicore revolution has reached the deployment stage in embedded systems ranging from small ultramobile devices to large telecommunication servers. The transition from single to multicore processors, motivated by the need to increase performance while conserving power, has placed great responsibility on the shoulders of software engineers. In this new embedded multicore era, the toughest task is the development of code to support more sophisticated systems. This book provides embedded engineers with solid grounding in the skills required to develop software targeting multicore processors. Within the text, the author undertakes an in-depth exploration of performance analysis, and a close-up look at the tools of the trade. Both general multicore design principles and processor-specific optimization techniques are revealed. Detailed coverage of critical issues for multicore employment within embedded systems is provided, including the Threading Development Cycle, with discussions of analysis, design, development, debugging, and performance tuning of threaded applications. Software development techniques engendering optimal mobility and energy efficiency are highlighted through multiple case studies, which provide practical ýhow-toý advice on implementing the latest multicore processors. Finally, future trends are discussed, including terascale, speculative multithreading, transactional memory, interconnects, and the software-specific implications of these looming architectural developments."
C Programming: A Modern Approach (second edition)
K. N. King
March 2008
The publisher says: "The first edition of C Programming: A Modern Approach was popular with students and faculty alike because of its clarity and comprehensiveness as well as its trademark Q&A sections. Professor King's spiral approach made it accessible to a broad range of readers, from beginners to more advanced students. With adoptions at over 225 colleges, the first edition was one of the leading C textbooks of the last ten years.
The second edition maintains all the book's popular features and brings it up to date with coverage of the C99 standard. The new edition also adds a significant number of exercises and longer programming projects, and includes extensive revisions and updates."
Modeling and Verification Using UML Statecharts
Doron Drusinsky
April 2006
The publisher says: "As systems being developed by industry and government grow larger and more complex, the need for superior specification and verification approaches and tools becomes increasingly vital. The developer and customer must have complete confidence that the design produced is correct, and that it meets forma development and verification standards. In this text, UML expert author Dr. Doron Drusinsky compiles all the latest information on the application of UML (Universal Modeling Language) statecharts, temporal logic, automata, and other advanced tools for run-time monitoring and verification. This is the first book that deals specifically with UML verification techniques. This important information is introduced within the context of real-life examples and solutions, particularly focusing on national defense applications. A practical text, as opposed to a high-level theoretical one, it emphasizes getting the system developer up-to-speed on using the tools necessary for daily practice.
Doron Drusinsky is a Professor at Naval Postgraduate School in Monterey, CA."
Applied Control Theory for Embedded Systems
Tim Wescott
Many embedded engineers and programmers who need to implement basic process or motion control as part of a product design do not have formal training or experience in control system theory. Although some projects require advanced and very sophisticated control systems expertise, the majority of embedded control problems can be solved without resorting to heavy math and complicated control theory. However, existing texts on the subject are highly mathematical and theoretical and do not offer practical examples for embedded designers. This book is different; it presents mathematical background with sufficient rigor for an engineering text, but it concentrates on providing practical application examples that can be used to design working systems, without needing to fully understand the math and high-level theory operating behind the scenes. The author, an engineer with many years of experience in the application of control system theory to embedded designs, offers a concise presentation of the basics of control theory as it pertains to an embedded environment.
-- Synopsis provided by book publisher.
See Tim Wescott's article "PID without a PhD" that appeared in Embedded Systems Design magazine.
Systems Modeling and Requirements Specification Using ECSAM: An Analysis Method for Embedded and Computer-Based Systems
Jonah Z. Lavi, Joseph Kudish
Discover ECSAM, a method for requirements engineering and the modeling of computer-based systems (CBS). Practiced since 1980 in evolving versions by systems and software engineers, ECSAM was developed in part at Israel Aircraft Industries for the analysis and design of complex reactive embedded systems and software and has been presented in numerous undergraduate, graduate, and industrial courses.
Working Effectively with Legacy Code
Michael Feathers
Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.
Unified Modeling Language Reference Manual, The (2nd Edition)
James Rumbaugh, Ivar Jacobson, Grady Booch
The second edition of a reference manual written by the three pioneers behind the Unified Modeling Language (UML) standard. The Unified Modeling Language Reference Manual provides a guide to working with UML. It provides expert knowledge on all facets of today's UML standard, helping developers who are encountering UML on the job for the first time to be more productive.
The Design Warrior's Guide to FPGAs
Clive Maxfield
This guide covers electronic design automation at a level suited to a technical/engineering audience. In addition to introducing design flows for ICs, PCB, and electronic systems, the book describes different design methodologies and flows. It covers capture, synthesis, simulation, verification, test insertion, clock design, power design, signal integrity analysis, parasitic extraction, timing analysis, thermal analysis, and design for test.
Design Patterns
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
First published in 1995, Design Patterns is a modern classic in the literature of object-oriented development. Created by four experienced designers, it presents a catalog of simple and succinct solutions to common design problems. The authors first describe what patterns are and how they can help you in the design process. They then systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. All patterns are compiled from real-world examples and include code that demonstrates how they may be implemented in object-oriented programming languages such as C++ and Smalltalk.
Software Engineering Economics
Barry W. Boehm
This book is a guide to determining software costs, applying the fundamental concepts of microeconomics to software engineering, and utilizing economic analysis in software engineering decision making. The author is Director of the USC Center for Software Engineering and TRW Professor of Software Engineering, Computer Science Department.
Extreme Programming Refactored: The Case Against XP
Matt Stephens, Doug Rosenberg
The purpose of this book is to cut through the hype of Extreme Programming and expose its soft (and flawed) underbelly. The authors examine XP in the context of existing methodologies and processes and show how XP goals can be achieved using these existing processes. Be warned though; Jack Ganssle calls it "the most infuriating programming book I've read. The message is spot-on, but is told in such an awful manner that it's sometimes hard to hear the reasonable thoughts for the noise. It's often entertaining in the manner of The National Enquirer or a car wreck."
Embedded Control Systems in C/C++
Jim Ledin
Software developers using the MATLAB Toolbox can design control systems without being fluent in calculus. Using the techniques and reusable code in this book, developers can avoid mathematical derivations ordinarily required in control system engineering. The book offers step-by-step simulation and testing procedures recommended to support this development strategy. The companion CD-ROM includes MATLAB routines for designing controllers and generating C/C++ controller source code, and examples that can be adapted to specific control problems. The author is an electrical engineer with two decades of practical experience.
High Integrity Software: The SPARK Approach to Safety and Security
John Barnes
The SPARK language and tools are designed to support the construction of high integrity systems, where safety and security are paramount. SPARK has been applied to such applications as railway signalling, smartcard security and avionics systems in the Lockheed C130J and EuroFighter "Typhoon" projects. The CD-ROM accompanying the book contains a demonstration version of the SPARK toolset and its documentation, code examples, Aonix ObjectAda compiler Special Edition, and GNAT Compiler public edition.
Peopleware: Productive Projects and Teams, 2nd Ed.
Tom Demarco, Timothy Lister
Peopleware asserts that most software development projects fail because of failures within the team running them. This book is written for software development-team leaders and managers. The advice is presented straightforwardly and ranges from simple issues of prioritization to complex ways of engendering harmony and productivity in your team. This second edition features eight all-new chapters.
Process Control: Modeling, Design And Simulation
B. Wayne Bequette
This book teaches techniques, behaviors, and control problems through
practical examples, supplemented by exercises -- with detailed derivations,
relevant software files, and additional techniques available on a companion
Web site. Coverage includes: fundamentals of process control and
instrumentation, including objectives, variables, and block diagrams;
methodologies for developing dynamic models of chemical processes; dynamic
behavior of linear systems; feedback control, proportional, integral, and
derivative (PID ) controllers, and closed-loop stability analysis; and more.
Use Case Modeling
Kurt Bittner, Ian Spence, Ivar Jacobson
Developers who effectively employ use cases deliver better applications--on time and under budget. Use cases express the behavior of systems in terms of how users will ultimately interact with them. Despite this inherent simplicity, the use case approach is frequently misapplied, resulting in functional requirements that are confusing, cumbersome, or redundant. In Use Case Modeling, two experienced use case practitioners share their tips and tricks for applying use cases in various environments. They delve into all aspects of use case modeling and management, demonstrating how development teams can capitalize on the approach's simplicity when modeling complex systems.
Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems
Bruce Powel Douglass
The nature of real-time and embedded systems demands that these systems be powerful, efficient, and highly reliable. The constraints of limited processor and memory resources add to this challenge. Developers are beginning to rely on design patterns -- proven solutions to recurrent design challenges -- to build fail-safe systems. Real-Time Design Patterns is a reference for developers seeking to employ this powerful technique. The book begins with a review of the Unified Modeling Language (UML) notation and semantics and follows with an introduction to the Rapid Object-Oriented Process for Embedded Systems (ROPES) process and its key technologies. Readers can then survey a catalog of design patterns and their applications. The book's problem-solving templates, which draw on the author's years in the trenches, will help readers find faster, easier, and more effective design solutions. The accompanying CD-ROM contains patterns, related papers, Object Management Group (OMG) specifications, Rhapsody, a UML-compliant design automation tool, and RapidRMA, a tool that implements a collection of timeliness and schedulability algorithms.
Practical Statecharts in C/C++: Quantum Programming for Embedded Systems
Miro Samek
Model your reactive systems without heavyweight, expensive CASE tools. The author's Quantum Programming is a new paradigm that treats statecharts as a way of design rather than the use of a particular tool. It includes a complete software infrastructure for executing statecharts tailored for multithreaded embedded applications. Flexible, efficient, portable, scalable, and maintainable, this lightweight Quantum Framework permits you to quickly hand-code working real-time systems in C or C++ directly from UML statecharts. In Part I of this book, you get a clear, articulate description of the relevant concepts including traditional finite state machines, statecharts, and several statechart-based design patterns in the form of executable code examples. Learn how state nesting leads to behavioral inheritance and how it enables reuse through programming-by-difference. Part II fully describes the implementation of the Quantum Framework and explains how you can use it in your applications and port it to an RTOS of your choice. The CD-ROM includes complete source code for the author's Quantum Framework, answers to all exercises scattered throughout the book, and an evaluation version of RTOS-32 - a 32-bit real-time operating system for x86 processors.
Executable UML: A Foundation for Model-Driven Architecture
Marc Balcer, Stephen J. Mellor
Executable UML is a major innovation in the field of software development. It is designed to produce a comprehensive and understandable model of a solution independent of the organization of the software implementation. It is a highly abstract thinking tool that aids in the formalization of knowledge, and is also a way of describing the concepts that make up abstract solutions to software development problems.This book introduces, documents, and explains this important new technology. The authors show how UML can formalize requirements and use cases into a rich set of verifiable diagrams, how it can be used to produce executable and testable models, and how these models can be translated directly into code.
Extreme Programming Explained: Embrace Change (XP Series)
Kent Beck
The book intends to describe what XP is, its guiding principles, and how it works. Simply written, the book avoids case studies and concrete details in demonstrating the efficacy of XP. Instead, it demonstrates how XP relies on simplicity, unit testing, programming in pairs, communal ownership of code, and customer input on software to motivate code improvement during the development process.
Towards Verified Systems (Real-Time Safety Critical Systems, Vol 2)
Jonathan Bowen (Editor)
(Special Order)
Embedded Real-Time Systems/a Specification and Design Methodology
Jean Paul Calvez, et al
(Special Order)
Offers a comprehensive overview of real-time system design procedures and techniques for industrial and manufacturing processes plus an introduction to MCSE methodology. Includes case studies and end-of-chapter summaries of the key points covered.
Real-Time Software Systems : An Introduction to Structured and Object-Oriented Design
J. E. Cooling
Written for engineers, this book explains how to develop software for real-time systems in a rigorous, systematic and professional manner using both structured and object-oriented design methods. Using a comprehensive example, it takes the reader through the complete design process, from a statement of requirements to the eventual source code.
(Special Order)
Real-Time UML : Developing Efficient Objects for Embedded Systems
Bruce Powell Douglass
Execution speed and memory size are paramount in the development of real-time systems. "Real-Time UML" presents the fundamental concepts of the UML and real-time systems together. By learning how object technology and the UML effectively address the unique requirements of embedded real-time systems, the reader will be able to apply the full benefits of object technology in a new discipline--embedded systems programming.
Doing Hard Time: Developing Real-Time Systems with UML, Object, Frameworks and Patterns
Bruce Powel Douglass
Douglass begins by championing the advantages of objects for embedded development and then shows off basic UML document types. Next he addresses the difficulties of writing embedded systems (which are used in hospitals, aircraft, nuclear power plants, and other life-or-death environments). He looks at the restricted resources of embedded hardware and design issues regarding memory management and event handling.
Specification and Design of Embedded Systems
Daniel D. Gajski (Editor)
This is the first book on embedded systems to offer a unified approach to hardware and software specification and design issues -- and the first to outline a new specify- explore-refine paradigm that is presently being used in industry in an ad-hoc manner, but until now has not been formally described. The book addresses the system design methodology from conceptualization to manufacturing using this new paradigm, and shows how this methodology can result in 10x improvement in productivity. KEY TOPICS: Addresses two of the most significant topics in the design of digital systems -- executable system specification and a methodology for system partitioning and refinement into system-level components. Covers models and architectures; specification languages; a specification example; translation to VHDL; system partitioning; design quality estimation; specification refinement into synthesizable models; and system-design methodology and environment.
Unified Software Development Process
Ivar Jacobson, Grady Booch, James Rumbaugh
This guide overviews the Unified Process for software development, with a focus on modeling using the Unified Modeling Language (UML). It demonstrates how the notation and process complement on another, using UML models to illustrate the new process in action.
Flow Design for Embedded Systems, 2nd Edition
Barry Kauler
In Flow Design for Embedded Systems, the author has created a unified object-oriented methodology that can be applied to any microprocessor and language. Two tools are included: a GUI CASE tool for Windows 3.x/9X combining design, system specification, coding, and implementation; and TERSE, an interrupt-driven OS for building designs.
Simulation Engineering: Build Better Embedded Systems Faster
Jim Ledin
Simulation veteran Jim Ledin delivers step-by-step instructions on the entire range of simulation techniques, and gives sage insight into the related management issues. You learn about simulation from the ground up - beginning with the fundamentals of mathematical models and progressing through detailed instructions and application examples of working simulations.
Small Memory Software: Patterns for Systems with Limited Memory
James Noble, Charles Weir
Once upon a time computer memory was one of the most expensive commodities on earth, and large amounts of human ingenuity were spent trying to simulate supernova explosions with nothing more than a future Nobel prize winner and a vast array of vacuum tubes. Nowadays many people have enough computer memory to simulate the destruction of most of the galaxy in any one of their hand-held phones, digital diaries, or microwave ovens.
Executable UML : A Case Study
Leon Starr
Executable UML is a graphical specification language. It combines a subset of the UML (Unified Modeling Language) graphical notation with executable semantics and timing rules taken from the Shlaer-Mellor Method.
Other Topics