Мікроконтроллерні системи відносяться до класу цифрових обчислювальних систем, тому методологія їх проектування повинна включати елементи апаратної та програмної підтримки Якщо припустити, що електричні схеми на апаратному рівні вже обрано за рекомендаціями з попередніх глав цієї книги, то залишається навчитися складати програми для MK

Весь технологічний процес по створенню програмного продукту можна розбити на кілька етапів, як показано на Рис 61

Рис 61 Етапи створення програмного продукту

Черговість проектування «Т-А-Л-К-М-П-Р» полягає в складанні технічного завдання (T), розробці та деталізації алгоритму (А), наборі лістингу програми (Л), компіляції (К), моделюванні (M) , програмуванні (П) і реальній роботі (P) Система охоплена декількома зворотними звязками, які показані пунктиром Наприклад, за результатами моделювання або реальної роботи можуть бути змінені вихідні дані технічного завдання, відкорегований алгоритм функціонування і тд

Розшифровка позначень

«Т» – технічне завдання на розробку Добре, якщо воно складено разбирающимся фахівцем-системщики, з яким можна оперативно вирішувати питання і швидко вносити поправки Якщо ж технічне завдання становить примхливий замовник, який думає, що знає, чого хоче, – завдання з одного боку ускладнюється, а з іншого боку полегшується («що хотіли, те й отримуйте»)

В аматорських умовах технічне завдання розробляється самостійно («сам собі режисер») Рівень вимогливості залежить від амбіцій і характеру людини Практика показує, що прагнення осягнути неосяжне часом заставляє багаторазово повертатися до корекції вихідних даних

«А» – алгоритм роботи пристрою безпосередньо залежить від технічного завдання Конкретні рекомендації щодо складання алгоритму дати складно Це свого роду мистецтво Єдине, що треба враховувати – поки розробник не зрозуміє в деталях логіку функціонування пристрою і не представить мислення, які сигнали, в який час і в якій послідовності повинні формуватися на входах і на виходах вузлів – Доти не можна переходити до наступного етапу

«Л» – вихідний лістинг програми мовою професіоналів називається «ісходником» Слід взяти собі за правило детально коментувати текст будь-якого лістингу, навіть якщо долає глибока лінь і здається, що все і так елементарно зрозуміло Текстові підказки в подальшому можуть здорово стати в нагоді, коли, раптом, знадобиться знову повернутися до проекту, наприклад, для запозичення якої процедури

Досвідчений програміст не стане придумувати «з нуля» всі рядки коду нового проекту Йому простіше згадати, де застосовувалися схожі підпрограми, функції, алгоритми Майстерність компонування програм – справа наживна, якщо слідувати мудрому житейському принципом «робити за образом і подобою»

«К» – етап компіляції та відлагодження полягає в запуску на компютері спеціальної програми, яка перевіряє правильність набору тексту лістингу та відповідності його синтаксису мови Сі Після усунення помилок, тобто після налагодження, компілятор перетворює текст лістингу в шістнадцяткові НЕХ-коди, зрозумілі MK У результаті компіляції на жорсткому диску повинен зявитися новий файл з розширенням « Hex» або «bin»

«М» – моделювання програми є не обовязковим, однак досить бажаним етапом При моделюванні отриманий після компіляції HEX-файл завантажується у програму-симулятор, яка в покроковому режимі імітує виконання команд MK На кожному кроці можна зупинити симулятор і подивитися логічні рівні на входах / виходах портів, оцінити форму сигналів на екрані віртуального осцилографа, виміряти відрізки часу і тд

«П» – програмування памяті MK за допомогою сервісної оболонки і адаптера, що підключається до компютера В результаті програмування коди із НЕХ-файла переносяться в незалежну память MK Навички роботи з програматором купуються на практиці, нічого складного в цьому немає

«Р» – установка прошитого MK у виріб і запуск роботи в реальному часі Якщо пристрій функціонує нормально і відповідає вимогам технічного завдання, то технологічний цикл з розробки програми вважається закінченим На практиці ж доводиться багато разів коригувати алгоритм роботи і вихідні листинги, перш ніж вдасться домогтися позитивного результату Не слід боятися зайвий раз перепрошивати MK, адже призначений ресурс записи його флеш-ПЗУ зазвичай складає не менше 100 000 разів

Джерело: Рюмік, С М, 1000 і одна мікроконтролерна схема Вип 2 / С М Рюмік – М: ЛР Додека-ХХ1, 2011 – 400 с: Ил + CD – (Серія «Програмовані системи»)