Кросс-средства разработки программ NeuroMatrix® 1879ВМх
Кросс-средства разработки программ NeuroMatrix® 1879ВМх для платформы Win32 версии 2.0 (БПО NeuroMatrix® 1879ВМх в.2.0 (NM SDK v.2.0)) обеспечивают полный цикл разработки и отладки прикладных программ, позволяют разрабатывать прикладные программы на языке С++ и на языке ассемблера.
В состав кросс-средств разработки программ NeuroMatrix® 1879ВМх в.2.0 входят:
Пользователь имеет возможность транслировать программы на языке С++ в программы на языке ассемблера, транслировать ассемблерные программы в объектные файлы, собирать из объектных файлов библиотеки объектных файлов, создавать исполнимые файлы путем объединения нескольких объектных файлов.
Разработанный язык ассемблера имеет интуитивный синтаксис, приближающийся к языкам высокого уровня, что упрощает разработку программ и их чтение.
Минимальные требования к аппаратуре
- объем оперативной памяти - 8 Мб (минимальное требование для работы Windows95),
- наличие на компьютере установленной операционной системы Win32,
- не менее 20 Мб свободного дискового пространства.
Интерфейс компонент
Кросс-средства разработки программ NeuroMatrix® 1879ВМх в.2.0 предназначены для работы в качестве консольных приложений системы Win32. Программы кросс-средств разработки программ NeuroMatrix® 1879ВМх в.2.0 работают полностью в 32-х битном режиме. Размер памяти, требуемой для работы компонент, зависит от размеров обрабатываемых файлов.
Все компоненты, за исключением символьного отладчика имеют интерфейс командной строки. Сообщения об ошибках выдаются в едином формате. Каждая компонента (за исключением символьного отладчика) в качестве кода возврата выдает число ошибок в процессе обработки входных данных.
Символьный отладчик взаимодействует с пользователем в диалоговом режиме в многооконной графической среде.
Компилятор С++
Компилятор С++ поддерживает определение языка С++, описанное в предварительном стандарте ANSI X3J16/95-0029 за исключением шаблонов. В комплект компилятора входит программная оболочка (драйвер компонентов), которая позволяет пользователю исполнять все шаги трансляции программы в исполняемый код для процессора с помощью одной команды. К ограничениям, налагаемым отсутствием операционной системы, относятся файловый ввод-вывод, функции локализации и работы с датой/временем, обработки сигналов операционной системы, а также функции взаимодействия с ОС.
Оптимизирующий компилятор С++
Оптимизирующий компилятор С++ является новым компонентом в кросс-средствах разработки программ NeuroMatrix® 1879ВМx в.2.0 (по сравнению с предыдущими версиями). Это полноценный компилятор, транслирующий С/С++ программы в исходные тексты на языке ассемблера. Ассемблерный код имеет интуитивно-понятный синтаксис, приближающийся к языку высокого уровня, что значительно упрощает разработку и документирование комплексного прикладного программного обеспечения в системах реального времени.
Основные отличия оптимизирующего компилятора:
- более строгое следование стандарту С++ (ISO/IEC 14882:1998), включая шаблоны;
- усовершенствованные алгоритмы оптимизации, позволяющие уменьшить время исполнения программы и сократить размер исполняемого кода.
Новый оптимизирующий компилятор имеет интерфейс командной строки и может запускается на исполнение при помощи драйвера компонентов вместо компилятора С++. Поддержка оптимизирующего компилятора добавлена в остальные компоненты кросс-средств разработки программ NeuroMatrix® 1879ВМх в.2.0.
Ассемблер
Ассемблер представляет собой программное средство, предназначенное для трансляции исходных текстов программ на языке ассемблера в объектные файлы формата ELF.
Язык ассемблера содержит макрокоманды и команды условной компиляции.
Ассемблер позволяет получить объектный код из программы на языке ассемблера, а также листинг ассемблерной программы и листинг перекрестных ссылок.
Ассемблер позволяет собирать библиотеки макросов, расширять их за счет добавления в нее новых макросов.
Отладочная информация, порождаемая компилятором С++ в виде специальных отладочных директив ассемблера, сохраняется ассемблером в формате DWARF.
Редактор связей
При обработке входных объектных файлов, редактор связей выполняет следующие функции:
- объединяет секции с одинаковыми именами и создает для них собственные таблицы перемещений, необходимые для перенастройки ссылок на конкретную конфигурацию памяти процессора семейства NeuroMatrix® 1879ВМx,
- в процессе построения исполняемых файлов с настройкой на конкретную конфигурацию процессора семейства NeuroMatrix® 1879ВМx вычисляет адреса символов и секций, настраивает все ссылки, хранящиеся в таблицах перемещений,
- объединяет загружаемые секции в программные сегменты для ускорения и упрощения загрузки программы в память процессора семейства NeuroMatrix® 1879ВМx,
- разрешает неопределенные внешние ссылки между входными файлами,
- дает возможность удалять из выходного файла неиспользуемые программой секции и символы, а также отладочную информацию,
- выдает информацию о найденных в процессе редактирования связей ошибках.
Редактор связей поддерживает различные варианты конфигурации памяти процессора семейства NeuroMatrix® 1879ВМx. Для этих целей разработан С-подобный язык, с помощью которого в специальном файле, называемом файлом конфигурации, описываются диапазоны рабочих адресов процессора семейства NeuroMatrix® 1879ВМx, задаются адреса загрузки программных сегментов, распределение загружаемых секций по сегментам, их взаимное расположение.
Программный эмулятор
Программный эмулятор представлен в двух вариантах: эмулятор на уровне инструкций и точный эмулятор. Оба варианта представляют собой консольные приложения.
Эмулятор на уровне инструкций
Основное назначение эмулятора на уровне инструкций состоит в моделировании результатов выполнения пользовательских программ на процессоре семейства NeuroMatrix® 1879ВМx.
Точный эмулятор
Точный эмулятор позволяет получать следующую информацию о исполнении программы на процессоре семейства NeuroMatrix® 1879ВМx:
- состояние шин на каждом такте работы процессора семейства NeuroMatrix® 1879ВМx по обеим шинам;
- блокировки при выполнении команд и обращениях к памяти;
- статистику о количестве тактов, затрачиваемых на выполнение программы (учитываются все типы блокировок);
- статистику о количестве исполненных команд;
- количество пустых команд в левой, правой частях команды, количество пустых команд, отношение количества пустых команд к общему количеству команд задачи.
Точный эмулятор предоставляет разработчику все данные, необходимые для оптимизации прикладных программ.
Многоцелевой подключаемый отладчик
Многоцелевой подключаемый отладчик имеет оконный графический интерфейс в среде Win32, позволяет отлаживать программы, используя библиотеку эмулятора на уровне инструкций или реальный процессор семейства NeuroMatrix® 1879ВМx, расположенный на плате.
Для отладки программ на реальном процессоре семейства NeuroMatrix® 1879ВМx используется специальный отладочный монитор, расположенный в памяти процессора и по прерываниям с инструментальной машины осуществляющий те или иные отладочные действия, такие как просмотр и модификация содержимого памяти, чтение и модификация регистров, установка и снятие точек останова по различным условиям.
Многоцелевой подключаемый отладчик позволяет отлаживать на уровне исходных текстов прикладные программы, написанные на языке С++ или на ассемблере. При отладке на С++ имеется возможность просмотра значений, принимаемых в каждый момент времени теми или иными переменными, стека вызовов функций.
Полезной особенностью м ногоцелевого подключаемого отладчика является визуализация работы векторного процессора. Пользователь имеет возможность увидеть текущую конфигурацию рабочей и теневой матриц, содержимое их ячеек, просмотреть содержимое внутренних буферов, хранящее входные данные и результаты работы векторного процессора. Все эти возможности, недоступные при работе с реальным процессором, появились благодаря моделированию его работы на программном эмуляторе.
Библиотекарь объектных файлов
Библиотекарь объектных файлов является вспомогательным средством в комплексе кросс-средств разработки программ процессора семейства NeuroMatrix® 1879ВМx. Данная программа предназначена для создания и работы с библиотеками объектных файлов формата ELF.
При создании библиотеки библиотекарь формирует общую таблицу глобальных символов всех файлов, составляющих ее. В этой таблице представлены символы и место их определения. Поэтому редактор связей при обращении к библиотеке быстро находит файл, в котором определен искомый символ.
Библиотекарь позволяет осуществлять следующие операции:
- создавать библиотеки;
- добавлять и удалять файлы;
- замещать старые файлы более новыми копиями;
- просматривать содержимое библиотек.
Набор системных и прикладных библиотек
В кросс-средства разработки программ процессора семейства NeuroMatrix® 1879ВМх в.2.0входит подмножество стандартной библиотеки языка С, в которое не входят функции ввода/вывода, функции поддержки файловой системы.
Из специализированных библиотек разработаны библиотеки управления работой таймеров, обработки прерываний, работы с коммуникационными портами.
Библиотека работы с коммуникационными портами позволяет управлять DMA-сопроцессорами и осуществлять их инициализацию как по приему первого слова, так и по структуре.
Особое место среди библиотек занимает библиотека векторно-матричных вычислений. Ее наличие определяет эффективность программирования задач на процессоре семейства NeuroMatrix® 1879ВМx. В настоящий момент библиотека включена в состав кросс-средств как функциональный пример.
Вы имеете возможность бесплатно загрузить demo-версию БПО v.1.21, которая включает в себя:
- компилятор и средства отладки программ;
- документацию, описывающую язык ассемблера и устройство процессора;
- примеры программ с подробными комментариями.
Перед загрузкой demo-версии БПО v.1.21, заполните, пожалуйста, небольшую регистрационную форму для того, чтобы впоследствии мы могли извещать Вас о новых документах и программах для Л1879ВМ1 (NM6403), которые будут появляться в данном разделе нашего сайта.
В том случае, если Вы не заинтересованы в своевременном предоставлении данной информации, Вы имеете возможность загрузить demo-версию БПО v.1.21 без процедуры регистрации.
Кроме того, для ознакомления, Вам предлагаются:
В случае возникновения различных вопросов по БПО и документации, в т.ч. и при обнаружении ошибок, пожалуйста, обращайтесь к нам по адресу nm-support @ module.ru.
|