The Insider's Guide to Arm Cortex-M Development

The Insider's Guide to Arm Cortex-M Development

Author: Zachary Lasiuk

Publisher: Packt Publishing Ltd

Published: 2022-10-27

Total Pages: 276

ISBN-13: 1803241136

DOWNLOAD EBOOK

Learn and implement the latest Arm Cortex-M microcontroller development concepts such as performance optimization, security, software reuse, machine learning, continuous integration, and cloud-based development from industry experts Key FeaturesLearn how to select the best Cortex-M hardware, software, and tools for your projectUnderstand the use of key software components and how to optimize and develop modern applicationsGet hands-on experience implementing quality software using example code provided in the bookPurchase of the print or Kindle book includes a free eBook in the PDF formatBook Description Cortex-M has been around since 2004, so why a new book now? With new microcontrollers based on the Cortex-M55 and Cortex-M85 being introduced this year, Cortex-M continues to expand. New software concepts, such as standardized software reuse, have emerged alongside new topics including security and machine learning. Development methodologies have also significantly advanced, with more embedded development taking place in the cloud and increased levels of automation. Due to these advances, a single engineer can no longer understand an entire project and requires new skills to be successful. This book provides a unique view of how to navigate and apply the latest concepts in microcontroller development. The book is split into two parts. First, you'll be guided through how to select the ideal set of hardware, software, and tools for your specific project. Next, you'll explore how to implement essential topics for modern embedded developers. Throughout the book, there are examples for you to learn by working with real Cortex-M devices with all software available on GitHub. You will gain experience with the small Cortex-M0+, the powerful Cortex-M55, and more Cortex-M processors. By the end of this book, you'll be able to practically apply modern Cortex-M software development concepts. What you will learnFamiliarize yourself with heuristics to identify the right components for your Cortex-M projectBoot code to efficiently start up a Cortex-M deviceOptimize algorithms with compilers, middleware, and other meansGet to grips with machine learning frameworks and implementation techniquesUnderstand security in the embedded space with solutions like TrustZone and TF-MExplore cloud-based development methodologies to increase efficiencyDive into continuous integration frameworks and best practicesIdentify future trends that could impact Cortex-M software developmentWho this book is for This book is for practicing engineers and students working with embedded and IoT systems who want to quickly learn how to develop quality software for Arm Cortex-M processors without reading long technical manuals. If you're looking for a book that explains C or assembly language programming for the purpose of creating a single application or mastering a type of programming such as digital signal processing algorithms, then this book is NOT for you. A basic understanding of embedded hardware and software, along with general C programming skills will assist with understanding the concepts covered in this book.


The Designer's Guide to the Cortex-M Processor Family

The Designer's Guide to the Cortex-M Processor Family

Author: Trevor Martin

Publisher: Newnes

Published: 2013-03-13

Total Pages: 331

ISBN-13: 0080982999

DOWNLOAD EBOOK

The Designer's Guide to the Cortex-M Family is a tutorial-based book giving the key concepts required to develop programs in C with a Cortex M- based processor. The book begins with an overview of the Cortex- M family, giving architectural descriptions supported with practical examples, enabling the engineer to easily develop basic C programs to run on the Cortex- M0/M0+/M3 and M4. It then examines the more advanced features of the Cortex architecture such as memory protection, operating modes and dual stack operation. Once a firm grounding in the Cortex M processor has been established the book introduces the use of a small footprint RTOS and the CMSIS DSP library. With this book you will learn: - The key differences between the Cortex M0/M0+/M3 and M4 - How to write C programs to run on Cortex-M based processors - How to make best use of the Coresight debug system - How to do RTOS development - The Cortex-M operating modes and memory protection - Advanced software techniques that can be used on Cortex-M microcontrollers - How to optimise DSP code for the cortex M4 and how to build real time DSP systems - An Introduction to the Cortex microcontroller software interface standard (CMSIS), a common framework for all Cortex M- based microcontrollers - Coverage of the CMSIS DSP library for Cortex M3 and M4 - An evaluation tool chain IDE and debugger which allows the accompanying example projects to be run in simulation on the PC or on low cost hardware


The Designer's Guide to the Cortex-M Processor Family

The Designer's Guide to the Cortex-M Processor Family

Author: Trevor Martin

Publisher: Newnes

Published: 2022-12-02

Total Pages: 650

ISBN-13: 0323854958

DOWNLOAD EBOOK

The Designer's Guide to the Cortex-M Microcontrollers, Third Edition provides an easy-to-understand introduction to the concepts required to develop programs in C with a Cortex-M based microcontroller. Sections cover architectural descriptions that are supported with practical examples, enabling readers to easily develop basic C programs to run on the Cortex-M0/M0+/M3 and M4 and M7 and examine advanced features of the Cortex architecture, such as memory protection, operating modes and dual stack operation. Final sections examine techniques for software testing and code reuse specific to Cortex-M microcontrollers. Users will learn the key differences between the Cortex-M0/M0+/M3 and M4 and M7; how to write C programs to run on Cortex-M based processors; how to make the best use of the CoreSight debug system; the Cortex-M operating modes and memory protection; advanced software techniques that can be used on Cortex-M microcontrollers, and much more. - Includes an update to the latest version (5) of MDK-ARM, which introduces the concept of using software device packs and software components - Includes overviews of new CMSIS specifications - Covers developing software with CMSIS-RTOS, showing how to use RTOS in real- world design


ARM® Cortex® M4 Cookbook

ARM® Cortex® M4 Cookbook

Author: Dr. Mark Fisher

Publisher: Packt Publishing Ltd

Published: 2016-03-16

Total Pages: 296

ISBN-13: 1782176519

DOWNLOAD EBOOK

Over 50 hands-on recipes that will help you develop amazing real-time applications using GPIO, RS232, ADC, DAC, timers, audio codecs, graphics LCD, and a touch screen About This Book This book focuses on programming embedded systems using a practical approach Examples show how to use bitmapped graphics and manipulate digital audio to produce amazing games and other multimedia applications The recipes in this book are written using ARM's MDK Microcontroller Development Kit which is the most comprehensive and accessible development solution Who This Book Is For This book is aimed at those with an interest in designing and programming embedded systems. These could include electrical engineers or computer programmers who want to get started with microcontroller applications using the ARM Cortex-M4 architecture in a short time frame. The book's recipes can also be used to support students learning embedded programming for the first time. Basic knowledge of programming using a high level language is essential but those familiar with other high level languages such as Python or Java should not have too much difficulty picking up the basics of embedded C programming. What You Will Learn Use ARM's uVision MDK to configure the microcontroller run time environment (RTE), create projects and compile download and run simple programs on an evaluation board. Use and extend device family packs to configure I/O peripherals. Develop multimedia applications using the touchscreen and audio codec beep generator. Configure the codec to stream digital audio and design digital filters to create amazing audio effects. Write multi-threaded programs using ARM's real time operating system (RTOS). Write critical sections of code in assembly language and integrate these with functions written in C. Fix problems using ARM's debugging tool to set breakpoints and examine variables. Port uVision projects to other open source development environments. In Detail Embedded microcontrollers are at the core of many everyday electronic devices. Electronic automotive systems rely on these devices for engine management, anti-lock brakes, in car entertainment, automatic transmission, active suspension, satellite navigation, etc. The so-called internet of things drives the market for such technology, so much so that embedded cores now represent 90% of all processor's sold. The ARM Cortex-M4 is one of the most powerful microcontrollers on the market and includes a floating point unit (FPU) which enables it to address applications. The ARM Cortex-M4 Microcontroller Cookbook provides a practical introduction to programming an embedded microcontroller architecture. This book attempts to address this through a series of recipes that develop embedded applications targeting the ARM-Cortex M4 device family. The recipes in this book have all been tested using the Keil MCBSTM32F400 board. This board includes a small graphic LCD touchscreen (320x240 pixels) that can be used to create a variety of 2D gaming applications. These motivate a younger audience and are used throughout the book to illustrate particular hardware peripherals and software concepts. C language is used predominantly throughout but one chapter is devoted to recipes involving assembly language. Programs are mostly written using ARM's free microcontroller development kit (MDK) but for those looking for open source development environments the book also shows how to configure the ARM-GNU toolchain. Some of the recipes described in the book are the basis for laboratories and assignments undertaken by undergraduates. Style and approach The ARM Cortex-M4 Cookbook is a practical guide full of hands-on recipes. It follows a step-by-step approach that allows you to find, utilize and learn ARM concepts quickly.


Designing Secure IoT Devices with the Arm Platform Security Architecture and Cortex-M33

Designing Secure IoT Devices with the Arm Platform Security Architecture and Cortex-M33

Author: Trevor Martin

Publisher: Newnes

Published: 2022-04-28

Total Pages: 498

ISBN-13: 0128214732

DOWNLOAD EBOOK

Designing Secure IoT devices with the Arm Platform Security Architecture and Cortex-M33 explains how to design and deploy secure IoT devices based on the Cortex-M23/M33 processor. The book is split into three parts. First, it introduces the Cortex-M33 and its architectural design and major processor peripherals. Second, it shows how to design secure software and secure communications to minimize the threat of both hardware and software hacking. And finally, it examines common IoT cloud systems and how to design and deploy a fleet of IoT devices. Example projects are provided for the Keil MDK-ARM and NXP LPCXpresso tool chains. Since their inception, microcontrollers have been designed as functional devices with a CPU, memory and peripherals that can be programmed to accomplish a huge range of tasks. With the growth of internet connected devices and the Internet of Things (IoT), "plain old microcontrollers are no longer suitable as they lack the features necessary to create both a secure and functional device. The recent development by ARM of the Cortex M23 and M33 architecture is intended for today's IoT world. - Shows how to design secure software and secure communications using the ARM Cortex M33-based microcontrollers - Explains how to write secure code to minimize vulnerabilities using the CERT-C coding standard - Uses the mbedTLS library to implement modern cryptography - Introduces the TrustZone security peripheral PSA security model and Trusted Firmware - Legal requirements and reaching device certification with PSA Certified


The Definitive Guide to the ARM Cortex-M3

The Definitive Guide to the ARM Cortex-M3

Author: Joseph Yiu

Publisher: Newnes

Published: 2009-11-19

Total Pages: 481

ISBN-13: 1856179648

DOWNLOAD EBOOK

This user's guide does far more than simply outline the ARM Cortex-M3 CPU features; it explains step-by-step how to program and implement the processor in real-world designs. It teaches readers how to utilize the complete and thumb instruction sets in order to obtain the best functionality, efficiency, and reuseability. The author, an ARM engineer who helped develop the core, provides many examples and diagrams that aid understanding. Quick reference appendices make locating specific details a snap! Whole chapters are dedicated to: Debugging using the new CoreSight technologyMigrating effectively from the ARM7 The Memory Protection Unit Interfaces, Exceptions,Interrupts ...and much more! - The only available guide to programming and using the groundbreaking ARM Cortex-M3 processor - Easy-to-understand examples, diagrams, quick reference appendices, full instruction and Thumb-2 instruction sets are included - T teaches end users how to start from the ground up with the M3, and how to migrate from the ARM7


The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors

The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors

Author: Joseph Yiu

Publisher: Newnes

Published: 2013-10-06

Total Pages: 1055

ISBN-13: 0124079180

DOWNLOAD EBOOK

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. 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. 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


ARM System Developer's Guide

ARM System Developer's Guide

Author: Andrew Sloss

Publisher: Elsevier

Published: 2004-05-10

Total Pages: 703

ISBN-13: 0080490492

DOWNLOAD EBOOK

Over the last ten years, the ARM architecture has become one of the most pervasive architectures in the world, with more than 2 billion ARM-based processors embedded in products ranging from cell phones to automotive braking systems. A world-wide community of ARM developers in semiconductor and product design companies includes software developers, system designers and hardware engineers. To date no book has directly addressed their need to develop the system and software for an ARM-based system. This text fills that gap. This book provides a comprehensive description of the operation of the ARM core from a developer's perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software. The book covers both the ARM and Thumb instruction sets, covers Intel's XScale Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture.* No other book describes the ARM core from a system and software perspective. * Author team combines extensive ARM software engineering experience with an in-depth knowledge of ARM developer needs. * Practical, executable code is fully explained in the book and available on the publisher's Website. * Includes a simple embedded operating system.


Beginning STM32

Beginning STM32

Author: Warren Gay

Publisher: Apress

Published: 2018-06-01

Total Pages: 418

ISBN-13: 1484236246

DOWNLOAD EBOOK

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 and several other ST Microelectronics peripherals like USB and CAN bus controller. You’ll learn how to download and set up the libopencm3 + FreeRTOS development environment, using GCC. With everything set up, you’ll leverage FreeRTOS to create tasks, queues, and mutexes. You’ll also learn to work with the I2C bus to add GPIO using the PCF8574 chip. And how to create PWM output for RC control using hardware timers. You'll be introduced to new concepts that are necessary to master the STM32, such as how to extend code with GCC overlays using an external Winbond ​W25Q32 flash chip. Your knowledge is tested at the end of each chapter with exercises. Upon completing this book, you’ll be ready to work with any of the devices in the STM32 family. Beginning STM32 provides the professional, student, or hobbyist a way to learn about ARM without costing an arm! What You'll Learn Initialize and use the libopencm3 drivers and handle interrupts Use DMA to drive a SPI based OLED displaying an analog meter Read PWM from an RC control using hardware timers Who This Book Is For Experienced embedded engineers, students, hobbyists and makers wishing to explore the ARM architecture, going beyond Arduino limits.


Clean Craftsmanship

Clean Craftsmanship

Author: Robert C. Martin

Publisher: Addison-Wesley Professional

Published: 2021-09-16

Total Pages: 510

ISBN-13: 0136915833

DOWNLOAD EBOOK

How to Write Code You're Proud of . . . Every Single Day ". . . [A] timely and humble reminder of the ever-increasing complexity of our programmatic world and how we owe it to the legacy of humankind--and to ourselves--to practice ethical development. Take your time reading Clean Craftsmanship. . . . Keep this book on your go-to bookshelf. Let this book be your old friend--your Uncle Bob, your guide--as you make your way through this world with curiosity and courage." --From the Foreword by Stacia Heimgartner Viscardi, CST & Agile Mentor In Clean Craftsmanship, the legendary Robert C. Martin ("Uncle Bob") has written the principles that define the profession--and the craft--of software development. Uncle Bob brings together the disciplines, standards, and ethics you need to deliver robust, effective code and to be proud of all the software you write. Robert Martin, the best-selling author of Clean Code, provides a pragmatic, technical, and prescriptive guide to the foundational disciplines of software craftsmanship. He discusses standards, showing how the world's expectations of developers often differ from their own and helping you bring the two in sync. Bob concludes with the ethics of the programming profession, describing the fundamental promises all developers should make to their colleagues, their users, and, above all, themselves. With Uncle Bob's insights, all programmers and their managers can consistently deliver code that builds trust instead of undermining it--trust among users and throughout societies that depend on software for their survival. Moving towards the "north star" of true software craftsmanship: the state of knowing how to program well Practical, specific guidance for applying five core disciplines: test-driven development, refactoring, simple design, collaborative programming, and acceptance tests How developers and teams can promote productivity, quality, and courage The true meaning of integrity and teamwork among programmers, and ten specific commitments every software professional should make Register your book for convenient access to the book's companion videos, updates, and/or corrections as they become available. See inside book for details.