ПО для разработки
Где в 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