Блок-схемы для встроенных приложений

8

У меня есть встроенное приложение, которое использует прерывания и DMA. Основной цикл только отправляет данные на ПК.

Как спроектировать блок-схему программы? Как показать прерывания и DMA, работающие на блок-схеме?

В Google я нашел несколько тем о встроенных uml-диаграммах и некоторые вопросы: Разработка встроенного программного обеспечения , но не нашел примеров таких диаграмм.

krzych
источник
Вы хотите, чтобы программное обеспечение создавало диаграммы или теорию и методы их создания?
1
Теория, методы и примеры будут лучшими. Я использую Visio или Visual Paradigm для разработки таких диаграмм, но если у вас есть что посоветовать, это тоже будет хорошо.
krzych
Посмотрите на различные UML-диаграммы .
Ник Алексеев
@NickAlexeev, к сожалению, не нашел, как показать прерывания и работу, проделанную dma в вашей ссылке.
krzych
2
@krzych Диаграммы последовательности могут использоваться, чтобы показать взаимодействие между прерываниями и основным циклом. Он не такой подробный, как блок-схемы, но он может показать измерение прерываний.
Ник Алексеев

Ответы:

4

Показать диаграммы рабочего процесса независимо, один для основного цикла, один для прямого доступа к памяти и другой для прерываний.

Поскольку прерывания инициируются внешними событиями (такими как готовность АЦП, таймер, внешние прерывания), они не могут быть в основном цикле.

Просто в начале рабочего процесса поместите кружок в кружок, например: «Main», «EXT_INT», «DMA» и т. Д.

Удачи!

Chirry
источник
0

Извините, но вы не можете показать несколько отдельных рабочих процессов на одной подключенной блок-схеме. Редко существует общее место, откуда управление основным циклом прерывается внешним событием (прерыванием) -> таким образом, точка соединения между основным потоком и потоком обработчика прерываний не может быть описана на блок-схеме.

Единственный способ - нарисовать несколько диаграмм, которые показывают рабочие процессы последовательностей, которые могут выполняться «параллельно» (процессы RTOS) или блокировать друг друга (прерывания). Эти последовательности будут иметь начальную позицию, помеченную RESET, EXT_DATA_READY_EVENT или любым другим значимым именем, описывающим начало потока выполнения для этой диаграммы. Каждая последовательность будет иметь свой собственный конец или даже не иметь маркера конца.

Эти блок-схемы могут использовать одни и те же флаги / переменные для отображения взаимозависимости.

Диаграмма последовательности также может быть полезна для вас, но я полагаю - это не то, что вы хотели в первую очередь.

x4mer
источник