Arm-based microcontroller multitasking projects : using the FreeRTOS multitasking kernel

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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Ibrahim, Dogan
Format: E-Book Buch
Sprache:Englisch
Veröffentlicht: Oxford Newnes 2020
Elsevier Science & Technology
Ausgabe:1
Schlagworte:
ISBN:9780128212271, 0128212276
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract 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.
AbstractList 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.
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.
Author Ibrahim, Dogan
Author_xml – sequence: 1
  fullname: Ibrahim, Dogan
BackLink https://cir.nii.ac.jp/crid/1130566853309434624$$DView record in CiNii
BookMark eNpVkM1Lw0AQxVf8QFt79pqDIB6iM7Obza63WloVCgUt4i0k26lNmyaaTfXfN7WC9DLDPH7MvDcdcVRWJQtxgXCDgPp2QIA2hBAkkQrVgejZ2ACSIdISo8P_GYliPBEdxCiSpADMqeh5vwQAimKUBs_EW79eh1nqeRasc1dXriqbuioKroP1pmjyJvWrvHwPPupqya7xwV2w8VuhWXAwqpmfp5OXfXTFdcnFuTiep4Xn3l_vitfRcDp4DMeTh6dBfxymrT9lQz2zkuYy0tqg1USEAM5gxuBmSkEaq7lx0sRZZIlVmmWZi-3MAEvKYpta2RXXu8Xtef72i6pofPJVcFZVK5_s_aZlr3ZsG-dzw75JfjHHbei0SIb3A43WagMtebkjyzxPXL6tiBK2NiMpwSqpNCn5Awq0csQ
ContentType eBook
Book
DBID RYH
DEWEY 629.895
DOI 10.1016/C2019-0-03224-4
DatabaseName CiNii Complete
DatabaseTitleList

DeliveryMethod fulltext_linktorsrc
Discipline Engineering
EISBN 9780128226315
0128226315
Edition 1
ExternalDocumentID 9780128226315
EBC6199680
BB31357583
GroupedDBID 38.
AAAAS
AABBV
AAKJW
AAKZG
AALRI
AAWMN
AAXUO
AAYWO
AAZNM
ABGWT
ABLXK
ABQQC
ACDGK
ACKCA
ADCEY
AEESG
AEIUV
AEYWH
AIJLT
ALMA_UNASSIGNED_HOLDINGS
BBABE
BGHEG
CZZ
HGY
OHILO
OODEK
RYH
SDK
SRW
AGGMV
AJLYV
ALBLE
ID FETCH-LOGICAL-a21249-6d932f35668196222100c81be0cd440a74f8c387b592e4abbbc79d80e32b79a93
ISBN 9780128212271
0128212276
IngestDate Fri Nov 08 04:26:43 EST 2024
Wed Nov 12 00:49:39 EST 2025
Thu Jun 26 22:42:52 EDT 2025
IsPeerReviewed false
IsScholarly false
LCCallNum_Ident TJ223.P76$b.I273 2020
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a21249-6d932f35668196222100c81be0cd440a74f8c387b592e4abbbc79d80e32b79a93
Notes "Newnes is an imprint of Elsevier"--T.p. verso
Includes index
OCLC 1155324008
PQID EBC6199680
PageCount 520
ParticipantIDs askewsholts_vlebooks_9780128226315
proquest_ebookcentral_EBC6199680
nii_cinii_1130566853309434624
PublicationCentury 2000
PublicationDate c2020
2020
2020-06-01
PublicationDateYYYYMMDD 2020-01-01
2020-06-01
PublicationDate_xml – year: 2020
  text: c2020
PublicationDecade 2020
PublicationPlace Oxford
PublicationPlace_xml – name: Oxford
– name: Chantilly
PublicationYear 2020
Publisher Newnes
Elsevier Science & Technology
Publisher_xml – name: Newnes
– name: Elsevier Science & Technology
SSID ssj0002571381
ssib056418739
Score 2.1784558
Snippet Most microcontroller-based applications nowadays are large, complex, and may require several tasks to share the MCU in multitasking applications.Most modern...
Most microcontroller-based applications nowadays are large, complex, and may require several tasks to share the MCU in multitasking applications. Most modern...
SourceID askewsholts
proquest
nii
SourceType Aggregation Database
Publisher
SubjectTerms Microcontrollers
Programmable controllers -- Programming
TableOfContents Chapter 14 - Some example projects
6.7 - Bit data type -- 6.8 - Interrupts and exceptions -- 6.8.1 - Exceptions -- 6.8.2 - Interrupt service routine -- 6.9 - Creating a new project -- 6.9.1 - Uploading the executable code -- 6.10 - Simulation -- 6.10.1 - Setting break points -- 6.11 - Debugging -- 6.12 - Other mikroC IDE tools -- 6.12.1 - ASCII chart -- 6.12.2 - GLCD bitmap editor -- 6.12.3 - HID terminal -- 6.12.4 - Interrupt assistant -- 6.12.5 - LCD custom character -- 6.12.6 - Seven segment editor -- 6.12.7 - UDP terminal -- 6.12.8 - USART terminal -- 6.12.9 - USB HID bootloader -- 6.12.10 - Statistics -- 6.12.11 - The library manager -- 6.12.12 - Assembly listing -- 6.12.13 - Output files -- 6.12.14 - Options window -- 6.13 - Summary -- Further readings -- Chapter 7 - Introduction to multitasking -- 7.1 - Overview -- 7.2 - Multitasking kernel advantages -- 7.3 - Need for an RTOS -- 7.4 - Task scheduling algorithms -- 7.4.1 - Co-operative scheduling -- 7.4.2 - Round-robin scheduling -- 7.4.3 - Preemptive scheduling -- 7.4.4 - Scheduling algorithm goals -- 7.4.5 - Difference between preemptive and nonpreemptive scheduling -- 7.4.6 - Some other scheduling algorithms -- 7.4.6.1 - First come first served -- 7.4.6.2 - Shortest remaining time first -- 7.4.6.3 - Longest remaining time first -- 7.4.6.4 - Multilevel queue scheduling -- 7.4.6.5 - Dynamic priority scheduling -- 7.5 - Choosing a scheduling algorithm -- 7.6 - Summary -- Further readings -- Chapter 8 - Introduction to FreeRTOS -- 8.1 - Overview -- 8.2 - FreeRTOS distribution -- 8.3 - Installing from MikroElektronika web site -- 8.4 - Developing project files -- 8.5 - FreeRTOS headers files path and source files path -- 8.6 - Compiler case sensitivity -- 8.7 - Compiling the template program -- 8.8 - Summary -- Further readings -- Chapter 9 - Using the FreeRTOS functions -- 9.1 - Overview -- 9.2 - FreeRTOS data types
2.8 - Analog-to-digital converters (ADCs) -- 2.9 - Built-in temperature sensor -- 2.10 - Digital-to-analog converter -- 2.11 - Reset -- 2.12 - Electrical characteristics -- 2.13 - Summary -- Further readings -- Chapter 3 - ARM Cortex microcontroller development boards -- 3.1 - Overview -- 3.2 - LPC1768 -- 3.3 - STM32 Nucleo family -- 3.4 - EasyMX Pro V7 For STM32 -- 3.5 - STM32F4DISCOVERY board -- 3.6 - mbed application board -- 3.7 - EasyMx Pro V7 for Tiva -- 3.8 - MINI-M4 for STM32 -- 3.9 - Clicker 2 for MSP432 -- 3.10 - Tiva EK-TM4C123GXL LaunchPad -- 3.11 - Fusion for ARM V8 -- 3.12 - Clicker 2 for STM32 -- 3.13 - Summary -- Further readings -- Chapter 4 - Clicker 2 for STM32 development board -- 4.1 - Overview -- 4.2 - Clicker 2 for STM32 hardware -- 4.2.1 - On-board LEDs -- 4.2.2 - On-board push-button switches -- 4.2.3 - Reset switch -- 4.2.4 - Power supply -- 4.2.5 - On-board mikroBUS sockets -- 4.2.6 - Input-output pins -- 4.2.7 - Oscillators -- 4.2.8 - Programming the on-board microcontroller -- 4.3 - Summary -- Further reading -- Chapter 5 - Programming the ARM-based microcontrollers -- 5.1 - Overview -- 5.2 - IDEs supporting the ARM-based microcontrollers -- 5.2.1 - EWARM -- 5.2.2 - ARM Mbed -- 5.2.3 - MDK-ARM -- 5.2.4 - TrueStudio for STM32 -- 5.2.5 - System Workbench for STM32 by AC6 -- 5.2.6 - MikroC Pro for ARM -- 5.3 - Summary -- Further readings -- Chapter 6 - Programming using the mikroC Pro for ARM -- 6.1 - Overview -- 6.2 - MikroC Pro for ARM -- 6.3 - The general purpose input-output library -- 6.3.1 - GPIO_Clk_Enable -- 6.3.2 - GPIO_Clk_Disable -- 6.3.3 - GPIO_Config -- 6.3.4 - GPIO_Set_Pin_Mode -- 6.3.5 - GPIO_Digital_Input -- 6.3.6 - GPIO_Digital_Output -- 6.3.7 - GPIO_Analog_Input -- 6.3.8 - GPIO_Alternate_Function_Enable -- 6.4 - Memory type specifiers -- 6.5 - PORT input-output -- 6.6 - Accessing individual bits
Cover -- Title -- Copyright -- Contents -- About the author -- Preface -- Acknowledgments -- Chapter 1 - Microcomputer systems -- 1.1 - Overview -- 1.2 - Microcontroller systems -- 1.2.1 - RAM -- 1.2.2 - ROM -- 1.2.3 - PROM -- 1.2.4 - EPROM -- 1.2.5 - EEPROM -- 1.2.6 - Flash EEPROM -- 1.3 - Microcontroller features -- 1.3.1 - Supply voltage -- 1.3.2 - The clock -- 1.3.3 - Timers -- 1.3.4 - Watchdog -- 1.3.5 - Reset input -- 1.3.6 - Interrupts -- 1.3.7 - Brown-out detector -- 1.3.8 - Analog-to-digital converter -- 1.3.9 - Serial input-output -- 1.3.10 - SPI and I2C -- 1.3.11 - LCD drivers -- 1.3.12 - Analog comparator -- 1.3.13 - Real-time clock -- 1.3.14 - Sleep mode -- 1.3.15 - Power-on reset -- 1.3.16 - Low power operation -- 1.3.17 - Current sink/source capability -- 1.3.18 - USB interface -- 1.3.19 - CAN interface -- 1.3.20 - Ethernet interface -- 1.3.21 - Wi-Fi and/or Bluetooth interface -- 1.4 - Microcontroller architectures -- 1.4.1 - RISC and CISC -- 1.5 - Summary -- Further readings -- Chapter 2 - Architecture of ARM microcontrollers -- 2.1 - Overview -- 2.2 - ARM microcontrollers -- 2.2.1 - Cortex-M -- 2.2.1.1 - Cortex-M7 -- 2.2.1.2 - Cortex-M4 -- 2.2.1.3 - Cortex-M3 -- 2.2.1.4 - Cortex-M0+ -- 2.2.1.5 - Cortex-M0 -- 2.2.2 - Cortex-R -- 2.2.3 - Cortex-A -- 2.2.4 - Cortex-M processor comparison -- 2.2.5 - Cortex-M compatibility -- 2.2.6 - Processor performance measurement -- 2.3 - The STM32F407VGT6 microcontroller -- 2.3.1 - Basic features of the STM32F407VGT6 -- 2.3.2 - Internal block diagram -- 2.3.3 - The power supply -- 2.3.4 - Low power modes -- 2.3.5 - The clock circuit -- 2.3.5.1 - External clock sources -- 2.3.5.2 - Internal clock sources -- 2.3.5.3 - Configuring the clock -- 2.4 - General purpose inputs and outputs -- 2.5 - Nested vectored interrupt controller (NVIC) -- 2.6 - External interrupt controller (EXTI) -- 2.7 - Timers
9.3 - FreeRTOS variable names -- 9.4 - FreeRTOS function names -- 9.5 - Common macro definitions -- 9.6 - Task states -- 9.7 - Task-related functions -- 9.7.1 - Creating a new task -- 9.7.2 - Delaying a task -- 9.7.3 - Project 1-flashing an LED every second -- 9.7.4 - Project 2-flashing two LEDs, one every second, other one every 200 ms -- 9.7.5 - Suspending a task -- 9.7.6 - Resuming a suspended task -- 9.7.7 - Project 3-suspending and resuming a task -- 9.7.8 - Deleting a task -- 9.7.9 - Project 4-flashing LEDs and deleting a task -- 9.7.10 - Getting the task handle -- 9.7.11 - Running at fixed intervals -- 9.7.12 - Tick count -- 9.7.13 - Project 5-flashing an LED using function vTaskDelayUntil() -- 9.7.14 - Task priorities -- 9.7.15 - Project 6-flashing LED and push-button switch at different priorities -- 9.7.16 - Project 7-getting/setting task priorities -- 9.8 - Using an LCD -- 9.8.1 - HD44780 LCD module -- 9.8.2 - Connecting the LCD to the Clicker 2 for STM32 development board -- 9.8.3 - LCD functions -- 9.8.4 - Project 8-displaying text on the LCD -- 9.9 - Task name, number of tasks, and tick count -- 9.10 - Project 9-displaying a task name, number of tasks, and tick count on the LCD -- 9.11 - Yield to another task of equal priority -- 9.12 - Aborting delay -- 9.13 - Project 10-7-segment 2-digit multiplexed LED display counter -- 9.14 - Project 11-7-segment 4-digit multiplexed LED display counter -- 9.15 - Project 12-7-segment 4-digit multiplexed LED display event counter -- 9.16 - Project 13-traffic lights controller -- 9.17 - Project 14-changing LED flashing rate -- 9.18 - Project 15-sending data to a PC over USB serial link -- 9.19 - Project 16-changing LED flashing rate from the PC keyboard -- 9.20 - Task list -- 9.21 - Project 17-displaying the task list on the PC screen -- 9.22 - Task info
9.23 - Project 19-displaying the task info on the PC screen -- 9.24 - Task state -- 9.25 - Project 20-displaying the task state on the PC screen -- 9.26 - Task parameters -- 9.27 - Summary -- Further readings -- Chapter 10 - Queue management -- 10.1 - Overview-global variables -- 10.2 - Why queues? -- 10.3 - Creating a queue, sending and receiving data using queues -- 10.4 - Project 21-changing LED flashing rate from the PC keyboard -- 10.5 - Deleting a queue, name of a queue, resetting a queue -- 10.6 - Project 22-using various queue functions -- 10.7 - Some other queue functions -- 10.8 - Project 23-ON-OFF temperature controller -- 10.9 - Summary -- Further readings -- Chapter 11 - Semapores and mutexes -- 11.1 - Overview -- 11.2 - Creating binary semaphore and mutex -- 11.3 - Creating a counting semaphore -- 11.4 - Deleting a semaphore, getting the semaphore count -- 11.5 - Giving and taking the semaphores -- 11.6 - Project 24: sending internal and external temperature data to a PC -- 11.7 - Summary -- Further reading -- Chapter 12 - Event groups -- 12.1 - Overview -- 12.2 - Event flags and event groups -- 12.3 - Creating and deleting an event group -- 12.4 - Setting, clearing, waiting For event group bits, and getting event group bits -- 12.5 - Project 25-sending internal and external temperature data to a PC -- 12.6 - Project 26-controlling the flashing of an LED -- 12.7 - Project 27-GPS based project -- 12.8 - Summary -- Further readings -- Chapter 13 - Software timers -- 13.1 - Overview -- 13.2 - Creating, deleting, starting, stopping, and resetting a timer -- 13.3 - Change timer period, get timer period -- 13.4 - Timer name and ID -- 13.5 - Project 28-reaction timer -- 13.6 - Project 29-generate square waveform -- 13.7 - Project 30-event counter (e.g., frequency counter) -- 13.8 - Summary -- Further readings
Title Arm-based microcontroller multitasking projects : using the FreeRTOS multitasking kernel
URI https://cir.nii.ac.jp/crid/1130566853309434624
https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=6199680
https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9780128226315
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9NAEB7RwIGceIoUilaIG1rhXdv74EbSFwIVBBHKzbK96zZq6yI7rfrzmV2vTZIeEAcuK8dy1vF-65lvJvMAeJu6KnAFtxRlf0kTwStacC1p4dobO8YbGV_E9Ys8OVGLhf4W8u9b305A1rW6vdW__ivUeA7Bdqmz_wD3MCmewGMEHUeEHcctRjx87IvIXlKnlMy7SxdlF4LQL2zTRQ2u8va8Sz33vpfWOwOu2z5d6rCx9vv864_Ni89tU9shCOMTmtZnXfvl_avTsK-Cy4BHWy4DFJ-17V2BnSHp1BQqMd61Q7kjVjsLf4ZkQVOcDYVAEnJzNmtVT6cxi5EAqngHdqRAY_j-x9n-0efB64UCgiFH8LWNwh1FKIM0_IK-ABMT77fuOIYxPj0Kf1QMqxbZQL1c3tGhnhjMH8HIJYs8hnu2fgLjteKOT2Ex4EG28CDrS0x6PMgH4tEgiAbp0di8tEPjGfw8PJjPjmnoY0Fz7np7U2GQJVcxMmfkXwIZGYuiEu0FG5UGX4lcJpUqYyWLVHOb5EVRlFIbFdmYF1LnOn4Oo_qqti-AKGuRlElTmSpNWJXr1AiZ5IllZWXwxZvAm7Ulym4u_H_ubdavMBcxSyewhyuXlUs3MuasSKFcmLErFih4MgHSr2nmvx8ChbOD6Uy4sHUV7f5lipfw8M_OewWjVXNt9-BBebNats3rsC1-A-dcPhk
linkProvider Elsevier
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=Arm-based+microcontroller+multitasking+projects+%3A+using+the+FreeRTOS+multitasking+kernel&rft.au=Ibrahim%2C+Dogan&rft.date=2020-01-01&rft.pub=Newnes&rft.isbn=9780128212271&rft_id=info:doi/10.1016%2FC2019-0-03224-4&rft.externalDocID=BB31357583
thumbnail_m http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97801282%2F9780128226315.jpg