Программирование МК STM32. Урок 110. FreeRTOS. Приоритеты задач

author narod stream   8 мес. назад
703 views

61 Like   0 Dislike

Программирование МК STM32. Урок 116. FreeRTOS. Прерывания. Очереди в прерываниях. Часть 1

В данном уроке мы продолжим заниматься программированием микроконтроллеров STM32 с использованием операционной системы реального времени FreeRTOS. Сегодня мы изучим использование функционала операционной системы в теле обработчиков прерываний. В частности, мы попробуем байт, принятый из шины USART отправить в очередь, а уже в задачах его обработать, соединить с другими байтами, а результат вывести на дисплей. Использовать для применения FreeRTOS в нашем проекте мы будем, как и прежде, отладочную плату STM32F746G-DISCO. В данной части урока мы познакомимся с механизмом использования API FreeRTOS в телах обработчиков прерываний, создадим и настроим проект и напишем код для отправки байта, принятого по шине USART, в очередь. Отладочную плату STM32F746G-DISCO можно приобрести здесь http://ali.pub/2bpa7g Навигация по видео: 00:09 Введение 02:43 Краткое знакомство с исопльзованием API FreeRTOS в обработчиках прерываний 07:15 Настроим проект 10:59 Добавим новую очередь 13:43 Примем байт из USART и отправим его в очередь. Рекомендуется также перед просмотром данного урока просмотреть данное видео: Урок 104. FreeRTOS. Бинарные семафоры. Часть 1 https://www.youtube.com/watch?v=kopgjKUFCVY Урок 104. FreeRTOS. Бинарные семафоры. Часть 2 https://youtu.be/Bknw-uawVTo Урок 106. FreeRTOS. Создание и уничтожение задач. Часть 1 https://youtu.be/UxNWYvSzveU Урок 106. FreeRTOS. Создание и уничтожение задач. Часть 2 https://youtu.be/Ui4Hm7D5v8I Урок 108. FreeRTOS. Параметры https://youtu.be/8wGssI_sxSM Урок 110. FreeRTOS. Приоритеты задач https://youtu.be/wTktgw94jdE Урок 111. FreeRTOS. Очереди. Часть 1 https://youtu.be/krpf4xyGR28 Урок 111. FreeRTOS. Очереди. Часть 2 https://youtu.be/2v2gvJd1Pmc Урок 112. FreeRTOS. Таймеры https://youtu.be/sahOINn2tHk Урок 114. FreeRTOS. Продвинутая задержка DelayUntil https://youtu.be/PoGskwqXAKs Текстовая версия данной части урока здесь http://narodstream.ru/stm-urok-116-freertos-preryvaniya-ocheredi-v-preryvaniyax-chast-1/ Группа в контакте http://vk.com/club116656325 Группа в Одноклассниках http://ok.ru/group/52987126153436 Группа в Facebook https://www.facebook.com/groups/236905359999556/ Мой сайт "Программирование МК" http://narodstream.ru/ Форум http://narodstream.ru/forum/ Вы можете помочь проекту: Яндекс-деньги https://money.yandex.ru/to/41001176473465 Webmoney R422073279923 Z341906933112

Mastering RTOS Debugging Techniques

Using an RTOS has almost become a necessity when developing a real-time embedded system. The problem is that many developers are just starting to use an RTOS and are not familiar with the methodologies and techniques necessary to quickly and efficiently debug their RTOS based application code. In this webinar, attendees will become familiar with the latest and greatest techniques and tools necessary to debug their code. Important concepts such as properly sizing thread stacks, using event viewers and discovering issues such as priority inversions, deadlock and thread starvation will be examined. The webinar will provide hands-on demonstrations using the NXP's K64 Freedom Board which uses as ARM Cortex-M4 processor with the Keil MDK toolchain, RTX5 RTOS and Percepio’s Tracealyzer. Topics Covered in this Webinar Include • Performing a worst-case stack analysis during run-time • Setting up an event recorder and monitoring system events • Understanding Data Watchpoint and Trace (DWT) • Methods for enabling system trace (RTT, TCP/IP, USB) • Exploring ITM and ETM capabilities • Example techniques for detecting stack overflow, priority inversion and other common RTOS issues. • Best practices for using an RTOS in an embedded system • Tracing program execution using Tracealyzer • Recommendations for going further

STM32F4 Discovery board - Keil 5 IDE with CubeMX: Tutorial 6 ADC Multi channels - Updated Nov 2017

This video shows how to implement ADC Multi channels mode, where you have multiple Analog inputs, using 3 different methods: 1) CubeMX 2) HAL Library 3) Direct register access Source code for HAL + Direct register (as a text file): https://drive.google.com/open?id=10bKVNbP8pZUz_VDqriP9INbpD-eseBDD

Дешёвая STM32 плата + Arduino IDE

Покупал свою STM32F103C8T6 тут: http://goo.gl/OvOjPn Другие stm32f103c8t6 платы: http://goo.gl/qMs0bE CH340g переходник с USB to UART брал тут: http://goo.gl/w5yU71 Ещё CH340g переходники: http://goo.gl/P5AAWS Статья: https://geektimes.ru/post/277928/ Архив к видео: https://goo.gl/Uj9fys Ещё видеообзоры: https://www.youtube.com/playlist?list=PLEL7qGoBXwEbc-NUrX30_xyE8mL7qSKjZ ------------------------------------------------ Обозреваемая отладочная плата основана на базе микроконтроллера STM32F103C8T6. А прошивать и программировать я её буду в среде разработки Arduino IDE. Очевидно, что отладочная плата на базе STM32 выигрывает по всём параметрам у Arduino Nano, исключением является разве что стоимость, но согласитесь 10 центов — хорошая цена за большую производительность, а про периферию, которой нафарширован STM32, так я вообще молчу, чего только стоят DMA или интегрированные в микроконтроллер часы реального времени. Всё это в сумме делает данную плату крайне привлекательной во всём, кроме одного — новичку, как например мне, тема STM32 кажется слишком затратной по времени, есть целые сайты посвящённые программированию этих микроконтроллеров. А вот если подружить STM32 с Arduino IDE, то порог вхождения опускается до крайне низкого уровня. ------------------------------------------------ Как можно поддержать мой канал? WebMoney реквизиты: Z987343479290 Доллары R367027381040 Рубли ----------------------------------------­-------- Моя партнёрка: http://goo.gl/HkCkH3 Паблик ВКонтакте: https://goo.gl/p8Z9YB Мой live каннал: http://goo.gl/6p1PFt Подписывайтесь: http://youtube.com/RazniePodelki

Программирование МК PIC. Урок 6. Семисегментный индикатор. Статическая индикация

Продолжаем работу по программированию контроллеров PIC. На данном уроке мы научимся писать код для управления семисегментным светодиодным индикатором, используя статическую индикацию. Микроконтроллер мы будем использовать уже несколько более мощный - PIC16F876A, в котором намного больше возможностей, больше различной периферии, и, соответственно, больше ножек портов GPIO. Приобрести программатор PICKit3 (неоригинальный) можно здесь http://ali.pub/24fd8t Приобрести программатор PICKit3 (оригинальный) можно здесь http://ali.pub/24fdzu Отладочную плату PIC Open18F4520-16F877A можно приобрести здесь http://ali.pub/262vf1 Навигация по видео: 00:08 Введение 01:48 Светодиодный семисегментный индикатор 04:05 Микроконтроллер PIC16F876A 08:27 Создадим и настроим проект 13:59 Добавим функцию для вывода цифры на индикатор 15:42 Добавим код циклического последовательного вывода цифр на светодиодный индикатор 17:34 Проверим работоспособность нашего кода в протеусе 19:40 Посмотрим практическую схему 22:42 Проверим работу кода на практике Для более понятного просмотра данного видео предварительно рекомендуется посмотреть: Урок 1. Знакомство с семейством PIC https://youtu.be/Ut9j4JINpSw Урок 2. Первый проект в MPLAB X IDE https://youtu.be/P4CKlUionBo Урок 3. Бегущие огни https://youtu.be/INZjtKrzMlU Урок 4. Кнопка https://youtu.be/Kw0tAc_vfpQ Урок 5. Таймеры https://youtu.be/LmGGwtT3-i4 Текстовая версия урока и исходный код здесь http://narodstream.ru/pic-urok-6-semisegmentnyj-indikator-staticheskaya-indikaciya/ Группа в контакте http://vk.com/club116656325 Группа в Одноклассниках http://ok.ru/group/52987126153436 Группа в Facebook https://www.facebook.com/groups/236905359999556/ Мой сайт "Программирование МК" http://narodstream.ru/ Форум http://narodstream.ru/forum/ Вы можете помочь проекту: Яндекс-деньги https://money.yandex.ru/to/41001176473465 Webmoney R422073279923 Z341906933112

В данном уроке мы продолжим заниматься программированием микроконтроллеров STM32 с использованием операционной системы реального времени FreeRTOS и главной темой данного занятия будут приоритеты задач.
Мы узнаем, что каждая задача может иметь различный приоритет, как данные свойства применяются, также мы узнаем то, что приоритет у задачи можно не только назначать при её создании, но и менять в процессе выполнения программы.

Отладочную плату можно приобрести здесь http://ali.pub/2bpa7g

Навигация по видео:
00:10 Введение
02:49 Настроим проект
05:20 Исправим функцию задач для того, чтобы не дать задачам уйти в блокировку
06:38 Проверим результат на практике, пока у нас всем задачам присвоен одинаковый приоритет
09:13 Дадим приоритет выше одной из задач и опять посмотрим результат
11:38 Напишем код бесконечного цикла задачи по умолчанию таким образом, чтобы в определённое время задачам присваивался различный приоритет
15:57 Проверим работу нашего кода на практике
17:44 Планы на будущее

Рекомендуется также перед просмотром данного урока просмотреть данное видео:
Обзор отладочной платы STM32F746G-DISCO. Часть 1 http://www.youtube.com/watch?v=XP2gMZ_kP38
Обзор отладочной платы STM32F746G-DISCO. Часть 2 http://www.youtube.com/watch?v=s9i9956DK40
Урок 54. System Workbench. FREE RTOS https://youtu.be/9l6ovhcmnkQ
Урок 64. HAL. LTDC. Часть 1 http://www.youtube.com/watch?v=TGLGSTquBAw
Урок 66. HAL. LTDC. SDRAM. Часть 1 http://www.youtube.com/watch?v=QdyZdy8VrUY
Урок 67. HAL. LTDC. BMP. Часть 1 http://www.youtube.com/watch?v=ZT4Ftnw_oxM
Урок 69. HAL. LTDC. DMA2D. Часть 1 http://www.youtube.com/watch?v=C3RSWy7H63s
Урок 70. HAL. LTDC. Вывод текста на дисплей. Часть 1 http://www.youtube.com/watch?v=U9cxipn38PI
Урок 104. FreeRTOS. Бинарные семафоры. Часть 1 https://www.youtube.com/watch?v=kopgjKUFCVY
Урок 104. FreeRTOS. Бинарные семафоры. Часть 2 https://youtu.be/Bknw-uawVTo
Урок 106. FreeRTOS. Создание и уничтожение задач. Часть 1 https://youtu.be/UxNWYvSzveU
Урок 106. FreeRTOS. Создание и уничтожение задач. Часть 2 https://youtu.be/Ui4Hm7D5v8I
Урок 108. FreeRTOS. Параметры https://youtu.be/8wGssI_sxSM

Текстовая версия данного урока и исходный текст здесь http://narodstream.ru/stm-urok-110-freertos-prioritety-zadach/

Группа в контакте http://vk.com/club116656325
Группа в Одноклассниках http://ok.ru/group/52987126153436
Группа в Facebook https://www.facebook.com/groups/236905359999556/
Мой сайт "Программирование МК" http://narodstream.ru/
Форум http://narodstream.ru/forum/

Вы можете помочь проекту:
Яндекс-деньги
https://money.yandex.ru/to/41001176473465
Webmoney
R422073279923
Z341906933112

Comments for video: