Давайте посмотрим непосредственно на абстрактное, то есть наименее детализированное, представление ядра Cortex-M3 — одного из наиболее популярных среди МК STM32. На этом уровне для нас важны три ключевых компонента:
Ядро (CM3Core)
Контроллер вложенных прерываний (NVIC)
Шинная матрица (Bus Matrix)
Ядро непосредственно обрабатывает инструкции, совершая в соответствии с ними операции над данными из ячеек памяти как системных, так и пользовательских. Это могут быть вычисления, логические операции, работа со структурами данных.
Заголовок
Для доставки данных к ядру и обеспечения общего потока данных подсистемы МК связаны между собой шинной матрицей. В лекции мы говорили о понятии машинного слова и объединении цифровых линий связи вместе: шинная матрица и есть некая конструкция, объединяющая все возможные наборы (шины) простых цифровых линий между модулями. В дальнейшем нам это понадобится при разговоре о специальных ячейках памяти — регистрах.
Сама память, как и в компьютерах, делится на постоянную и оперативную — ПЗУ и ОЗУ.
ПЗУ
ПЗУ нужна для хранения энергонезависимых данных, таких как код программы, и пользовательских переменных, необходимых для сохранения в период выключения устройства, поэтому иногда ее называют энергонезависимой
ОЗУ
Оперативная же память используется для хранения промежуточных данных во время работы МК, например пользовательских переменных.
Контроллер вложенных прерываний нужен, как подсказывает логика, для отработки прерываний — событий, требующих быстрой обработки. Важно помнить, что у ядра конечное число потоков, которые он может обслуживать единовременно, именно поэтому для обработки «быстрых» событий может потребоваться приостановка процессов основной программы. В свою очередь, прерывания могут быть прерваны другими с более высоким приоритетом. Для обработки и настройки приоритетов для подобных случаев контроллер вложенных прерываний обладает несколькими каналами обработки прерываний.
Более подробно и точно ознакомиться с устройством ядра Cortex-M3 можно в соответствующей технической документации.
Запишитесь на курс, чтобы выполнить задания и получить сертификат!
Присоединяйтесь к нашему робочату в Telegram!
Микроконтроллеры. Основы STM32
Курс для школьников старших классов и студентов младшего бакалавриата про основы устройства вычислительной техники и практические методы работы с микроконтроллерами на примере STM32. Курс научит использовать микроконтроллеры под необходимые задачи и пробовать разные творческие подходы к программированию.
14 уроков с короткими видео (до 15 минут)
Проверочные задания после каждой главы
Авторская подача: просто, понятно и с примерами
Свободное расписание: нет дедлайнов и сроков сдачи заданий
Все материалы доступны сразу, можно начать обучение в удобное время
Профессиональное видео и современная графика
Быстрая связь с техподдержкой и чат с автором
Сертификат о прохождении курса
Зачем
Мыслить и программировать творчески, не следуя заложенной схеме
Научиться переходить на разные платформы для программирования
Реализовывать технические идеи, используя продвинутые инструменты
Что вы получите
Собрать и запрограммировать необычного робота
Познакомиться с перспективной профессией
Запишитесь, чтобы получить доступ к заданиям и чату курса
Записаться
Находясь на сайте, вы даете согласие на обработку файлов cookie. Это необходимо для более стабильной работы сайта