Test-Driven Development for Embedded C (Pragmatic Programmers)
Another day without Test-Driven Development means more time wasted chasing bugs and watching your code deteriorate. You thought TDD was for someone else, but it's not! It's for you, the embedded C programmer. TDD helps you prevent defects and build software with a long useful life. This is the first book to teach the hows and whys of TDD for C programmers.TDD is a modern programming practice C developers need to know. It's a different way to program---unit tests are written in a tight...
C Programming Language, 2nd Edition
The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. The 2/E has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. For years, C programmers have...
The Designer's Guide to the Cortex-M Processor Family: A Tutorial Approach
The Designer’s Guide to the Cortex-M Microcontrollers gives you an easy-to-understand introduction to the concepts required to develop programs in C with a Cortex-M based microcontroller. The book begins with an overview of the Cortex-M family, giving architectural descriptions supported with practical examples, enabling you to easily develop basic C programs to run on the Cortex-M0/M0+/M3 and M4 and M7. It then examines the more advanced features of the Cortex architecture such as memory...
ARM System-on-Chip Architecture
The future of the computer and communications industries is converging on mobile information appliances - phones, PDAs, laptops and other devices. The ARM is at the heart of this trend, leading the way in system-on-chip (SoC) development and becoming the processor core of choice for many embedded applications. System-on-chip technology is changing the way we use computers, but it also sets designers the very challenging problem of getting a complex SoC design right first time. ARM...
Inside the Arm Cortex Core: Microcontroller Architecture, Execution Flow, and Firmware Engineering (Systems Engineering
Embedded Systems Security: Practical Methods for Safe and Secure Software and Systems Development
The ultimate resource for making embedded systems reliable, safe, and secure
Embedded Systems Security provides:
- A broad understanding of security principles, concerns, and technologies
- Proven techniques for the efficient development of safe and secure embedded software
- A study of the system architectures, operating systems and hypervisors, networking, storage, and cryptographic issues that must be considered when designing secure embedded systems
- Nuggets of practical advice and...
The Definitive Guide to the ARM Cortex-M0
The Definitive Guide to the ARM Cortex-M0 is a guide for users of ARM Cortex-M0 microcontrollers. It presents many examples to make it easy for novice embedded-software developers to use the full 32-bit ARM Cortex-M0 processor. It provides an overview of ARM and ARM processors and discusses the benefits of ARM Cortex-M0 over 8-bit or 16-bit devices in terms of energy efficiency, code density, and ease of use, as well as their features and applications. The book describes the architecture of...
Constructive Approaches for Security Analysis and Design of Embedded Systems: Second International Conference, CASCADE 2
Understanding and Using C Pointers: Core Techniques for Memory Management
Improve your programming through a solid understanding of C pointers and memory management. With this practical book, you’ll learn how pointers provide the mechanism to dynamically manipulate memory, enhance support for data structures, and enable access to hardware. Author Richard Reese shows you how to use pointers with arrays, strings, structures, and functions, using memory models throughout the book.
Difficult to master, pointers provide C with much flexibility and power—yet few...
Software Engineering for Embedded Systems: Methods, Practical Techniques, and Applications
Software Engineering for Embedded Systems: Methods, Practical Techniques, and Applications, Second Edition provides the techniques and technologies in software engineering to optimally design and implement an embedded system. Written by experts with a solution focus, this encyclopedic reference gives an indispensable aid on how to tackle the day-to-day problems encountered when using software engineering methods to develop embedded systems. New sections cover peripheral programming, Internet...
Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux
In-depth instruction and practical techniques for building with the BeagleBone embedded Linux platform
Exploring BeagleBone is a hands-on guide to bringing gadgets, gizmos, and robots to life using the popular BeagleBone embedded Linux platform. Comprehensive content and deep detail provide more than just a BeagleBone instruction manual-you'll also learn the underlying engineering techniques that will allow you to create your own projects. The book begins with a foundational primer on...
Real-time Operating Systems Book 1: The Theory
This book deals with the fundamentals of operating systems for use in real-time embedded systems. It is aimed at those who wish to develop RTOS-based designs, using either commercial or free products. It does not set out to give you a knowledge to design an RTOS; leave that to the specialists. The target readership includes:- Students.- Engineers, scientists and mathematicians moving into software systems.- Professional and experienced software engineers entering the embedded field.-...
Digital Signal Processing using Arm Cortex-M based Microcontrollers: Theory and Practice
This textbook introduces readers to digital signal processing fundamentals using low-cost, high-performance Arm Cortex-M based microcontrollers as demonstrator platforms. It covers foundational concepts, principles and techniques in digital signal processing, such as signals and systems, sampling, reconstruction and anti-aliasing, FIR and IIR filter design, transforms, and adaptive signal processing. Key features include a set of hands-on labs that highlight the practical side of digital...
ARM Assembly Language Programming with Raspberry Pi using GCC
About the Raspberry Pi: Raspberry Pi boards are low cost yet powerful boards using Arm processors. They can be used for both educational and industrial purposes. About this book: This book covers Arm Assembly programing for Raspberry Pi boards. Although the Arm instructions are standard, the assembler directives vary in GCC and non-GCC assemblers. In this book, you learn how to write Arm assembly programs in Linux and the GCC based compilers. This book also gives you a general view of the...
Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming
With this book, Christopher Kormanyos delivers a highly practical guide to programming real-time embedded microcontroller systems in C++. It is divided into three parts plus several appendices. Part I provides a foundation for real-time C++ by covering language technologies, including object-oriented methods, template programming and optimization. Next, part II presents detailed descriptions of a variety of C++ components that are widely used in microcontroller programming. It details some...
Linux Driver Development for Embedded Processors - Second Edition: Learn to develop Linux embedded drivers with kernel 4
LINUX DRIVER DEVELOPMENT FOR EMBEDDED PROCESSORS - SECOND EDITION - The flexibility of Linux embedded, the availability of powerful, energy efficient processors designed for embedded computing and the low cost of new processors are encouraging many industrial companies to come up with new developments based on embedded processors. Current engineers have in their hands powerful tools for developing applications previously unimagined, but they need to understand the countless features that...
Embedded Linux Development Using Yocto Project Cookbook: Practical recipes to help you leverage the power of Yocto to bu
Over 79 hands-on recipes for professional embedded Linux developers to optimize and boost their Yocto Project know-how
Key Features- Optimize your Yocto setup to speed up development and debug build issues
- Use what is quickly becoming the standard embedded Linux product builder framework-the Yocto Project
- Recipe-based implementation of best practices to optimize your Linux system
The Yocto Project has become the de facto distribution build framework for reliable and robust embedded...
Embedded Systems Architecture: Explore architectural concepts, pragmatic design patterns, and best practices to produce
Learn to design and develop safe and reliable embedded systems
Key Features- Identify and overcome challenges in embedded environments
- Understand the steps required to increase the security of IoT solutions
- Build safety-critical and memory-safe parallel and distributed embedded systems
Embedded systems are self-contained devices with a dedicated purpose. We come across a variety of fields of applications for embedded systems in industries such as automotive, telecommunications,...
Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC
Using FreeRTOS and libopencm3 instead of the Arduino software environment, this book will help you develop multi-tasking applications that go beyond Arduino norms. In addition to the usual peripherals found in the typical Arduino device, the STM32 device includes a USB controller, RTC (Real Time Clock), DMA (Direct Memory Access controller), CAN bus and more.
Each chapter contains clear explanations of the STM32 hardware capabilities to help get you started with the device, including GPIO...








