В рамках вебинара «Быстрый старт микроконтроллера BE-U1000 в среде VS Code», проведённого совместно с Байкал Электроникс и Теллур Электроникс, участники обсудили практические вопросы разработки на базе российского микроконтроллера BE-U1000.
Инженеры и разработчики задали вопросы, связанные с архитектурой микроконтроллера, инструментами разработки, отладкой, памятью, интерфейсами и возможностями применения устройства в различных системах.
Запись вебинара и презентационные материалы доступны на сайте компании Теллур Электроникс.
Ниже приведены ответы на наиболее актуальные вопросы участников.
Интерфейсы и периферия BE-U1000
Поддерживает ли BE-U1000 CAN 2.0 или только CAN FD?
Ответ: Контроллер соответствует ГОСТ Р ИСО 11898-1-2015 и обеспечивает аппаратную поддержку классических CAN-фреймов, в том числе и таковые протокола CAN 2.0b.
Планируется ли выпуск IDE для программирования контроллеров Baikal? Будет ли расширение для Visual Studio Code?
Ответ: Для разработки и отладки ПО микроконтроллера BE-U1000 доступны два варианта:
- Основной рекомендованный редактор — Visual Studio Code. (Подробная инструкция по настройке и применению VS Code для работы с BE-U1000 описана в AppNote "Работа с Visual Studio Code")
- Tinplate IDE, реализованная компанией ArSysOp.
Есть ли в BE-U1000 встроенный MAC-контроллер для работы с Ethernet?
Ответ: В микроконтроллере BE-U1000 встроенного MAC-контроллера нет. Для работы с Ethernet используется внешний контроллер W5500, который реализует стек протоколов TCP/IP, физический (PHY) и канальный уровни Ethernet 10Base-T/100Base-TX.
Планируется ли добавление MAC-контроллера в будущих ревизиях микроконтроллера?
Ответ: Нет.
С каким входным напряжением от датчиков могут работать каналы АЦП?
Ответ: Каналы АЦП работают в диапазоне от VREF- до VREF+.
В BE-U1000:
- VREF- = 0 В;
- VREF+ = VDDA_ADC (аналоговое питание АЦП).
Таким образом, входные сигналы датчиков могут находиться в диапазоне от 0 В до VDDA_ADC (обычно 3,0–3,6 В, типично 3,3 В).
Отладка и прошивка
Зачем нужен JTAG-разъём на плате, если прошивка выполняется через USB?
Ответ: JTAG используется не только для загрузки прошивок. Если по каким-либо причинам не подходит JTAG через FTDI на плате, предусмотрен разъём для подключения внешнего программатора.
Драйвер для JTAG FTDI заменяли с помощью утилиты Zadig?
Ответ: Да. Плату EVU-BA-2.5 есть возможность прошить через FTDI, подключенный к PA[0]...PA[4].
Можно ли использовать другие отладчики?
Ответ: Помимо внутреннего отладчика платы EVU-BA, реализованного на микросхеме FT2232; поддержаны:
- Внешний отладчик Olimex ARM-USB-OCD-H;
- Внешний отладчик SEGGER J-Link версии 9 и выше.
Управление двигателями
Какие двигатели можно подключать при использовании BE-U1000? Можно ли управлять асинхронным трёхфазным двигателем?
Ответ: В первую очередь речь идёт о бесщёточных двигателях (BLDC).
Также возможно управление:
- шаговыми двигателями;
- асинхронными двигателями.
Для трёхфазных двигателей возможно подключение до 4 двигателей.
Архитектура памяти
Как организован доступ к памяти BE-U1000? Используется ли кеширование страниц?
Ответ: В зависимости от области памяти:
- к TCM-памяти ядро обращается за 1 такт;
- доступ к SRAM и EFLASH занимает некоторое время;
- инструкции, считываемые из EFLASH, кешируются.
Размер кеша — 32 КБ.
Может ли каждое ядро обращаться только к своему TCM RAM?
Ответ: TCM-память состоит из двух банков TCM. Это двухпортовая память, к которой имеют доступ оба ядра. Третье ядро имеет собственную TCM-память, к которой также имеют доступ все ядра.
SDK и инструменты разработки
Есть ли примеры проектов на C++?
Ответ: Примеров на C++ не планируется. В планах сделать более полную поддержку C++ в сборочной системе (компилятор, сборочные скрипты и т.д.), чтобы пользователям было удобнее собирать свои проекты на C++
Можно ли добавлять собственные linker script?
Ответ: Да, есть возможность добавлять свои linker script.
Поддерживается ли STL в SDK BE-U1000?
Ответ: В SDK для BE-U1000 поддержка STL (стандартной библиотеки шаблонов) не встроена в toolchain по умолчанию.
Планируется ли SDK для macOS?
Ответ: Не планируется
Zephyr и Linux
Планируется ли поддержка Zephyr и подготовка device tree компонентов для периферии?
Ответ: Да
Сборка Linux тестировалась только на форке Ubuntu?
Ответ: Тестировалась на нескольких версиях Linux Mint, Ubunt Arch Linux.
Вопросы участников показали высокий интерес инженерного сообщества к практическому применению BE-U1000.
Основные направления, которые вызвали наибольший интерес:
- программная экосистема и SDK;
- отладка и инструменты разработки;
- работа с памятью;
- CAN/Ethernet-интерфейсы;
- применение микроконтроллера в системах управления.
АО «РАДИАНТ-ЭК» продолжает развивать направление поставок и технической поддержки современных электронных компонентов и решений для разработчиков.
