Налагодження програм Bascom

Спосіб налагодження програм Bascom, в принципі, мало відрізняється від методів налагодження програм, написаних іншим способом Щоб налагодження програми биля успішною і ефективною, потрібно на етапі проектування пристрою з мікро закласти в його схему деяку надмірність, яка дозволить потім здійснити цей процес У число заходів, що забезпечують процес налагодження, входять:

а) можливість електричного підключення емулятора

б) програмна сумісність застосовуваної моделі процесора з імеющімеся симулятором або емулятором

в) соместімость файлів даних, які видаються компілятором, і витлумачених засобами програмної або апаратної налагодження

г) наявність у схемі проектованого пристрою елементів для внутрішньосхемного програмування мікроконтролерів з корпусах, які можуть тільки Упаюємо (SOIC, TQFP тощо)

Можна рекомендувати певний порядок налагодження програм, обумовлений особливостями Bascom

Налагодження може і повинна починатися після написання перших рядків програми Bascom дає таку можливість, генеруючи працездатний код, практично, для будь-яких логічно незавершених фрагментів Рекомендований порядок написання і налагодження програми виглядає наступним чином:

а) спочатку пишуться і отлаживаются окремі найважливіші, для розробляється програми, фрагменти функціональної обробки даних Це відноситься до обчислювальних програмами або програмами обробки даних, що використовують значні ресурси Для налагодження цих програм краще використовувати порядковий відладчик Bascom При налагодженні в текст можна і треба вбудовувати тимчасові оператори завдання початкових умов і виведення проміжних результатів, пробувати застосовувати різні варіанти реалізації алгоритму роботи На цьому етапі найкраще застосовувати дісассемблірованіе отриманого коду для визначення оптимальності роботи окремих операторів або функцій, та обсягу, використовуваних ними регістрів Останнє особливо важливо при програмуванні, наприклад, переривань Після досягнення бажаних результатів аналізується обсяг використаних ресурсів памяті, час виконання (відладчик показує його) і приймається рішення про використання налагодженого фрагмента в основній програмі

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

програмному симуляторі це навряд чи вдасться), пожвавите скелет програми Мають запрацювати всі таймери і

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

в) поступово починайте заповнювати скелет програми функціональними модулями, налагодженими на першому етапі, та іншими, не настільки принциповими Перевірка роботи програми повинна проводиться кожного разу при введення в дію нової функції, щоб помилки не накопичувалися і можна було точніше визначити

момент появи помилки Першими вводяться і отлаживаются програмні модулі, які взаємодіють з

найбільшою кількістю інших програмних модулів (або найбільш використовувані), наприклад, індикації, клавіатури, послідовного інтерфейсу, інтерфейсів АЦП і ЦАП На даному етапі дуже важливо так, організувати роботу і будувати структуру програми, щоб до налагодженим частинам програми вже не повертатися (це теж елемент структурного програмування) Даний етап розробки програми можна вважати закінченим, коли всі пристрої функціонують правильно і забезпечується робота конвейра передачі даних

г) наступний етап налагодження – додавання в програму операцій глибокої обробки даних, наприклад, цифрового калібрування, збереження і відновлення даних в EEPROM Найчастіше, саме на даному етапі виявляється, що внутрішні ресурси процесора вичерпані і необхідно вживати заходів щодо більш раціонального їх використання

д) останніми отлаживаются (додаються до налагоджують програму) програмні модулі, що забезпечують сервісні функції (додаткова обробка, додатковий інтерфейс, утиліти тестування і налаштування аналогової частини тощо)

Повністю налагоджена програма програмується в память процесора і перевіряється вже реальному

пристрої Цей етап налагодження дозволяє виявити помилки, обусловленнние неповним поданням про роботу пристрою в цілому, наявними на початку роботи Особливу увагу при перевірці слід приділити поведінки програми при неправильних впливах і можливі несправності:

а) на клавіатуру – при натисканні неправильних комбінацій кнопок, одночасному натисканні кнопок,

тривалому утриманні натиснутою кнопки, введення нереальних значень і режимів

б) на послідовний інтерфейс (або інший) – при подачі неправильних або перекручених команд,

завантаженні неправильних даних, подачі занадто довгих повідомлень, подачі команд з малим інтервалом

в) на аналогову частину пристрою, керованого процесором, – при подачі сигналів перевантаження,

виникненні несправності, розриві зворотного звязку

г) при псуванні даних в енергонезалежній памяті

д) при порушенні протоколу звязку з іншим процесором, при повному зникненні звязку

е) при виникненні аварійних ситуацій (перегрів, переповнення, відключення живлення)

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

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

Тепер розглянемо основні прийоми, які рекомендується застосовувати при налагодження програм Bascom:

а) застосування циклічної конструкції для перевірки операції перетворення при множині значенні вихідних даних Дана конструкція зручна при налагодженні функціональних модулів

DO

INPUT “Input value A” , _A INPUT “Input value B” , _B

Це місце отлаживаемой або програми, що перевіряється,

використовує введені значення

PRINT C =; _C Подивитись результат

LOOP

DO

LOOP

ЦАП

DO

б) застосування циклу для налагодження програми, що відтворює дані або сигнали, наприклад, АЦП

Це місце отлаживаемой або програми, що перевіряється

PRINT C =; _C Друк результату операції

‘Або, якщо є індикатор застосовувати наступні рядки

CLS очистити LCD

LCD C вивести результат

в) застосування циклу з перемінним параметром для налагодження програми управління обєктом, наприклад,

FOR V = 10 TO 100

Це місце отлаживаемой або програми, що перевіряється, залежною від V NEXT

LOOP

г) установка апаратного маркера для синхронізації осцилографа, застосовуваного для спостереження за отлаживаемого процесом або формуванням тимчасової діаграми

RESET P11: SET P11 формуємо імпульс синхронізації (запуску осцилографа)

Це місце отлаживаемой або програми, що перевіряється, формує часовий процес

д) вимикання або обхід не потрібних в даний момент ділянок програми Для цього перед компіляцією непотрібні ділянки робляться коментарем (символом ‘”) або обходяться оператором GOTO мітка

е) запуск програми природним шляхом (з нульового адреси) застосовується, коли система вже побудована

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

ж) иммитация зовнішніх подій установкою ознак цих подій і підстановкою відповідних даних Це програма сприймає як поява справжніх даних і починає процес обробки, в складі якого і беруть участь отлаживаемого фрагменти

SET B_NEW_DATA: ADC_DATA = 4000 так імітуємо поява даних АЦП

і) використання програми емулятора терміналу для налагодження програм, взаємодіючих через COM-порт Вибір текстового протоколу звязку з іншими учасниками інтерфейсу значно полегшують завдання налагодження Для цього, досить забезпечити лише апаратне підключення отлаживаемого процесора з персональним компютером Легко налагоджувати програми, що діють через послідовний порт, використовуючи і симулятор-відладчик Bascom, що має вбудовану функцію і програмного, і апаратного емуляторів терміналу Якщо ще говорити про корисні функціях відладчика Bascom, потрібно згадати про наявність програмних емуляторів символьного дисплея і EEPROM (моделі AT89S8252), які також істотно розширюють можливості налагодження

Щодо використання апаратних засобів (емуляторів) для налагодження програм, створених за допомогою Bascom, можна сказати наступне:

а) відсутні обмеження на використання вихідних файлів (HEX-і BIN-форматів) Bascom в емуляторах інших типів (чи не згаданих в списку, підтримуваних середовищем Bascom)

б) структура тексту програми Bascom така, що найраціональнішим є режим налагодження шляхом

запуску програми з нульового адреси Це дозволяє використовувати навіть найпростіші емулятори

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

г) для вирішення різних завдань потрібні і різні типи емулятором, що відрізняються як за типом підтримуваних процесорів, так і за складом використовуваних ресурсів В одних випадках зручним виявляється наявність прямого звязку портів TxD і RxD отлаживаемого процесора з COM-портом компютера, в інших випадках необхідно надати всі ресурси налагоджують програму або забезпечити можливість виконання шинних операцій (для повідомлення із зовнішньою памяттю)

д) внаслідок того, що Bascom забезпечує швидке отримання працюючої програми, то він дуже зручний при створенні програм для найсучасніших моделей процесорів, які виконуються в плоских корпусах, що приєднуються тільки пайкою, що мають внутрішню Flash-память (електрично перепрограммируемую) і режими внутрішньосхемною завантаження (по послідовному інтерфейсу) Застосовувати традиційні емулятори в таких випадках незручно і їх може замінити програмує адаптер (трьох-, чотирьох або пятипровідна) Однак, внаслідок того, що процес перепрограмування нешвидкий (займає 15 – 30 секунд), то для налагодження таких програм рекомендується застосовувати комплексний підхід При цьому, спочатку необхідно застосовувати налагодження незалежних програмних модулів іншими способами і тільки на завершальній етапі переходити до налагодження в процесорі в складі обєкта Схема пристрою (повторюємо ще), в якій використовується перепрограмування впаянного процесора, також повинна бути пристосована для цього

Джерело: МЛКуліш, ДОВІДНИК З ПРОГРАМУВАННЯ BASCOM-8051, Краснодар 2001

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*