Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

Introduction to RTOS Part 12 - Multicore Systems | Digi-Key Electronics

Автор: DigiKey

Загружено: 2021-04-05

Просмотров: 57058

Описание:

Running tasks in an RTOS on a multicore system can seem daunting at first. Many processors have unique architectures that you must keep in mind when writing programs that use more than one core. We examine the FreeRTOS port for the ESP32 (known as ESP-IDF) and how to synchronize tasks on both cores.

The solution to the challenge can be found here: https://www.digikey.com/en/maker/proj...

Code for this video series (including demonstrations, challenges, and solutions) can be found here: https://github.com/ShawnHymel/introdu...

Programming a multicore system can be separated into two paradigms: asymmetric multiprocessing (AMP) and symmetric multiprocessing (SMP). AMP requires a primary core running an operating system to schedule tasks in other (secondary) cores. In SMP, the OS runs on all cores, and the scheduler is free to pull tasks from a shared list.

ESP-IDF is the port of FreeRTOS for the ESP32, and it supports SMP. The ESP32 is a dual-core system (although, single-core variants exist). We look at how the ESP32 architecture is configured and how each core can access memory, resources, and interrupts.

In ESP-IDF, we have the option of pinning tasks to a core (so that only that core may run a particular task) or setting a task to “no affinity” (so that the task can run in either core). Using “no affinity” is easier to implement and optimizes CPU utilization and load balancing without much effort. However, it becomes difficult to determine when certain tasks will run, which makes predicting deadlines tougher. As a result, many embedded developers prefer to pin tasks to cores, as it allows for a higher level of determinism.

We show how to run tasks on either core in the ESP32 as well as set them to “no affinity.” Kernel objects (e.g. queues, mutexes, and semaphores) work across cores without any modification, as the ESP32’s cores share memory.

Product Links:
https://www.digikey.com/en/products/d...

Related Videos:
Introduction to RTOS Part 1 - What is a Real-Time Operating System (RTOS)? -    • Introduction to RTOS Part 1 - What is a Re...  ​

Introduction to RTOS Part 2 - Getting Started with FreeRTOS -    • Introduction to RTOS Part 2 - Getting Star...  ​

Introduction to RTOS Part 3 - Task Scheduling -    • Introduction to RTOS Part 3 - Task Schedul...  ​

Introduction to RTOS Part 4 - Memory Management -    • Introduction to RTOS Part 4 - Memory Manag...  ​

Introduction to RTOS Part 5 - Queue -    • Introduction to RTOS Part 5 - Queue | Digi...  ​

Introduction to RTOS Part 6 - Mutex -    • Introduction to RTOS Part 6 - Mutex | Digi...  ​

Introduction to RTOS Part 7 -    • Introduction to RTOS Part 7 - Semaphore | ...  ​

Introduction to RTOS Part 8 -    • Introduction to RTOS Part 8 - Software Tim...  

Introduction to RTOS Part 9 -    • Introduction to RTOS Part 9 - Hardware Int...  

Introduction to RTOS Part 10 -    • Introduction to RTOS Part 10 - Deadlock an...  

Introduction to RTOS Part 11 -    • Introduction to RTOS Part 11 - Priority In...  

Introduction to RTOS Part 12 -    • Introduction to RTOS Part 12 - Multicore S...  

Related Project Links:
https://www.digikey.com/en/maker/proj...

Related Articles:
https://www.digikey.com/en/maker/proj...

Learn more:
Maker.io - https://www.digikey.com/en/maker
Digi-Key’s Blog – TheCircuit https://www.digikey.com/en/blog
Connect with Digi-Key on Facebook   / digikey.electronics  
And follow us on Twitter   / digikey  

Introduction to RTOS Part 12 - Multicore Systems | Digi-Key Electronics

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Introduction to RTOS Part 1 - What is a Real-Time Operating System (RTOS)? | Digi-Key Electronics

Introduction to RTOS Part 1 - What is a Real-Time Operating System (RTOS)? | Digi-Key Electronics

Introduction to RTOS Part 9 - Hardware Interrupts | Digi-Key Electronics

Introduction to RTOS Part 9 - Hardware Interrupts | Digi-Key Electronics

Учебное пособие по FreeRTOS SMP на RP2040 — симметричная многопроцессорная обработка с FreeRTOS!

Учебное пособие по FreeRTOS SMP на RP2040 — симметричная многопроцессорная обработка с FreeRTOS!

Introduction to RTOS

Introduction to RTOS

Introduction to FPGA Part 1 - What is an FPGA? | Digi-Key Electronics

Introduction to FPGA Part 1 - What is an FPGA? | Digi-Key Electronics

Introduction to RTOS Part 10 - Deadlock and Starvation | Digi-Key Electronics

Introduction to RTOS Part 10 - Deadlock and Starvation | Digi-Key Electronics

Getting Started with STM32 and Nucleo

Getting Started with STM32 and Nucleo

#381 How to work with a Real Time Operating System and is it any good? (FreeRTOS, ESP32)

#381 How to work with a Real Time Operating System and is it any good? (FreeRTOS, ESP32)

Introduction to RTOS Part 11 - Priority Inversion | Digi-Key Electronics

Introduction to RTOS Part 11 - Priority Inversion | Digi-Key Electronics

Introduction to Embedded Linux Part 1 - Buildroot | Digi-Key Electronics

Introduction to Embedded Linux Part 1 - Buildroot | Digi-Key Electronics

Introduction to RTOS Part 8 - Software Timer | Digi-Key Electronics

Introduction to RTOS Part 8 - Software Timer | Digi-Key Electronics

Как реализовать многозадачность с FreeRTOS (серия ESP32 + Arduino)

Как реализовать многозадачность с FreeRTOS (серия ESP32 + Arduino)

6. Multicore Programming

6. Multicore Programming

#328 Секреты ESP32: прерывания и глубокий сон под капотом

#328 Секреты ESP32: прерывания и глубокий сон под капотом

Symmetric Multiprocessing (SMP) with FreeRTOS and Raspberry Pi Pico

Symmetric Multiprocessing (SMP) with FreeRTOS and Raspberry Pi Pico

Introduction to RTOS Part 6 - Mutex | Digi-Key Electronics

Introduction to RTOS Part 6 - Mutex | Digi-Key Electronics

Multicore Programming.wmv

Multicore Programming.wmv

Building a Digital Music Player with I2S?! What is I2S! EB#45

Building a Digital Music Player with I2S?! What is I2S! EB#45

Introduction to RTOS Part 3 - Task Scheduling | Digi-Key Electronics

Introduction to RTOS Part 3 - Task Scheduling | Digi-Key Electronics

How do barcodes and scanners even work?

How do barcodes and scanners even work?

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]