Передмова
Радіймо друзі з вами Андрій і в цій статті ми поговоримо про нову версію ModusToolbox 3.1 від компанії Infineon. ModusToolbox 3.1 - це комплексне програмне середовище для розробки вбудованих систем на базі мікроконтролерів Infineon. ModusToolbox надає розробникам гнучкість і ефективність при створенні програм для різних платформ і застосувань. ModusToolbox також містить багато корисних утиліт і бібліотек, які дозволяють легко налаштовувати і оптимізувати роботу мікроконтролерів. В цій статті я розгляну, як завантажити і встановити ModusToolbox 3.1, як створити новий проект для Eclipse IDE for ModusToolbox, та для Visual Studio Code.
Завантаження і встановлення
Для того, щоб завантажити і встановити ModusToolbox 3.1, нам потрібно спочатку завантажити Infineon Developer Center launcher. Це програма, яка дозволяє вибрати і встановити різні продукти від Infineon, включаючи ModusToolbox 3.1. Ми можемо завантажити Infineon Developer Center launcher з офіційного сайту Infineon. Після завантаження ми запускаємо Infineon Developer Center launcher і бачимо таке вікно:
Завантаження і інсталювання ModusToolbox за допомоги Developer Center
Тут ми можемо вибрати ModusToolbox 3.1 і натиснути на кнопку Install. Програма запропонує нам вказати шлях для встановлення ModusToolbox 3.1 і погодитись з ліцензійною угодою. Після цього почнеться процес встановлення ModusToolbox 3.1, який може тривати деякий час.
Коли встановлення закінчиться, ми можемо перевірити, що ModusToolbox 3.1 успішно встановлено, натиснувши на кнопку Start. Ми також можемо повернутися до Infineon Developer Center launcher і побачити, що тепер у нас є можливість запустити або вилучити ModusToolbox 3.1.
За допомогою Infineon Developer Center launcher ми також можемо завантажити інші корисні речі. Для цього ми можемо натиснути на кнопку Manage Tools і обрати потрібний пункт.
Огляд компонентів і утиліт
Тепер, коли ми завантажили і встановили ModusToolbox 3.1, давайте розберемося з термінологією, яку використовує це середовище.
ModusToolbox 3.1 - це не просто одна програма, а набір різних компонентів, які спільно працюють для розробки вбудованих систем. Одним з головних компонентів є Eclipse IDE for ModusToolbox- це інтегроване середовище розробки (IDE), яке базується на Eclipse і має всі необхідні функції для створення, редагування, компіляції, налагодження проекту. Eclipse IDE for ModusToolbox також має вбудований термінал, який дозволяє спілкуватися з мікроконтролером за допомогою UART або SWD. Eclipse IDE for ModusToolbox підтримує мови програмування, такі як C, C++ тощо.
Eclipse IDE for ModusToolbox |
Іншим важливим компонентом є ModusToolbox assistants - це набір плагінів для Visual Studio Code, який дозволяє створювати і редагувати проекти за допомогою цього популярного редактора коду. ModusToolbox assistants мають ті ж функції, що і Eclipse IDE for ModusToolbox. Щоб використовувати ModusToolbox assistants, нам потрібно встановити ModusToolbox 3.1, Visual Studio Code і додати плагіни Eclipse IDE for ModusToolbox.
Плагін ModusToolbox Assistant виглядає так
Одним з ключових понять у ModusToolbox 3.1 є board support package (BSP) - це набір файлів і налаштувань, які адаптують проект під конкретну плату або мікроконтролер. BSP містить інформацію про апаратну конфігурацію, периферійні пристрої, тощо. Ми можемо створити свій власний BSP або використати готовий BSP для однієї з доступних плат від Infineon.
Тепер, коли ми ознайомилися з термінологією, давайте створимо наш перший проект за допомогою Project Creator. Ми можемо зробити це для Eclipse IDE for ModusToolbox або Visual Studio Code. У цьому випадку ми скористаємося Eclipse IDE for ModusToolbox, але процес буде схожий і для Visual Studio Code.
Для того, щоб створити новий проект, ми запускаємо Eclipse IDE for ModusToolbox і обираємо File -> New -> ModusToolbox Application.
Тут ми можемо вказати назву нашого проекту, шлях для його розташування. За допомогою Device Configurator налаштовуємо периферію. Device Configurator - це утиліта, яка дозволяє графічно налаштовувати параметри мікроконтролера, такі як GPIO, UART, SPI тощо. За допомоги Library Manager додаємо які саме бібліотеки, драйвери і міделвари будуть входити до складу нашого проекту. Library Manager - це утиліта, яка дозволяє додавати або видаляти бібліотеки, які надають функціональність для різних застосувань, таких як Bluetooth, CapSense, USB тощо. Оберемо Device Configurator.
Коли проект згенеровано, ми можемо ознайомитися з його структурою. Ми бачимо, що наш проект складається з різних файлів і папок, які мають своє призначення і функцію.
Структура проекту |
Основним файлом нашого проекту є main.c - це файл, де ми пишемо код нашої програми. Тут ми можемо використовувати функції з бібліотек, які додаються до нашого проекту за допомогою Library Manager або Device Configurator.
Іншим важливим файлом нашого проекту є design.modus - це файл, де ми можемо налаштовувати параметри мікроконтролера за допомогою Device Configurator. Тут ми можемо графічно визначати, які периферійні пристрої ми хочемо використовувати, яким чином ми хочемо їх налаштовувати і як ми хочемо їх підключати до GPIO. Ми також можемо налаштовувати параметри тактування і інші опції.
Ще одним важливим файлом нашого проекту є makefile - це файл, де ми можемо визначати, як компілювати і налагоджувати проект. Тут ми можемо вказати, який компілятор ми хочемо використовувати, які прапорці/компоненти ми хочемо передавати компілятору, які бібліотеки ми хочемо додати до нашого проекту тощо. Ми також можемо вказати, який інструмент ми хочемо використовувати для налагодження нашого проекту, наприклад, OpenOCD або Segger J-Link.
Тепер, коли ми створили наш проект і ознайомилися з його структурою, давайте подивимося, які утиліти має ModusToolbox 3.1 і як їх використовувати для розробки та налагодження нашого проекту.
ModusToolbox 3.1 має багато корисних утиліт, які дозволяють легко налаштовувати і оптимізувати роботу мікроконтролерів. Деякі з них я вже згадав, наприклад, Device Configurator і Library Manager. Але є ще багато інших утиліт, які можна запустити з меню Tools або з контекстного меню проекту.
Панель швидкого доступу до утиліт і документації
Ось деякі з утиліт, які має ModusToolbox 3.1:
CapSense Configurator - це утиліта, яка дозволяє налаштовувати параметри CapSense - це технологія, яка дозволяє використовувати сенсорні кнопки або сенсорні панелі для керування мікроконтролером. За допомогою CapSense Configurator ми можемо визначити, скільки і якого типу сенсорних елементів ми хочемо використовувати, як ми хочемо їх підключити до GPIO і як ми хочемо їх калібрувати та тестувати.
Bluetooth Configurator - це утиліта, яка дозволяє налаштовувати параметри Bluetooth - це технологія, яка дозволяє бездротово з’єднуватися з іншими пристроями за допомогою радіосигналу. За допомогою Bluetooth Configurator ми можемо визначити, який профіль Bluetooth ми хочемо використовувати, наприклад, BLE (Bluetooth Low Energy) або BR/EDR (Basic Rate/Enhanced Data Rate), які сервіси і характеристики ми хочемо надавати або використовувати, як ми хочемо рекламувати наш пристрій або знаходити інші пристрої тощо.
Bluetooth Configurator |
USB Configurator - це утиліта, яка дозволяє налаштовувати параметри USB - це технологія, яка дозволяє підключатися до комп’ютера або інших пристроїв за допомогою кабелю. За допомогою USB Configurator ми можемо визначити, який режим USB ми хочемо використовувати, наприклад, Device (пристрій), Host (господар) або OTG (On-The-Go), які класи USB ми хочемо підтримувати, наприклад, CDC (Communication Device Class), HID (Human Interface Device) або MSC (Mass Storage Class), як ми хочемо ідентифікувати наш пристрій за допомогою VID (Vendor ID) і PID (Product ID) тощо.
Це лише деякі з утиліт, які має ModusToolbox 3.1. Якщо ви хочете детальніше дізнатися про них, ви можете переглянути документацію ModusToolbox 3.1 або приклади коду, які можна завантажити за допомогою Infineon Developer Center launcher.
Це все, що я хотів сказати про ModusToolbox 3.1 в цій статті. Я сподіваюся, що вам сподобалось і вам стало цікаво спробувати це середовище для розробки вбудованих систем. Якщо у вас є питання або коментарі, будь ласка, пишіть їх у коментарях під цією статтєю. Я буду радий вам відповісти. Дякую за перегляд і до нових зустрічей!