Programming the ARM® Cortex®-M4-based STM32F4 Microcontrollers with Simulink®


Book Description

A microcontroller is a compact, integrated circuit designed to govern a specific operation in an embedded system. A typical microcontroller includes a processor, memory, and input/output (I/O) peripherals on a single chip. When they first became available, microcontrollers solely used Assembly language. Today, the C programming language (and some other high-level languages) can be used as well. Some of advanced microcontrollers support another programming technique as well: Graphical programming. In graphical programming, the user does not write any code but draws the block diagram of the system he wants. Then a software converts the drawn block diagram into a suitable code for the target device. Programming microcontrollers using graphical programming is quite easier than programming in C or Assembly. You can implement a complex system within hours with graphical programming while its implementation in C may take months. These features make the graphical programming an important option for engineers. This book study the graphical programming of STM32F4 high-performance microcontrollers with the aid of Simulink and Waijung blockset. Students of engineering (for instance, electrical, biomedical, mechatronics and robotic to name a few), engineers who work in industry, and anyone who want to learn the graphical programming of STM32F4 can benefit from this book. Prerequisite for this book is the basic knowledge of MATLAB Simulink.




Programming with STM32: Getting Started with the Nucleo Board and C/C++


Book Description

Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product.Create your own STM32 programs with ease!Get up and running programming the STM32 line of microcontrollers from STMicroelectronics using the hands-on information contained in this easy-to-follow guide. Written by an experienced electronics hobbyist and author, Programming with STM32: Getting Started with the Nucleo Board and C/C++ features start-to-finish projects that clearly demonstrate each technique. Discover how to set up a stable development toolchain, write custom programs, download your programs to the development board, and execute them. You will even learn how to work with external servos and LED displays!•Explore the features of STM32 microcontrollers from STMicroelectonics•Configure your Nucleo-64 Microcontroller development board•Establish a toolchain and start developing interesting applications •Add specialized code and create cool custom functions•Automatically generate C code using the STM32CubeMX application•Work with the ARM Cortex Microcontroller Software Interface Standard and the STM hardware abstraction layer (HAL).•Control servos, LEDs, and other hardware using PWM•Transfer data to and from peripheral devices using DMA•Generate waveforms and pulses through your microcontroller’s DAC




Hands-On RTOS with Microcontrollers


Book Description

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.




ARM Assembly Language Programming With STM32 Microcontrollers


Book Description

This book offers a quick and easy way to learn low-level programming of ARM microcontrollers using Assembly Language. The material of the book aims at those who has some experience in programming and wants to learn how to get more control over microcontroller hardware and software.Low-level programming comes into the category of more advanced programming and involves some knowledge of a target microcontroller. The material of this book is based upon the popular STM32 Cortex-M4 microcontrollers. It would be nice to have the datasheet, Programming and Reference Manuals on the particular STM32 microcontroller on hand while reading this book.All examples are developed using the NUCLEO-L476RG development board equipped with the STM32L476RGT6 Cortex microcontroller. The program code is developed using a free STM32CubeIDE version 1.4.2.The programming techniques described in this guide can also be applied to other development boards equipped with Cortex-M4/M7/L4 microcontrollers (STM32F4xx, STM32F7, etc.) with corresponding changes in source code. To develop the low-level code, the Assembler Language of STM32CubeIDE was used. This assembly language supports a subset of the ARM Thumb-2 instruction set that is a mix of 16- and 32-bit instructions designed to be very efficient when using together with high-level languages.







Programming 32-bit Microcontrollers in C


Book Description

*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*Includes handy checklists to help readers perform the most common programming and debugging tasksThe 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. You will learn about:*basic timing and I/O operation*debugging methods with the MPLAB SIM *simulator and ICD tools*multitasking using the PIC32 interrupts*all the new hardware peripherals*how to control LCD displays*experimenting with the Explorer16 board and *the PIC32 Starter Kit*accessing mass-storage media*generating audio and video signals *and more!TABLE OF CONTENTSDay 1 And the adventure beginsDay 2 Walking in circlesDay 3 Message in a BottleDay 4 NUMB3RSDay 5 InterruptsDay 6 Memory Part 2 ExperimentingDay 7 RunningDay 8 Communication Day 9 LinksDay 10 Glass = BlissDay 11 It's an analog worldPart 3 ExpansionDay 12 Capturing User InputsDay 13 UTubeDay 14 Mass StorageDay 15 File I/ODay 16 Musica Maestro! - 32-bit microcontrollers are becoming the technology of choice for high performance embedded control applications including portable media players, cell phones, and GPS receivers. - Learn to use the C programming language for advanced embedded control designs and/or learn to migrate your applications from previous 8 and 16-bit architectures.




Stm32 Arm Programming for Embedded Systems


Book Description

This book covers the peripheral programming of the STM32 Arm chip. Throughout this book, we use C language to program the STM32F4xx chip peripherals such as I/O ports, ADCs, Timers, DACs, SPIs, I2Cs and UARTs. We use STM32F446RE NUCLEO Development Board which is based on ARM(R) Cortex(R)-M4 MCU. Volume 1 of this series is dedicated to Arm Assembly Language Programming and Architecture. See our website for other titles in this series: www.MicroDigitalEd.com You can also find the tutorials, source codes, PowerPoints and other support materials for this book on our website.




Embedded Digital Control with Microcontrollers


Book Description

EMBEDDED DIGITAL CONTROL WITH MICROCONTROLLERS Explore a concise and practical introduction to implementation methods and the theory of digital control systems on microcontrollers Embedded Digital Control with Microcontrollers delivers expert instruction in digital control system implementation techniques on the widely used ARM Cortex-M microcontroller. The accomplished authors present the included information in three phases. First, they describe how to implement prototype digital control systems via the Python programming language in order to help the reader better understand theoretical digital control concepts. Second, the book offers readers direction on using the C programming language to implement digital control systems on actual microcontrollers. This will allow readers to solve real-life problems involving digital control, robotics, and mechatronics. Finally, readers will learn how to merge the theoretical and practical issues discussed in the book by implementing digital control systems in real-life applications. Throughout the book, the application of digital control systems using the Python programming language ensures the reader can apply the theory contained within. Readers will also benefit from the inclusion of: A thorough introduction to the hardware used in the book, including STM32 Nucleo Development Boards and motor drive expansion boards An exploration of the software used in the book, including Python, MicroPython, and Mbed Practical discussions of digital control basics, including discrete-time signals, discrete-time systems, linear and time-invariant systems, and constant coefficient difference equations An examination of how to represent a continuous-time system in digital form, including analog-to-digital conversion and digital-to-analog conversion Perfect for undergraduate students in electrical engineering, Embedded Digital Control with Microcontrollers will also earn a place in the libraries of professional engineers and hobbyists working on digital control and robotics systems seeking a one-stop reference for digital control systems on microcontrollers.