Author: Cem Ünsalan
Publisher: Springer Nature
ISBN: 3030884392
Category : Technology & Engineering
Languages : en
Pages : 576
Book Description
This textbook introduces basic and advanced embedded system topics through Arm Cortex M microcontrollers, covering programmable microcontroller usage starting from basic to advanced concepts using the STMicroelectronics Discovery development board. Designed for use in upper-level undergraduate and graduate courses on microcontrollers, microprocessor systems, and embedded systems, the book explores fundamental and advanced topics, real-time operating systems via FreeRTOS and Mbed OS, and then offers a solid grounding in digital signal processing, digital control, and digital image processing concepts — with emphasis placed on the usage of a microcontroller for these advanced topics. The book uses C language, “the” programming language for microcontrollers, C++ language, and MicroPython, which allows Python language usage on a microcontroller. Sample codes and course slides are available for readers and instructors, and a solutions manual is available to instructors. The book will also be an ideal reference for practicing engineers and electronics hobbyists who wish to become familiar with basic and advanced microcontroller concepts.
Embedded System Design with ARM Cortex-M Microcontrollers
Author: Cem Ünsalan
Publisher: Springer Nature
ISBN: 3030884392
Category : Technology & Engineering
Languages : en
Pages : 576
Book Description
This textbook introduces basic and advanced embedded system topics through Arm Cortex M microcontrollers, covering programmable microcontroller usage starting from basic to advanced concepts using the STMicroelectronics Discovery development board. Designed for use in upper-level undergraduate and graduate courses on microcontrollers, microprocessor systems, and embedded systems, the book explores fundamental and advanced topics, real-time operating systems via FreeRTOS and Mbed OS, and then offers a solid grounding in digital signal processing, digital control, and digital image processing concepts — with emphasis placed on the usage of a microcontroller for these advanced topics. The book uses C language, “the” programming language for microcontrollers, C++ language, and MicroPython, which allows Python language usage on a microcontroller. Sample codes and course slides are available for readers and instructors, and a solutions manual is available to instructors. The book will also be an ideal reference for practicing engineers and electronics hobbyists who wish to become familiar with basic and advanced microcontroller concepts.
Publisher: Springer Nature
ISBN: 3030884392
Category : Technology & Engineering
Languages : en
Pages : 576
Book Description
This textbook introduces basic and advanced embedded system topics through Arm Cortex M microcontrollers, covering programmable microcontroller usage starting from basic to advanced concepts using the STMicroelectronics Discovery development board. Designed for use in upper-level undergraduate and graduate courses on microcontrollers, microprocessor systems, and embedded systems, the book explores fundamental and advanced topics, real-time operating systems via FreeRTOS and Mbed OS, and then offers a solid grounding in digital signal processing, digital control, and digital image processing concepts — with emphasis placed on the usage of a microcontroller for these advanced topics. The book uses C language, “the” programming language for microcontrollers, C++ language, and MicroPython, which allows Python language usage on a microcontroller. Sample codes and course slides are available for readers and instructors, and a solutions manual is available to instructors. The book will also be an ideal reference for practicing engineers and electronics hobbyists who wish to become familiar with basic and advanced microcontroller concepts.
Fundamentals of System-on-Chip Design on Arm Cortex-M Microcontrollers
Author: René Beuchat
Publisher: Arm Education Media
ISBN: 9781911531333
Category :
Languages : en
Pages : 660
Book Description
This textbook aims to provide learners with an understanding of embedded systems built around Arm Cortex-M processor cores, a popular CPU architecture often used in modern low-power SoCs that target IoT applications. Readers will be introduced to the basic principles of an embedded system from a high-level hardware and software perspective and will then be taken through the fundamentals of microcontroller architectures and SoC-based designs. Along the way, key topics such as chip design, the features and benefits of Arm's Cortex-M processor architectures (including TrustZone, CMSIS and AMBA), interconnects, peripherals and memory management are discussed. The material covered in this book can be considered as key background for any student intending to major in computer engineering and is suitable for use in an undergraduate course on digital design.
Publisher: Arm Education Media
ISBN: 9781911531333
Category :
Languages : en
Pages : 660
Book Description
This textbook aims to provide learners with an understanding of embedded systems built around Arm Cortex-M processor cores, a popular CPU architecture often used in modern low-power SoCs that target IoT applications. Readers will be introduced to the basic principles of an embedded system from a high-level hardware and software perspective and will then be taken through the fundamentals of microcontroller architectures and SoC-based designs. Along the way, key topics such as chip design, the features and benefits of Arm's Cortex-M processor architectures (including TrustZone, CMSIS and AMBA), interconnects, peripherals and memory management are discussed. The material covered in this book can be considered as key background for any student intending to major in computer engineering and is suitable for use in an undergraduate course on digital design.
Embedded Systems with Arm Cortex-M Microcontrollers in Assembly Language and C: Third Edition
Author: Yifeng Zhu
Publisher:
ISBN: 9780982692660
Category : Computers
Languages : en
Pages : 736
Book Description
This book introduces basic programming of ARM Cortex chips in assembly language and the fundamentals of embedded system design. It presents data representations, assembly instruction syntax, implementing basic controls of C language at the assembly level, and instruction encoding and decoding. The book also covers many advanced components of embedded systems, such as software and hardware interrupts, general purpose I/O, LCD driver, keypad interaction, real-time clock, stepper motor control, PWM input and output, digital input capture, direct memory access (DMA), digital and analog conversion, and serial communication (USART, I2C, SPI, and USB).
Publisher:
ISBN: 9780982692660
Category : Computers
Languages : en
Pages : 736
Book Description
This book introduces basic programming of ARM Cortex chips in assembly language and the fundamentals of embedded system design. It presents data representations, assembly instruction syntax, implementing basic controls of C language at the assembly level, and instruction encoding and decoding. The book also covers many advanced components of embedded systems, such as software and hardware interrupts, general purpose I/O, LCD driver, keypad interaction, real-time clock, stepper motor control, PWM input and output, digital input capture, direct memory access (DMA), digital and analog conversion, and serial communication (USART, I2C, SPI, and USB).
Embedded Digital Control with Microcontrollers
Author: Cem Unsalan
Publisher: John Wiley & Sons
ISBN: 1119576520
Category : Science
Languages : en
Pages : 370
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.
Publisher: John Wiley & Sons
ISBN: 1119576520
Category : Science
Languages : en
Pages : 370
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.
The Designer's Guide to the Cortex-M Processor Family
Author: Trevor Martin
Publisher: Newnes
ISBN: 0080982999
Category : Technology & Engineering
Languages : en
Pages : 331
Book Description
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
Publisher: Newnes
ISBN: 0080982999
Category : Technology & Engineering
Languages : en
Pages : 331
Book Description
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 Definitive Guide to the ARM Cortex-M0
Author: Joseph Yiu
Publisher: Elsevier
ISBN: 0123854784
Category : Technology & Engineering
Languages : en
Pages : 553
Book Description
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 the Cortex-M0 processor and the programmers model, as well as Cortex-M0 programming and instruction set and how these instructions are used to carry out various operations. Furthermore, it considers how the memory architecture of the Cortex-M0 processor affects software development; Nested Vectored Interrupt Controller (NVIC) and the features it supports, including flexible interrupt management, nested interrupt support, vectored exception entry, and interrupt masking; and Cortex-M0 features that target the embedded operating system. It also explains how to develop simple applications on the Cortex-M0, how to program the Cortex-M0 microcontrollers in assembly and mixed-assembly languages, and how the low-power features of the Cortex-M0 processor are used in programming. Finally, it describes a number of ARM Cortex-M0 products, such as microcontrollers, development boards, starter kits, and development suites. This book will be useful to both new and advanced users of ARM Cortex devices, from students and hobbyists to researchers, professional embedded- software developers, electronic enthusiasts, and even semiconductor product designers. - The first and definitive book on the new ARM Cortex-M0 architecture targeting the large 8-bit and 16-bit microcontroller market - Explains the Cortex-M0 architecture and how to program it using practical examples - Written by an engineer at ARM who was heavily involved in its development
Publisher: Elsevier
ISBN: 0123854784
Category : Technology & Engineering
Languages : en
Pages : 553
Book Description
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 the Cortex-M0 processor and the programmers model, as well as Cortex-M0 programming and instruction set and how these instructions are used to carry out various operations. Furthermore, it considers how the memory architecture of the Cortex-M0 processor affects software development; Nested Vectored Interrupt Controller (NVIC) and the features it supports, including flexible interrupt management, nested interrupt support, vectored exception entry, and interrupt masking; and Cortex-M0 features that target the embedded operating system. It also explains how to develop simple applications on the Cortex-M0, how to program the Cortex-M0 microcontrollers in assembly and mixed-assembly languages, and how the low-power features of the Cortex-M0 processor are used in programming. Finally, it describes a number of ARM Cortex-M0 products, such as microcontrollers, development boards, starter kits, and development suites. This book will be useful to both new and advanced users of ARM Cortex devices, from students and hobbyists to researchers, professional embedded- software developers, electronic enthusiasts, and even semiconductor product designers. - The first and definitive book on the new ARM Cortex-M0 architecture targeting the large 8-bit and 16-bit microcontroller market - Explains the Cortex-M0 architecture and how to program it using practical examples - Written by an engineer at ARM who was heavily involved in its development
Making Embedded Systems
Author: Elecia White
Publisher: "O'Reilly Media, Inc."
ISBN: 1449320589
Category : Computers
Languages : en
Pages : 329
Book Description
Interested in developing embedded systems? Since they donâ??t tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing requirements. Written by an expert whoâ??s created embedded systems ranging from urban surveillance and DNA scanners to childrenâ??s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use. Optimize your system to reduce cost and increase performance Develop an architecture that makes your software robust in resource-constrained environments Explore sensors, motors, and other I/O devices Do more with less: reduce RAM consumption, code space, processor cycles, and power consumption Learn how to update embedded code directly in the processor Discover how to implement complex mathematics on small processors Understand what interviewers look for when you apply for an embedded systems job "Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. Itâ??s very well writtenâ??entertaining, evenâ??and filled with clear illustrations." â??Jack Ganssle, author and embedded system expert.
Publisher: "O'Reilly Media, Inc."
ISBN: 1449320589
Category : Computers
Languages : en
Pages : 329
Book Description
Interested in developing embedded systems? Since they donâ??t tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing requirements. Written by an expert whoâ??s created embedded systems ranging from urban surveillance and DNA scanners to childrenâ??s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use. Optimize your system to reduce cost and increase performance Develop an architecture that makes your software robust in resource-constrained environments Explore sensors, motors, and other I/O devices Do more with less: reduce RAM consumption, code space, processor cycles, and power consumption Learn how to update embedded code directly in the processor Discover how to implement complex mathematics on small processors Understand what interviewers look for when you apply for an embedded systems job "Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. Itâ??s very well writtenâ??entertaining, evenâ??and filled with clear illustrations." â??Jack Ganssle, author and embedded system expert.
Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed
Author: Perry Xiao
Publisher: John Wiley & Sons
ISBN: 1119364019
Category : Technology & Engineering
Languages : en
Pages : 342
Book Description
A comprehensive and accessible introduction to the development of embedded systems and Internet of Things devices using ARM mbed Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed offers an accessible guide to the development of ARM mbed and includes a range of topics on the subject from the basic to the advanced. ARM mbed is a platform and operating system based on 32-bit ARM Cortex-M microcontrollers. This important resource puts the focus on ARM mbed NXP LPC1768 and FRDM-K64F evaluation boards. NXP LPC1768 has powerful features such as a fast microcontroller, various digital and analog I/Os, various serial communication interfaces and a very easy to use Web based compiler. It is one of the most popular kits that are used to study and create projects. FRDM-K64F is relatively new and largely compatible with NXP LPC1768 but with even more powerful features. This approachable text is an ideal guide that is divided into four sections; Getting Started with the ARM mbed, Covering the Basics, Advanced Topics and Case Studies. This getting started guide: Offers a clear introduction to the topic Contains a wealth of original and illustrative case studies Includes a practical guide to the development of projects with the ARM mbed platform Presents timely coverage of how to develop IoT applications Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed offers students and R&D engineers a resource for understanding the ARM mbed NXP LPC1768 evaluation board.
Publisher: John Wiley & Sons
ISBN: 1119364019
Category : Technology & Engineering
Languages : en
Pages : 342
Book Description
A comprehensive and accessible introduction to the development of embedded systems and Internet of Things devices using ARM mbed Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed offers an accessible guide to the development of ARM mbed and includes a range of topics on the subject from the basic to the advanced. ARM mbed is a platform and operating system based on 32-bit ARM Cortex-M microcontrollers. This important resource puts the focus on ARM mbed NXP LPC1768 and FRDM-K64F evaluation boards. NXP LPC1768 has powerful features such as a fast microcontroller, various digital and analog I/Os, various serial communication interfaces and a very easy to use Web based compiler. It is one of the most popular kits that are used to study and create projects. FRDM-K64F is relatively new and largely compatible with NXP LPC1768 but with even more powerful features. This approachable text is an ideal guide that is divided into four sections; Getting Started with the ARM mbed, Covering the Basics, Advanced Topics and Case Studies. This getting started guide: Offers a clear introduction to the topic Contains a wealth of original and illustrative case studies Includes a practical guide to the development of projects with the ARM mbed platform Presents timely coverage of how to develop IoT applications Designing Embedded Systems and the Internet of Things (IoT) with the ARM mbed offers students and R&D engineers a resource for understanding the ARM mbed NXP LPC1768 evaluation board.
Fast and Effective Embedded Systems Design
Author: Tim Wilmshurst
Publisher: Elsevier
ISBN: 0080977693
Category : Technology & Engineering
Languages : en
Pages : 400
Book Description
Fast and Effective Embedded Systems Design is a fast-moving introduction to embedded system design, applying the innovative ARM mbed and its web-based development environment. Each chapter introduces a major topic in embedded systems, and proceeds as a series of practical experiments, adopting a "learning through doing" strategy. Minimal background knowledge is needed. C/C++ programming is applied, with a step-by-step approach which allows the novice to get coding quickly. Once the basics are covered, the book progresses to some "hot" embedded issues – intelligent instrumentation, networked systems, closed loop control, and digital signal processing. Written by two experts in the field, this book reflects on the experimental results, develops and matches theory to practice, evaluates the strengths and weaknesses of the technology or technique introduced, and considers applications and the wider context. Numerous exercises and end of chapter questions are included. - A hands-on introduction to the field of embedded systems, with a focus on fast prototyping - Key embedded system concepts covered through simple and effective experimentation - Amazing breadth of coverage, from simple digital i/o, to advanced networking and control - Applies the most accessible tools available in the embedded world - Supported by mbed and book web sites, containing FAQs and all code examples - Deep insights into ARM technology, and aspects of microcontroller architecture - Instructor support available, including power point slides, and solutions to questions and exercises
Publisher: Elsevier
ISBN: 0080977693
Category : Technology & Engineering
Languages : en
Pages : 400
Book Description
Fast and Effective Embedded Systems Design is a fast-moving introduction to embedded system design, applying the innovative ARM mbed and its web-based development environment. Each chapter introduces a major topic in embedded systems, and proceeds as a series of practical experiments, adopting a "learning through doing" strategy. Minimal background knowledge is needed. C/C++ programming is applied, with a step-by-step approach which allows the novice to get coding quickly. Once the basics are covered, the book progresses to some "hot" embedded issues – intelligent instrumentation, networked systems, closed loop control, and digital signal processing. Written by two experts in the field, this book reflects on the experimental results, develops and matches theory to practice, evaluates the strengths and weaknesses of the technology or technique introduced, and considers applications and the wider context. Numerous exercises and end of chapter questions are included. - A hands-on introduction to the field of embedded systems, with a focus on fast prototyping - Key embedded system concepts covered through simple and effective experimentation - Amazing breadth of coverage, from simple digital i/o, to advanced networking and control - Applies the most accessible tools available in the embedded world - Supported by mbed and book web sites, containing FAQs and all code examples - Deep insights into ARM technology, and aspects of microcontroller architecture - Instructor support available, including power point slides, and solutions to questions and exercises
Embedded Systems with Arm Cortex-M3 Microcontrollers in Assembly Language and C
Author: Yifeng Zhu
Publisher:
ISBN: 9780982692622
Category : Computers
Languages : en
Pages : 542
Book Description
This book introduces basic programming of ARM Cortex chips in assembly language and the fundamentals of embedded system design. It presents data representations, assembly instruction syntax, implementing basic controls of C language at the assembly level, and instruction encoding and decoding. The book also covers many advanced components of embedded systems, such as software and hardware interrupts, general purpose I/O, LCD driver, keypad interaction, real-time clock, stepper motor control, PWM input and output, digital input capture, direct memory access (DMA), digital and analog conversion, and serial communication (USART, I2C, SPI, and USB). The book has the following features: Emphasis on structured programming and top-down modular design in assembly language Line-by-line translation between C and ARM assembly for most example codes Mixture of C and assembly languages, such as a C program calling assembly subroutines, and an assembly program calling C subroutines Implementation of context switch between multiple concurrently running tasks according to a round-robin scheduling algorithm"
Publisher:
ISBN: 9780982692622
Category : Computers
Languages : en
Pages : 542
Book Description
This book introduces basic programming of ARM Cortex chips in assembly language and the fundamentals of embedded system design. It presents data representations, assembly instruction syntax, implementing basic controls of C language at the assembly level, and instruction encoding and decoding. The book also covers many advanced components of embedded systems, such as software and hardware interrupts, general purpose I/O, LCD driver, keypad interaction, real-time clock, stepper motor control, PWM input and output, digital input capture, direct memory access (DMA), digital and analog conversion, and serial communication (USART, I2C, SPI, and USB). The book has the following features: Emphasis on structured programming and top-down modular design in assembly language Line-by-line translation between C and ARM assembly for most example codes Mixture of C and assembly languages, such as a C program calling assembly subroutines, and an assembly program calling C subroutines Implementation of context switch between multiple concurrently running tasks according to a round-robin scheduling algorithm"