MCStudio: различия между версиями

Материал из WIKI ELVEES
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
Демо-версия MCStudio 4 - https://nc2.elvees.com/index.php/s/RNqJcwp4LwFJrYL
Демо-версия MCStudio 4: https://nc2.elvees.com/index.php/s/RNqJcwp4LwFJrYL
{| class="wikitable"
{| class="wikitable"
|+
|+
Строка 58: Строка 58:
|1892ВМ14Я
|1892ВМ14Я
|-
|-
| rowspan="11" |MC Studio 4
| rowspan="11" |MCStudio 4
| rowspan="11" |2023.04_57
| rowspan="11" |2023.04_57
|MCStudio4M_DEMO
|MCStudio4M_DEMO
Строка 98: Строка 98:
|1892ВМ14Я
|1892ВМ14Я
|}
|}
'''Чем различаются MCStudio3M и MC Studio4?'''<blockquote>В настоящее время развивается ветка MC Studio4 - она разработана на базе Eclipse. MC Studio 3M не развивается и не поддерживается, но техническая поддержка по не оказывается. Различия можно увидеть на [https://nc2.elvees.com/index.php/s/6zjeDTjNr5x5Np4 Demo-версиях].
'''Чем различаются MCStudio3M и MC Studio4?'''<blockquote>В настоящее время развивается ветка MC Studio4 - она разработана на базе Eclipse. MCStudio 3M не развивается и не поддерживается, но техническая поддержка по не оказывается. Различия можно увидеть на [https://nc2.elvees.com/index.php/s/6zjeDTjNr5x5Np4 Demo-версиях].


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


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


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


3.       Набор отладчиков.  </blockquote>'''Что такое MCStudio?'''
3. Набор отладчиков.  </blockquote>'''Что такое MCStudio?'''
<blockquote>MCStudio (MultiCore Studio) - среда разработки и отладки программ для процессоров Мультикор, основанная на интерфейсе Eclipse IDE и использующая GDB-отладчик.</blockquote>
<blockquote>MCStudio (MultiCore Studio) среда разработки и отладки программ для процессоров Мультикор, основанная на интерфейсе Eclipse IDE и использующая GDB-отладчик.</blockquote>
''' Откуда скачать IDE MCStudio?'''
''' Откуда скачать IDE MCStudio?'''
<blockquote>Флэш-носитель с актуальной версией MCStudio передаётся при оплате заключенного договора. Также предоставляется ссылка на скачивание обновлений.</blockquote>
<blockquote>Флэш-носитель с актуальной версией MCStudio передаётся при оплате заключённого договора. Также предоставляется ссылка на скачивание обновлений.</blockquote>
'''Demo-версия - в чём заключаются ограничения?'''
'''Demo-версия в чём заключаются ограничения?'''
<blockquote>В Demo-версии MCStudio отсутствует возможность работы с процессором.</blockquote>
<blockquote>В Demo-версии MCStudio отсутствует возможность работы с процессором.</blockquote>
'''Существует ли Demo-версия для 1892ВМ14Я?'''
'''Существует ли Demo-версия для 1892ВМ14Я?'''
Строка 116: Строка 116:
'''Каковы ограничения Симулятора в MCStudio?'''
'''Каковы ограничения Симулятора в MCStudio?'''
<blockquote>Нет возможности работать непосредственно с микросхемой.</blockquote>
<blockquote>Нет возможности работать непосредственно с микросхемой.</blockquote>
'''Можно ли вместо MC-USB-JTAG использовать другие эмуляторы (например Segger J-Link)?'''
'''Можно ли вместо MC-USB-JTAG использовать другие эмуляторы (например, Segger J-Link)?'''
<blockquote>MCStudio поддерживает только эмулятор MC-USB-JTAG. Работа с другими эмуляторами не гарантируется и нами не проверялась.</blockquote>
<blockquote>MCStudio поддерживает только эмулятор MC-USB-JTAG. Работа с другими эмуляторами не гарантируется и нами не проверялась.</blockquote>
'''Где взять библиотеки для работы с периферией (наподобие HAL)?'''
'''Где взять библиотеки для работы с периферией (наподобие HAL)?'''
<blockquote>Готовых библиотек для взаимодействия с периферией нет. Предполагается, что такие библиотеки пользователи пишут сами исходя из своих задач.Некоторые готовые функции можно взять из примеров программирования, входящих в состав MCStudio.</blockquote>
<blockquote>Готовых библиотек для взаимодействия с периферией нет. Предполагается, что такие библиотеки пользователи пишут сами исходя из своих задач. Некоторые готовые функции можно взять из примеров программирования, входящих в состав MCStudio.</blockquote>
'''Почему антивирус ругается на MCStudio?'''
'''Почему антивирус ругается на MCStudio?'''
<blockquote>Это ошибка антивируса. Никакого вредоносного кода в составе MCStudio нет.</blockquote>
<blockquote>Это ошибка антивируса. Никакого вредоносного кода в составе MCStudio нет.</blockquote>
'''MCStudio не видит эмулятор (он определяется как Unknown chip:EZ-USB) в Windows 10. Что делать?'''
'''MCStudio не видит эмулятор (он определяется как Unknown chip:EZ-USB) в Windows 10. Что делать?'''
<blockquote>  
<blockquote>  
*Проверьте, к какому порту USB подключен эмулятор. Эмуляторы MC-USB-JTAG могут работать только с портами USB 2.0
*Проверьте, к какому порту USB подключён эмулятор. Эмуляторы MC-USB-JTAG могут работать только с портами USB 2.0
*Проверьте установлен ли драйвер MC-USB-JTAG (группа libusb-win32 devices в диспетчере устройств). Если нет - установите его.
*Проверьте установлен ли драйвер MC-USB-JTAG (группа libusb-win32 devices в диспетчере устройств). Если нет - установите его.
*Проверьте, запущена ли служба MultiCore JTAG Server. Если служба запущена, попробуйте её перезапустить.
*Проверьте, запущена ли служба MultiCore JTAG Server. Если служба запущена, попробуйте её перезапустить.
Строка 131: Строка 131:
*#Установите драйвер WinUSB на устройство с USB ID : 0x0547 0x1002 через программу zadig (<nowiki>https://zadig.akeo.ie/</nowiki>).
*#Установите драйвер WinUSB на устройство с USB ID : 0x0547 0x1002 через программу zadig (<nowiki>https://zadig.akeo.ie/</nowiki>).
</blockquote>
</blockquote>
'''MC Studio не видит подключенную по jtag-интерфейсу плату, ОС Windows 7'''
'''MCStudio не видит подключённую по jtag-интерфейсу плату, ОС Windows 7'''
<blockquote>
<blockquote>
*Удостоверьтесь, что цепочка «плата -&gt; эмулятор USB-JTAG -&gt; служба mjtagsrv -&gt; отладчик» рабочая.
*Удостоверьтесь, что цепочка «плата -&gt; эмулятор USB-JTAG -&gt; служба mjtagsrv -&gt; отладчик» рабочая.
*Удостоверьтесь, что 32-битная версия Python 2.7 корректно установлена в системе. Если Python установлен, а ошибка не исчезла, попробуйте определить системные переменные PYTHONHOME и PYTHONPATH, и добавьте значение PYTHONHOME в переменную среды PATH. Например, для Windows, если Python установлен в “C:\Python27”, пишется в PYTHONHOME путь к этой директории, а в PYTHONPATH C:\Python27\Lib.После этого перезапустите службу mjtagsrv.
*Удостоверьтесь, что 32-битная версия Python 2.7 корректно установлена в системе. Если Python установлен, а ошибка не исчезла, попробуйте определить системные переменные PYTHONHOME и PYTHONPATH, и добавьте значение PYTHONHOME в переменную среды PATH. Например, для Windows, если Python установлен в “C:\Python27”, пишется в PYTHONHOME путь к этой директории, а в PYTHONPATH C:\Python27\Lib.После этого перезапустите службу mjtagsrv.
*В случае, если после этого плата не начнет определятся, попробуйте установить другой драйвер. Для этого понадобится:
*В случае, если после этого плата не начнёт определятся, попробуйте установить другой драйвер. Для этого понадобится:
*#Удалить в диспетчере устройств "ELVEES JTAG Device", оно должно находится в группе "libusb-win32 devices";
*#Удалить в диспетчере устройств "ELVEES JTAG Device", оно должно находится в группе "libusb-win32 devices";
*#Поставить драйвер WinUSB на устройство с USB ID : 0x0547 0x1002 через программу zadig (https://zadig.akeo.ie/).
*#Поставить драйвер WinUSB на устройство с USB ID : 0x0547 0x1002 через программу zadig (https://zadig.akeo.ie/).
</blockquote>
</blockquote>
'''Возможно ли подключение к симулятору своих dll библиотек, реализующих модели внешних устройств? Есть ли пример в виде готового собранного проекта, кроме части исходников из руководства?'''
'''Возможно ли подключение к симулятору своих dll библиотек, реализующих модели внешних устройств? Есть ли пример в виде готового собранного проекта, кроме части исходников из руководства?'''
<blockquote>Теоретически это возможно: создать внешнее устройство, вроде порта ввода-вывода, обладающего своими регистрами, блоками памяти и выдающего прерывание.Работать будет и в Windows (DLL) и в Linux (SO).Есть устаревший исходник похожего устройства: https://box.elvees.com/index.php/s/XT72ywFHHZecCB8 Для добавления внешнего устройства в любом случае потребуется отдельный "внешний" конфиг. Для базовых плат все конфиги у нас вшитые в симулятор.</blockquote>
<blockquote>Теоретически это возможно: создать внешнее устройство, вроде порта ввода-вывода, обладающего своими регистрами, блоками памяти и выдающего прерывание. Работать будет и в Windows (DLL) и в Linux (SO). Есть устаревший исходник похожего устройства: https://box.elvees.com/index.php/s/XT72ywFHHZecCB8 Для добавления внешнего устройства в любом случае потребуется отдельный "внешний" конфиг. Для базовых плат все конфиги у нас вшитые в симулятор.</blockquote>
'''Есть ли возможность объединения нескольких микросхем в JTAG-цепочку для совместной отладки через один физический интерфейс JTAG на плате?'''
'''Есть ли возможность объединения нескольких микросхем в JTAG-цепочку для совместной отладки через один физический интерфейс JTAG на плате?'''
<blockquote>Возможности объединения микросхем в JTAG-цепочку и проведения совместной отладки нет.</blockquote>
<blockquote>Возможности объединения микросхем в JTAG-цепочку и проведения совместной отладки нет.</blockquote>
Строка 148: Строка 148:


'''Список отличий компилятора Элвис от стандартного gcc?'''
'''Список отличий компилятора Элвис от стандартного gcc?'''
<blockquote>В наших тулах идет обход некоторых errata, плюс особенности загрузки наших плат. Использовать стандартный gcc можно на свой страх и риск.</blockquote>
<blockquote>В наших тулах идёт обход некоторых errata, плюс особенности загрузки наших плат. Использовать стандартный gcc можно на свой страх и риск.</blockquote>
'''Можно ли получить симулятор в исходниках?'''
'''Можно ли получить симулятор в исходниках?'''
<blockquote>Симулятор - закрытый проект, исходники не распространяются.</blockquote>
<blockquote>Симулятор - закрытый проект, исходники не распространяются.</blockquote>
'''MDB – это сервер для GDB или нет?'''
'''MDB – это сервер для GDB или нет?'''
<blockquote>MDB - это отдельная утилита для консольной диагностики. mgdbserver – сервер для GDB.</blockquote>
<blockquote>MDB это отдельная утилита для консольной диагностики. mgdbserver – сервер для GDB.</blockquote>


'''Как вывести отладочную печать из программы, работающей в симуляторе в окно отладчика Debugger Console MC Studio?'''
'''Как вывести отладочную печать из программы, работающей в симуляторе в окно отладчика Debugger Console MCStudio?'''
<blockquote>В составе GDB есть урезанный ElcoreAPI, который в теории может выводить printf в консоль GDB (не путать с Debugger Console). Это точно работало в Elcore50 студии, но ни разу не проверялось для остальных таргетов.</blockquote>
<blockquote>В составе GDB есть урезанный ElcoreAPI, который в теории может выводить printf в консоль GDB (не путать с Debugger Console). Это точно работало в Elcore50 студии, но ни разу не проверялось для остальных таргетов.</blockquote>


'''Как запустить несколько экземпляров MC Studio в режиме симуляторов и организовать их взаимодействие через Ethernet?'''
'''Как запустить несколько экземпляров MCStudio в режиме симуляторов и организовать их взаимодействие через Ethernet?'''
<blockquote>В данный момент в симуляторе нет модели Ethernet.</blockquote>
<blockquote>В данный момент в симуляторе нет модели Ethernet.</blockquote>


'''Имеется ли в MC Studio командная строка симулятора (API), чтобы можно было выполнить команду или скрипт во время работы программы?'''
'''Имеется ли в MCStudio командная строка симулятора (API), чтобы можно было выполнить команду или скрипт во время работы программы?'''
<blockquote>Не предусмотрено. Все операции через GDB.</blockquote>
<blockquote>Не предусмотрено. Все операции через GDB.</blockquote>

Версия от 11:44, 26 июля 2023

Демо-версия 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 MCStudio4M_DEMO Только симулятор
MCStudio4M_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)
MCStudio4M_MC-24R 1892ВМ8Я
MCStudio4M_MC30SF6 1892ВМ15Ф
MCStudio4M_MC-0428 1892ВМ7Я
MCStudio4M_MCT-03P 1892ВМ12Т
MCStudio4M_MCT-04 1892ВК016
MCStudio4M_MCT-05 1892ВМ196
MCStudio4M_MCT-06 1892ВМ206
MCStudio4M_NVCom-02T 1892ВМ10Я
MCStudio4M_NVCom-05 1892ВМ288
MCStudio 4A 2023.04_57 MCStudio4A_MCom-02 1892ВМ14Я

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

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

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

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 для процессоров на базе архитектуры MIPS используется компилятор GCC 4.8.1, он поддерживает стандарт С++11. Также у нас распространяется toolchain, в его составе компилятор gcc 11.2.0 – поддерживается до С++20.

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

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

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

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

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

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

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

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

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

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

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

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