This new edition has been fully revised and updated to include extensive information on the ARM Cortex-M4 processor, providing a complete up-to-date guide to both Cortex-M3 and Cortex-M4 processors, and which enables migration from various processor architectures to the exciting world of the Cortex-M3 and M4. Key Features include: * Two new chapters on DSP features and CMSIS-DSP software libraries, covering DSP fundamentals and how to write DSP software for the Cortex-M4 processor, including examples of using the CMSIS-DSP library, as well as useful information about the DSP capability of the Cortex-M4 processor * A new chapter on the Cortex-M4 floating point unit and how to use it * A new chapter on using embedded OS (based on CMSIS-RTOS), as well as details of processor features to support OS operations * Various debugging techniques as well as a troubleshooting guide in the appendix * topics on software porting from other architectures * A full range of easy-to-understand examples, diagrams and quick reference appendices This book presents the background of the ARM architecture and outlines the features of the processors such as the instruction set, interrupt-handling and also demonstrates how to program and utilize the advanced features available such as the Memory Protection Unit (MPU). Chapters on getting started with IAR, Keil, gcc and CooCox CoIDE tools help beginners develop program codes. Coverage also includes the important areas of software development such as using the low power features, handling information input/output, mixed language projects with assembly and C, and other advanced topics. . The only available guide to the ARM Cortex-M3 and Cortex-M4 processors, written by an ARM engineer who helped to develop the core . New to this edition: coverage of the Cortex-M4 architecture . Covers DSP and how to write DSP software for the Cortex-M4 . Includes a full range of easy-to-understand examples, diagrams, quick reference appendices, full instruction and Thumb-2 instruction sets. . Includes the latest CMSIS.