Аналіз середовищ для програмування мікроконтролерів
Програмування мікроконтролерів є невід'ємною частиною розробки самостійного електронного пристрою. На даному етапі розвитку електроніки найбільш популярними мікроконтролерами (МК) є: PIC, MSP, AVR, STM, ARM (процесор).
Для кожного виду МК є вузькоспрямоване середовище програмування. Це з внутрішньої структурою МК і технічного забезпечення запису програми на згадку про МК. Якщо проаналізувати існуючісередовища програмування МК, то знайти універсальні середовища програмування МК дуже складно. При аналізі середовищ програмування виявили лише одне універсальне середовище програмування мікроконтролерів – FlowCode, функції якої дозволяють програмувати МК PIC, AVR, ARM.
FlowCode – графічне універсальне середовище програмування МК. Програмування здійснюється завдяки побудові логічного структури, тобто. блок-схем, аналогічно середовище HiAsm. Функція експорту дозволяє експортувати написаний код PIC МК програму AVR МК і навпаки. Доповненням даного середовища програмування є створення HEX-коду, який може бути використаний при прошивці МК, або при проектуванні схеми з підтримкою МК, наприклад, серед Proteus.
Серед платних середовищ програмуванняAVR МК є AVR Studio, IAR Systems, Image Craft, WinAVR, CodeVisionAVR.
CodeVisionAVR – популярне умовно-безкоштовне середовище програмування AVR МК. Поєднує в собі Сі-подібну мову програмування та асемблер. Функції програми дозволяють самостійно прошивати МК та встановлювати fuse-бити та ПЗУ. Кінцевим результатом розробки програми під. МК є створення HEX, BIN або ROM-файлу для прошивки МК за допомогою програматора.
Середовище IAR Systems підтримуєпрограмування МК AVR та MSP430, але функції програмування двох МК не об'єднані в одному середовищі. До кожного МК розробили окремі середовища програмування. Аналогічним чином було розроблено середовище програмування Image Craft (ICC). ICC підтримує Сі-подібний синтаксис та асемблер. IAR Systems та Image Craft до їх складу входять цілеспрямовані бібліотеки роботи з окремими частинами МК. До складу ICC додано утиліту для генерації коду та ініціалізації периферії МК, впроваджено ANSI Terminal Emulator, який надає можливість працювати з COM-портом.
Середовище Code Composer Studio (CCS) для програмування МК MSP засноване на базі — стокове універсальне середовище програмування Eclipse. CCS як перераховані вище середовища програмування, має Сі-подібну мову програмування. Це середовище програмування підтримує розробку для DSP (Digital signal processor) мікроконтролерів, процесорів АРМ сімейства TMS320 та MSP430. Це середовище в порівнянні з ICC або CCS використовує Java-машину і потребує більше системних ресурсів.
Virtual breadboard – середа розробки з підтримкою проектування електричної схеми з урахуванням платформи Arduino під керівництвом МК ATMEL AVR. Під час аналізу використовувалася програма версії 4.2.9, яка підтримує розробку програм під. МК PIC. Синтаксис подібний до середовища програмування Energia і Arduino IDE. Це середовище є платним, в програму впроваджено приклади, і моделі електронних елементів на основі яких проектується пристрій.
Для розробки програм під МК PIC існує середовище MPLAB IDE. Створення програми проходить у структурованому вигляді, вбудований програмний симулятор моделювання виконання програм у МК з урахуванням стану портів введення-виведення,емулятор роботи МК у масштабіреального часу безпосередньо у пристрої користувача. Розробка проекту ведеться мовою С або асемблер. Ще одним середовищем програмування для МК PIC є mikгоС. Середовище mikгоС включає бібліотеки, які підтримують наступні пристрої та інтерфейси:
- вбудований аналого-цифровий перекодувальник (АЦП) мікроконтролера;
- вбудовану енергонезалежну пам'ять EEPROM мікроконтролера;
- вбудовані широтно-імпульсні модулятори (PWM) мікроконтролера;
- зовнішні змінні карти пам'яті типу MMC, SD та Compact Flash;
- файлову систему FAT;
- алфавітно-цифровий рідкокристалічні індикатори (LCD PKI);
- графічні рідкокристалічні індикатори (GLCD, РК-дисплей);
- інтерфейси I2C, SPI, 1-Wire, USART, RS-485, CAN, PS/2, USB (HID) та Ethernet.
Підбивши підсумки, хочу сказати, що при виборі середовища програмування необхідно враховувати його основний функціональний склад, мову програмування, порти, що підтримуються, і інтерфейси.
Якщо Ви використовуєте інше середовище програмування МК, яке в даному пості не вказано, будь ласка, напишіть. Зазначене вами середовище буде проаналізовано та додано до посту.