MCStudio

Материал из WIKI ELVEES
(перенаправлено с «База знаний техподдержки/MCStudio»)

Демо-версия MCStudio 4: https://nc2.elvees.com/index.php/s/RNqJcwp4LwFJrYL

Последний релиз Версия Работа с процессорами
MCStudio 2 Rapas v. 125.7 MCStudio2_DEMO Только симулятор
MCStudio2_ALL 1892ВМ2Я (MC-24), 1892ВМ3Т (MC-12), 1892ВМ5Я (MC-0226), 1892ВМ8Я (MC-24R)
MCStudio2_MC-12 1892ВМ3Т
MCStudio2_MC-24 1892ВМ2Я
MCStudio2_MC-24R 1892ВМ8Я
MCStudio2_MC-0226 1892ВМ5Я
MCStudio 3M 2019.07.18 MCStudio3M_DEMO Только симулятор
MCStudio3M_FULL 1892ВМ7Я (MC-0428), 1892ВМ8Я (MC-24R), 1892ВМ10Я (NVCom-02T), 1892ВМ12Т (MCT-03P), 1892ВМ15Ф (MC30SF6), 1892ВК016 (MCT-04)
MCStudio3M_MC-24R 1892ВМ8Я
MCStudio3M_MC30SF6 1892ВМ15Ф
MCStudio3M_MC-0428 1892ВМ7Я
MCStudio3M_MCT-03P 1892ВМ12Т
MCStudio3M_MCT-04 1892ВК016
MCStudio3M_NVCom-02T 1892ВМ10Я
MCStudio 3A 2019.07.18 MCStudio3A 1892ВМ14Я
MCStudio 4 2023.04_57 MCStudio4_DEMO Только симулятор
MCStudio4_FULL 1892ВМ7Я (MC-0428), 1892ВМ8Я (MC-24R), 1892ВМ10Я (NVCom-02T), 1892ВМ12Т (MCT-03P), 1892ВМ15Ф (MC30SF6), 1892ВМ196 (MCT-05), 1892ВМ206 (MCT-06), 1892ВМ288 (NVCom-05), 1892ВК016 (MCT-04)
MCStudio4_MC-24R 1892ВМ8Я
MCStudio4_MC30SF6 1892ВМ15Ф
MCStudio4_MC-0428 1892ВМ7Я
MCStudio4_MCT-03P 1892ВМ12Т
MCStudio4_MCT-04 1892ВК016
MCStudio4_MCT-05 1892ВМ196
MCStudio4_MCT-06 1892ВМ206
MCStudio4_NVCom-02T 1892ВМ10Я
MCStudio4_NVCom-05 1892ВМ288
2023.04_57 MCStudio4_MCom-02 1892ВМ14Я

Чем различаются MCStudio3M и MCStudio4?

В настоящее время развивается ветка MC Studio4 - она разработана на базе Eclipse. MCStudio 3M не развивается и не поддерживается, но техническая поддержка по не оказывается. Различия можно увидеть на Demo-версиях.

MCStudio 4 предназначена для установки на 64-битных ОС семейства Windows.

Принципиальных отличий три:

1. Различный механизм работы с Си-компилятором для DSP-кластера;

2. Интерфейс пользователя;

3. Набор отладчиков.  

Что такое MCStudio?

MCStudio (MultiCore Studio) – среда разработки и отладки программ для процессоров Мультикор, основанная на интерфейсе Eclipse IDE и использующая GDB-отладчик.

Откуда скачать IDE MCStudio?

Флэш-носитель с актуальной версией MCStudio передаётся при оплате заключённого договора. Также предоставляется ссылка на скачивание обновлений.

Demo-версия – в чём заключаются ограничения?

В Demo-версии MCStudio отсутствует возможность работы с процессором.

Существует ли Demo-версия для 1892ВМ14Я?

Нет, т.к. ввиду сложности микросхемы программный симулятор для неё не разрабатывался.

Каковы ограничения Симулятора в MCStudio?

Нет возможности работать непосредственно с микросхемой.

Можно ли вместо MC-USB-JTAG использовать другие эмуляторы (например, Segger J-Link)?

MCStudio поддерживает только эмулятор MC-USB-JTAG. Работа с другими эмуляторами не гарантируется и нами не проверялась.

Где взять библиотеки для работы с периферией (наподобие HAL)?

Готовых библиотек для взаимодействия с периферией нет. Предполагается, что такие библиотеки пользователи пишут сами исходя из своих задач. Некоторые готовые функции можно взять из примеров программирования, входящих в состав MCStudio.

Почему антивирус ругается на MCStudio?

Это ошибка антивируса. Никакого вредоносного кода в составе MCStudio нет.

MCStudio не видит эмулятор (он определяется как Unknown chip:EZ-USB) в Windows 10. Что делать?

  • Проверьте, к какому порту USB подключён эмулятор. Эмуляторы MC-USB-JTAG могут работать только с портами USB 2.0
  • Проверьте установлен ли драйвер MC-USB-JTAG (группа libusb-win32 devices в диспетчере устройств). Если нет - установите его.
  • Проверьте, запущена ли служба MultiCore JTAG Server. Если служба запущена, попробуйте её перезапустить.
  • Если проблема остаётся, то вероятнее всего вашему компьютеру не подошли драйверы libusb. Такое часто наблюдается у пользователей Windows 10. В этом случае попробуйте установить другой драйвер. Для этого:
    1. Удалите в диспетчере устройств "ELVEES JTAG Device";
    2. Установите драйвер WinUSB на устройство с USB ID : 0x0547 0x1002 через программу zadig (https://zadig.akeo.ie/).

MCStudio не видит подключённую по jtag-интерфейсу плату, ОС Windows 7

  • Удостоверьтесь, что цепочка «плата -> эмулятор USB-JTAG -> служба mjtagsrv -> отладчик» рабочая.
  • Удостоверьтесь, что 32-битная версия Python 2.7 корректно установлена в системе. Если Python установлен, а ошибка не исчезла, попробуйте определить системные переменные PYTHONHOME и PYTHONPATH, и добавьте значение PYTHONHOME в переменную среды PATH. Например, для Windows, если Python установлен в “C:\Python27”, пишется в PYTHONHOME путь к этой директории, а в PYTHONPATH C:\Python27\Lib.После этого перезапустите службу mjtagsrv.
  • В случае, если после этого плата не начнёт определятся, попробуйте установить другой драйвер. Для этого понадобится:
    1. Удалить в диспетчере устройств "ELVEES JTAG Device", оно должно находится в группе "libusb-win32 devices";
    2. Поставить драйвер WinUSB на устройство с USB ID : 0x0547 0x1002 через программу zadig (https://zadig.akeo.ie/).

Возможно ли подключение к симулятору своих dll библиотек, реализующих модели внешних устройств? Есть ли пример в виде готового собранного проекта, кроме части исходников из руководства?

Теоретически это возможно: создать внешнее устройство, вроде порта ввода-вывода, обладающего своими регистрами, блоками памяти и выдающего прерывание. Работать будет и в Windows (DLL) и в Linux (SO). Есть устаревший исходник похожего устройства: https://box.elvees.com/index.php/s/XT72ywFHHZecCB8 Для добавления внешнего устройства в любом случае потребуется отдельный "внешний" конфиг. Для базовых плат все конфиги у нас вшитые в симулятор.

Есть ли возможность объединения нескольких микросхем в JTAG-цепочку для совместной отладки через один физический интерфейс JTAG на плате?

Возможности объединения микросхем в JTAG-цепочку и проведения совместной отладки нет.

Какой компилятор используется в MCStudio для работы с RISC-ядром?

В MCStudio для 1892ВМ14Я используется компилятор GCC 7.3.0.
В MCStudio (версия 69) для процессоров на базе архитектуры MIPS используется компилятор GCC 4.8.1, он поддерживает стандарт С++11. Свежие инструменты mips gcc 12.2, elcore30 clang14 можно скачать по ссылке (поддерживается до С++20): https://nc2.elvees.com/index.php/s/a7MLr8kC3EWzw8P

Список отличий компилятора ЭЛВИСа от стандартного gcc?

В наших тулах идёт обход некоторых errata, плюс особенности загрузки наших плат. Использовать стандартный gcc можно на свой страх и риск.

Можно ли получить симулятор в исходниках?

Симулятор - закрытый проект, исходники не распространяются.

MDB – это сервер для GDB или нет?

MDB – это отдельная утилита для консольной диагностики. mgdbserver – сервер для GDB.

Как вывести отладочную печать из программы, работающей в симуляторе в окно отладчика Debugger Console MCStudio?

В составе GDB есть урезанный ElcoreAPI, который в теории может выводить printf в консоль GDB (не путать с Debugger Console). Это точно работало в Elcore50 студии, но ни разу не проверялось для остальных таргетов.

Как запустить несколько экземпляров MCStudio в режиме симуляторов и организовать их взаимодействие через Ethernet?

В данный момент в симуляторе нет модели Ethernet.

Имеется ли в MCStudio командная строка симулятора (API), чтобы можно было выполнить команду или скрипт во время работы программы?

Не предусмотрено. Все операции через GDB.

Как правильно собрать программу при использовании C/C++?

При разработке на языке C++ для корректной сборки проекта может возникнуть необходимость изменить флаги сборки. Для этого необходимо перейти в свойства .cpp файла, перейти в раздел C/C++ Build.

Пример флагов для компиляции выглядит так:

-O3 -g -Wall -EL -mhard-float -DARCH_HAVE_FPU -Wa,-adhlns="$@.lst",-mfix-mc24r2 -c -fmessage-length=0 -G0 -mips32 -ffixed-k0 -ffixed-k1 -mno-check-zero-division -fno-delayed-branch