Перейти к основному содержимому

ПО для разработки

Где в MCStudio посмотреть примеры проектов?

Help → MultiCore Studio

MCStudio и MDB не видит подключенный модуль.

Нужно удостовериться, что цепочка «плата → эмулятор USB-JTAG → служба mjtagsrv → отладчик» рабочая. Нужно определить переменные окружения PYTHONHOME и PYTHONPATH, и добавить значение PYTHONHOME в переменную среды PATH.

set PYTHONHOME=c:\Python27
set PYTHONPATH=c:\Python27\Lib

Затем перезапустить службу mjtagsrv. Если плата все еще не определяется - нужно установить другой драйвер:

  • Удалить в диспетчере устройств ELVEES JTAG Device, оно должно находится в группе "libusb-win32 devices";
  • Поставить драйвер WinUSB на устройство с USB ID : 0x0547 0x1002 через программу zadig https://zadig.akeo.ie/.

Рекомендуем в папке mcstudio создать скрипт с следующим содержимым:

@echo off
setlocal
set PYTHONHOME=%cd%\Python27
set PYTHONPATH=%cd%\Python27\Lib
set PATH=%PYTHONHOME%;%PATH%
IF /I "%1" == "mcs" (
MCS.exe
) ELSE (
IF /I "%1" == "mdb" (
.\GDB\bin\mdb.exe
) ELSE (
echo Usage:
echo run.bat mdb - run mdb
echo run.bat mcs - run MCStudio
) )
endlocal

Для корректного запуска использовать скрипт:

.\run.bat {mdb|mcs}

Можно ли для DSP ядер писать код на C?

Да, это возможно. Для этого Вам необходимо создать отдельный проект для DSP-ядра в виде библиотеки (File → New → Project…).В проекте есть два файла (func1.s и func2.c) в которых реализуется необходимый код.

В основном проекте для ARM-ядра необходимо указать добавленную библиотеку в DSP Linker и объявить используемые функции с ключевым словом extern. Данные функции можно вызывать инструкцией JS, дописав dsp0__ или dsp1__ перед именем функции:

Start_DSP0:
JS dsp0__test_calc

Ядро для исполнения выбирается тем, в регистры для какого ядра записывается указатель на функцию вызова.

Возможна ли отладка FreeRTOS на ЭЛ24ОМ1 при помощи J-Link или ST-Link?

Отладка при помощи J-Link или ST-Link не поддерживается. Для отладки рекомендуется использовать эмулятор MC-USB-JTAG.

При подключении к терминалу UART символы отображаются некорректно

Проверьте скорость передачи, которую вы выставляете. Она должна быть равна 115200.

Где найти примеры работы с Ethernet для процессора 1892ВМ206 в MCSudio?

Для среды разработки MCStudio примеры и библиотеки для работы с Ethernet нами не разрабатывались. Нами предоставляется сборка Linux в которую входит драйвер Ethernet. Вы можете взять пример настройки и работы из исходников драйвера.

1892ВМ16Т, 1892ВМ17Ф, 1892ВМ18Ф. Поддерживаются ли они в MCStudio?

ЭЛВИС является контрактным разработчиком этих микросхем. На настоящий момент работы сданы, и мы не имеем актуальных данных и юридических прав на поддержку, консультации, выпуск ПО. Производителем является АО "Микрон". Таким образом, по вопросам рекламаций, за примерами кода и схемотехники следует обращаться к производителю.

подсказка

Рекомендуем рассмотреть микросхемы АО НПЦ "ЭЛВИС", например 1892ВМ8Я, 1892ВМ12АТ и другие, в зависимости от Ваших задач. Предоставляем полную поддержку, документацию, ПО, примеры работы.

Где взять библиотеки для работы с периферией (наподобие 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. В этом случае попробуйте установить другой драйвер. Для этого:
    • Удалите в диспетчере устройств "ELVEES JTAG Device";
    • Установите драйвер 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-цепочку и проведения совместной отладки нет.

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

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

Как запустить несколько экземпляров 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