Hands-On RTOS with Microcontrollers

Hands-On RTOS with Microcontrollers
Author: Brian Amos
Publisher: Packt Publishing Ltd
Total Pages: 479
Release: 2020-05-15
Genre: Computers
ISBN: 1838829288

Build a strong foundation in designing and implementing real-time systems with the help of practical examples Key Features Get up and running with the fundamentals of RTOS and apply them on STM32 Enhance your programming skills to design and build real-world embedded systems Get to grips with advanced techniques for implementing embedded systems Book DescriptionA real-time operating system (RTOS) is used to develop systems that respond to events within strict timelines. Real-time embedded systems have applications in various industries, from automotive and aerospace through to laboratory test equipment and consumer electronics. These systems provide consistent and reliable timing and are designed to run without intervention for years. This microcontrollers book starts by introducing you to the concept of RTOS and compares some other alternative methods for achieving real-time performance. Once you've understood the fundamentals, such as tasks, queues, mutexes, and semaphores, you'll learn what to look for when selecting a microcontroller and development environment. By working through examples that use an STM32F7 Nucleo board, the STM32CubeIDE, and SEGGER debug tools, including SEGGER J-Link, Ozone, and SystemView, you'll gain an understanding of preemptive scheduling policies and task communication. The book will then help you develop highly efficient low-level drivers and analyze their real-time performance and CPU utilization. Finally, you'll cover tips for troubleshooting and be able to take your new-found skills to the next level. By the end of this book, you'll have built on your embedded system skills and will be able to create real-time systems using microcontrollers and FreeRTOS.What you will learn Understand when to use an RTOS for a project Explore RTOS concepts such as tasks, mutexes, semaphores, and queues Discover different microcontroller units (MCUs) and choose the best one for your project Evaluate and select the best IDE and middleware stack for your project Use professional-grade tools for analyzing and debugging your application Get FreeRTOS-based applications up and running on an STM32 board Who this book is for This book is for embedded engineers, students, or anyone interested in learning the complete RTOS feature set with embedded devices. A basic understanding of the C programming language and embedded systems or microcontrollers will be helpful.

Beginning STM32

Beginning STM32
Author: Warren Gay
Publisher: Apress
Total Pages: 418
Release: 2018-06-01
Genre: Computers
ISBN: 1484236246

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.

ARM-Based Microcontroller Multitasking Projects

ARM-Based Microcontroller Multitasking Projects
Author: Dogan Ibrahim
Publisher: Newnes
Total Pages: 520
Release: 2020-05-14
Genre: Computers
ISBN: 0128226315

Most microcontroller-based applications nowadays are large, complex, and may require several tasks to share the MCU in multitasking applications. Most modern high-speed microcontrollers support multitasking kernels with sophisticated scheduling algorithms so that many complex tasks can be executed on a priority basis. ARM-based Microcontroller Multitasking Projects: Using the FreeRTOS Multitasking Kernel explains how to multitask ARM Cortex microcontrollers using the FreeRTOS multitasking kernel. The book describes in detail the features of multitasking operating systems such as scheduling, priorities, mailboxes, event flags, semaphores etc. before going onto present the highly popular FreeRTOS multitasking kernel. Practical working real-time projects using the highly popular Clicker 2 for STM32 development board (which can easily be transferred to other boards) together with FreeRTOS are an essential feature of this book. Projects include: LEDs flashing at different rates; Refreshing of 7-segment LEDs; Mobile robot where different sensors are controlled by different tasks; Multiple servo motors being controlled independently; Multitasking IoT project; Temperature controller with independent keyboard entry; Random number generator with 3 tasks: live, generator, display; home alarm system; car park management system, and many more. - Explains the basic concepts of multitasking - Demonstrates how to create small multitasking programs - Explains how to install and use the FreeRTOS on an ARM Cortex processor - Presents structured real-world projects that enables the reader to create their own

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
Total Pages: 331
Release: 2013-03-13
Genre: Technology & Engineering
ISBN: 0080982999

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

Embedded RTOS Design

Embedded RTOS Design
Author: Colin Walls
Publisher: Newnes
Total Pages: 384
Release: 2020-12-03
Genre: Technology & Engineering
ISBN: 0128228520

Embedded RTOS Design: Insights and Implementation combines explanations of RTOS concepts with detailed, practical implementation. It gives a detailed description of the implementation of a basic real-time kernel designed to be limited in scope and simple to understand, which could be used for a real design of modest complexity. The kernel features upward-compatibility to a commercial real-time operating system: Nucleus RTOS. Code is provided which can be used without restriction. Gain practical information on: - Scheduling, preemption, and interrupts - Information flow (queues, semaphores, etc.) and how they work - Signaling between tasks (signals, events, etc.) - Memory management (Where does each task get its stack from? What happens if the stack overflows?) - The CPU context: storage and retrieval after a context switch With this book you will be able to: - Utilize a basic real-time kernel to develop your own prototype - Design RTOS features - Understand the facilities of a commercial RTOS - Explains the principles of RTOS and shows their practical implementation - Demonstrates how to prototype a real-time design - Code is fully available for free use

DIY Microcontroller Projects for Hobbyists

DIY Microcontroller Projects for Hobbyists
Author: Miguel Angel Garcia-Ruiz
Publisher: Packt Publishing Ltd
Total Pages: 320
Release: 2021-07-30
Genre: Computers
ISBN: 1800569521

A practical guide to building PIC and STM32 microcontroller board applications with C and C++ programming Key FeaturesDiscover how to apply microcontroller boards in real life to create interesting IoT projectsCreate innovative solutions to help improve the lives of people affected by the COVID-19 pandemicDesign, build, program, and test microcontroller-based projects with the C and C++ programming languageBook Description We live in a world surrounded by electronic devices, and microcontrollers are the brains of these devices. Microcontroller programming is an essential skill in the era of the Internet of Things (IoT), and this book helps you to get up to speed with it by working through projects for designing and developing embedded apps with microcontroller boards. DIY Microcontroller Projects for Hobbyists are filled with microcontroller programming C and C++ language constructs. You'll discover how to use the Blue Pill (containing a type of STM32 microcontroller) and Curiosity Nano (containing a type of PIC microcontroller) boards for executing your projects as PIC is a beginner-level board and STM-32 is an ARM Cortex-based board. Later, you'll explore the fundamentals of digital electronics and microcontroller board programming. The book uses examples such as measuring humidity and temperature in an environment to help you gain hands-on project experience. You'll build on your knowledge as you create IoT projects by applying more complex sensors. Finally, you'll find out how to plan for a microcontroller-based project and troubleshoot it. By the end of this book, you'll have developed a firm foundation in electronics and practical PIC and STM32 microcontroller programming and interfacing, adding valuable skills to your professional portfolio. What you will learnGet to grips with the basics of digital and analog electronicsDesign, build, program, and test a microcontroller-based systemUnderstand the importance and applications of STM32 and PIC microcontrollersDiscover how to connect sensors to microcontroller boardsFind out how to obtain sensor data via codingUse microcontroller boards in real life and practical projectsWho this book is for This STM32 PIC microcontroller book is for students, hobbyists, and engineers who want to explore the world of embedded systems and microcontroller programming. Beginners, as well as more experienced users of digital electronics and microcontrollers, will also find this book useful. Basic knowledge of digital circuits and C and C++ programming will be helpful but not necessary.

Test Driven Development for Embedded C

Test Driven Development for Embedded C
Author: James W. Grenning
Publisher: Pragmatic Bookshelf
Total Pages: 486
Release: 2011-04-25
Genre: Computers
ISBN: 1680504886

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 feedback loop with the production code, assuring your code does what you think. You get valuable feedback every few minutes. You find mistakes before they become bugs. You get early warning of design problems. You get immediate notification of side effect defects. You get to spend more time adding valuable features to your product. James is one of the few experts in applying TDD to embedded C. With his 1.5 decades of training,coaching, and practicing TDD in C, C++, Java, and C# he will lead you from being a novice in TDD to using the techniques that few have mastered. This book is full of code written for embedded C programmers. You don't just see the end product, you see code and tests evolve. James leads you through the thought process and decisions made each step of the way. You'll learn techniques for test-driving code right nextto the hardware, and you'll learn design principles and how to apply them to C to keep your code clean and flexible. To run the examples in this book, you will need a C/C++ development environment on your machine, and the GNU GCC tool chain or Microsoft Visual Studio for C++ (some project conversion may be needed).

ARM® Cortex® M4 Cookbook

ARM® Cortex® M4 Cookbook
Author: Dr. Mark Fisher
Publisher: Packt Publishing Ltd
Total Pages: 296
Release: 2016-03-16
Genre: Computers
ISBN: 1782176519

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.

Experimenting with AVR Microcontrollers

Experimenting with AVR Microcontrollers
Author: Alan Trevennor
Publisher: Apress
Total Pages: 184
Release: 2014-12-08
Genre: Computers
ISBN: 148420901X

AVR is the brain that runs Arduino, but you don't need the whole Arduino board to do fun projects. Experimenting with AVR Microcontrollers, from Practical AVR Microcontrollers, shows you how to create a spiffy set of projects that you can build to learn more about electronics, about AVR, and just to generate new ideas for your own projects. Alan Trevennor will show you how to create a secret panel project, a gadget to drive your pets crazy, a hallway lighting system, and even a small home automation network.