неділю, 6 серпня 2023 р.

Огляд Device Configurator в складі ModusToolbox від компанії Infineon

Передмова

Я радий, що ви зацікавилися ModusToolbox 3.1 від компанії Infineon і хочете дізнатися більше про Device Configurator - одну з утиліт, яка входить до складу цього середовища. Я можу допомогти вам з цим, адже я в цьому вже розібрався і я знімаю відео про різні теми, пов’язані з розробкою вбудованих систем. Мій канал на Youtube. Я також пишу статті про мікроконтролери, які можна прочитати на  цьому блозі і на іншому моєму сайті [STM32 without fear].

У цій статті я хочу розповісти вам про Device Configurator - утиліту, яка дозволяє налаштовувати параметри мікроконтролера, такі як GPIO, UART, SPI тощо. Я також хочу показати вам, як використовувати Device Configurator для створення і редагування проекту за допомогою ModusToolbox 3.1.

Device Configurator

Device Configurator - це графічний інтерфейс, який надає доступ до всіх налаштувань мікроконтролера, який ви обрали для свого проекту. Ви можете запустити Device Configurator з меню Quick Panel:

Виклик Device Configurator для поточного проекту

  1. Вкладка "Project Explorer",
  2. Ваш проект має бути обраним,
  3. Вкладка панелі швидкого доступу "Quick Panel"
  4. Виклик Device Configurator

Або з контекстного меню вашого проекту:

Виклик Device Configurator із контекстного меню проекту

  1. Права кнопка миші на вашому проекті,
  2. Меню "ModusToolbox"
  3. Виклик "Device Configurator"

Коли ви запускаєте Device Configurator, ви можете бачити такі різні вкладки, які мають різну функціональність:

  • Peripheral - ця вкладка дозволяє включати або виключати периферійні пристрої мікроконтролера, такі як UART, SPI, I2C тощо. Ви також можете налаштовувати параметри кожного периферійного пристрою, такі як швидкість передачі даних, режим роботи, кількість біт тощо.

Device Configurator вкладка Peripheral
  • Pins - ця вкладка дозволяє підключати периферійні пристрої до GPIO (General Purpose Input/Output) - це універсальні контакти мікроконтролера, які можуть слугувати для введення або виведення сигналу. Ви також можете налаштовувати параметри кожного GPIO, такі як напруга, напрямок, опор або пул-ап/пул-даун резистор тощо.

Device Configurator вкладка Pins

  • Analog-Routing - ця вкладка дозволяє побудувати аналоговий сигнальний шлях між периферійними пристроями та GPIO. Ви можете обирати різні компоненти для аналогового сигнального шляху, такі як операційний підсилювач, компаратор, мультиплексор тощо.

Device Configurator вкладка Analog Routing
  • System - ця вкладка дозволяє налаштовувати параметри системи, такі як режим роботи, джерело тактування, частота тактування, обрати потрібні дільники тактування, тощо, для периферії, CPU, RTC.

Device Configurator вкладка System
  • Peripheral-clock - ця вкладка дозволяє налаштовувати параметри годинника для кожного периферійного пристрою. Ви можете обирати різні джерела годинника, такі як IMO (Internal Main Oscillator), ECO (External Crystal Oscillator), WCO (Watch Crystal Oscillator) тощо. Ви також можете налаштовувати частоту годинника і дільник годинника для кожного периферійного пристрою.

Device Configurator вкладка Peripheral Clock

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

Device Configurator вкладка DMA

Одним з корисних функцій Device Configurator є можливість використовувати aliases для GPIO та іншої периферії. Aliases - це символьні назви для GPIO або периферійних пристроїв, які можна використовувати замість числових номерів. Наприклад, ви можете назвати GPIO, який підключений до світлодіода на платі, LED1 або GPIO, який підключений до кнопки на платі, SW1. Це полегшує читання і розуміння коду і схем.

Важливо зауважити, що вкладки периферії на кожному сімействі чипів різні, тому вкладки Device Configurator можуть виглядати по-різному в залежності від обраної платформи. Наприклад, якщо ви обрали плату CY8CKIT-062-WIFI-BT, яка має мікроконтролер PSoC6, то ви будете мати такі вкладки периферії, як зображено вище.

Це все, що я хотів сказати про Device Configurator у цій статті. Я сподіваюся, що вам сподобалось і вам стало цікаво спробувати цю утиліту для налаштування мікроконтролера. Якщо у вас є питання або коментарі, будь ласка, пишіть їх у коментарях під статтею. Я буду радий вам відповісти. Дякую за читання і до нових зустрічей!

Відео матеріали





неділю, 23 липня 2023 р.

Огляд ModusToolbox 3.1 від компанії Infineon

 Передмова

Радіймо друзі з вами Андрій і в цій статті ми поговоримо про нову версію 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.

BSP Assistant

Тепер, коли ми ознайомилися з термінологією, давайте створимо наш перший проект за допомогою 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.

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 і як ми хочемо їх калібрувати та тестувати.

CAPSENSE Configurator

  • 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) тощо.

USB configurator

Це лише деякі з утиліт, які має ModusToolbox 3.1. Якщо ви хочете детальніше дізнатися про них, ви можете переглянути документацію ModusToolbox 3.1 або приклади коду, які можна завантажити за допомогою Infineon Developer Center launcher.

Це все, що я хотів сказати про ModusToolbox 3.1 в цій статті. Я сподіваюся, що вам сподобалось і вам стало цікаво спробувати це середовище для розробки вбудованих систем. Якщо у вас є питання або коментарі, будь ласка, пишіть їх у коментарях під цією статтєю. Я буду радий вам відповісти. Дякую за перегляд і до нових зустрічей!

Відео матеріали