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...
Gespeichert in:
| 1. Verfasser: | |
|---|---|
| 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 |

