Главная Другое
Экономика Финансы Маркетинг Астрономия География Туризм Биология История Информатика Культура Математика Физика Философия Химия Банк Право Военное дело Бухгалтерия Журналистика Спорт Психология Литература Музыка Медицина |
страница 1 В.В. Синицын, С.А. Косырев, В.Ф. Никольский ГУП НПЦ «ЭЛВИС», sectetary@elvees.com Платформа «МУЛЬТИКОР» разработана в ГУП НПЦ «ЭЛВИС» и предназначена для проектирования широкого спектра СБИС для коммерческих, военных и космических применений, которые различаются по вычислительной мощности, стоимости и функциональным возможностям. СБИС платформы «МУЛЬТИКОР» можно отнести к классу «Систем на кристалле» (СнК) [1]. В последние годы СнК получают все более широкое распространение. СнК принципиально отличаются от традиционных специализированных СБИС, как структурой, так и методологией проектирования. В СнК используются Intellectual Property (IP) блоки, которые, в определенной мере, можно считать аналогами готовых электронных компонент. Принципиальная особенность IP-блоков заключается в возможности их повторного использования в других проектах СнК. Этим объясняется их название - IP, т.е. объект интеллектуальной собственности. Примеры IP-блоков:
Фактически, на одном кристалле собираются системы, которые в недалеком прошлом делались на печатной плате [2]. При этом СнК обладает целым рядом преимуществ по сравнению с классическими «Системами на печатной плате»:
Области применения СнК:
Уровень развития инфраструктуры средств, обеспечивающих разработку цифровых систем, является одним из основных критериев выбора элементной базы для реализации алгоритмов цифровой обработки сигналов (ЦОС). Это заставляет фирмы-изготовители ЦСП активно развивать построение комплексов аппаратных и программных средств проектирования и отладки цифровых систем, создающих условия для максимально быстрого и эффективного перехода от алгоритмического решения прикладной задачи к конечному продукту. Именно этой цели и служит среда разработки программного обеспечения для СнК серии «Мультикор» MCStudio_Lnx. Среда разработки MCStudio_Lnx базируется на оценочных комплектах (evaluation board) MC-12EМ и МС-24ЕМ. Основой комплекта MC-12EM является сигнальный микроконтроллер 1892ВМ3Т, а комплекта МС-24ЕМ - сигнальный микроконтроллер 1892ВМ2Т. 1892ВМ2Т и 1892ВМ3Т являются КМОП СБИС, изготовленными по технологии 0.25 мкм. Тактовая частота в нормальных условиях – 100 МГц. Питание 3.3 В. Оба имеют два микропроцессорных ядра (RISC-ядро и ЦСП-ядро): RISC-ядро – это 32-разрядный процессор, архитектурно подобный MIPS32 с аппаратно поддержанными операциями умножения и деления. Включает устройство управления памятью (MMU – Memory Management Unit) на основе полностью ассоциативного буфера преобразования адресов (TLB). ЦСП-ядра серии ELcore™ из IP –библиотеки платформы «МУЛЬТИКОР» разработки НПЦ «ЭЛВИС» – это оригинальные, масштабируемые по SIMD –типу ядра цифровой обработки сигналов с плавающей и фиксированной точкой. В них поддержана аппаратная реализация стандарта плавающей точки IEEE754 [3]. Микросхема сигнального контроллера 1892ВМ3Т имеет ЦСП-ядро Elcore-14™ со скалярной архитектурой (SISD - Single Instruction Single Data), а в микросхеме 1892ВМ2Т использовано расширенное ЦСП-ядро Elcore-24™ с архитектурой 2SIMD (SIMD - Single Instruction Multiple Data). Скалярная архитектура - SISD – это классическая архитектура процессоров, позволяющая за один такт исполнять одну команду с одним или несколькими операндами на одном операционном блоке ЦСП. Векторная архитектура - SIMD – это архитектура процессоров, позволяющая за один такт исполнять одну команду над множеством (вектором) операндов в нескольких операционных блоках ЦСП одновременно. Ядро Elcore-24 (в микросхеме 1892ВМ2Т) – имеет 2SIMD-архитектуру, т.е. одна команда может исполняться над двумя множествами операндов. Фактически, микросхемы 1892ВМ3Т и 1892ВМ2Т отличаются, главным образом, ЦСП-ядрами. Первое имеет SISD-архитектуру, второе 2SIMD-архитектуру, но может работать и в cкалярном режиме (SISD). Еще одна особенность ЦСП-ядра – это процессор с «Гарвардской архитектурой», т.е. имеет раздельные адресные пространства кода и данных. На процессорах 1892ВМ3Т и 1892ВМ2Т имеется внутреннее ОЗУ данных и программ, распределение которых указано в Табл. 1. Таблица 1
Каждый из сигнальных микроконтроллеров имеет по 16 32-разрядных регистров общего назначения, которые могут быть представлены как 32 16-разрядных, а также:
Кроме описанных сигнальных микропроцессоров в состав оценочных комплектов входят:
Для поддержки программных проектов на всех стадиях разработки для нескольких серий чипов на базе платформы «МУЛЬТИКОР» разработана комплексная система проектирования программного обеспечения MCStudio_Lnx (MCS_Lnx) в среде Linux. Среда разработки MCS_Lnx обеспечивает разработчикам полный контроль над созданием, редактированием, компиляцией, компоновкой и отладкой встраиваемых приложений на языках ассемблера и C/C++. Для функционирования системы программирования MCStudio_Lnx рекомендуется компьютер со следующими характеристиками:
При этом должна быть установлена одна из следующих операционных систем:
и рекомендуются следующие версии подсистем:
Система состоит из следующих частей:
Работа IDE MCS_Lnx происходит в ОС Linux и основана на современной технологии Eclipse [4]. Эта незаурядная технология достойна того, чтоб остановиться на ней несколько подробнее. E ![]() Рис. 2. Сеанс отладки в MCStudio_Lnx clipse - независимая от поставщиков открытая платформа разработки. Первоначально это был внутренний проект фирмы IBM, затратившей на разработку более 40 млн долларов. В конце 2001 года IBM открыл исходный код Eclipse и вокруг него был образован специальный совет, призванный обеспечить развитие проекта и создать вокруг него сообщество разработчиков. В настоящий момент в разработке Eclipse, помимо независимых разработчиков, принимают участие ряд крупных фирм, таких как IBM, Oracle, QNX, Red Hat, SuSe, Sybase и многие другие. Проще назвать те крупные фирмы, которые не принимают участия в этом проекте – это Microsoft и Sun. Eclipse – это среда разработки, полностью написанная на Java. Идеология Eclipse представляет собой распространение «принципа микроядра» на новую область применения – программный инструментарий. Основная идея «принципа микроядра» состоит в том, чтобы выделить в системе минимальный функционально полный набор базовых операций, через который можно легко выразить все остальные, и реализовать его в отдельном самостоятельном модуле, вокруг которого строится вся остальная функциональность системы [5]. Главные преимущества такого подхода - быстродействие (потому что элементарные операции выполняются быстро), расширяемость (потому что если базовый набор операций выбран корректно, то на его основе можно реализовать какой угодно алгоритм) и надежность (чем компактнее модуль, тем меньше вероятность ошибки в нем, и тем проще его отлаживать). Таким образом, Eclipse состоит из микроядра и множества подключаемых модулей расширения (plug-ins). Разрабатывая собственные (или дорабатывая существующие) подключаемые модули, можно получать полнофункциональные продукты. Разработка подключаемых модулей расширения поддерживается в Eclipse с помощью PDE (Plug-in Development Environment) [6]. Подключаемые модули расширения так же пишутся на Java. Использование Eclipse позволяет разработчикам и партнерам легко вносить изменения и дополнения, создавая специализированную и гибкую среду разработки, а также упрощает интеграцию программных продуктов от разных поставщиков. Существуют модули расширения для поддержки систем контроля исходных текстов, таких как CVS, VSS, Clear Case, Subversion. Поддержка систем контроля исходных текстов значительно облегчает и упорядочивает совместную командную разработку. Поскольку Eclipse целиком написан на Java и спроектирован таким образом, чтобы быть независимым от платформы, то работает на следующих операционных системах: Windows 98/ME/2000/XP, Linux, QNX, Solaris, AIX, HP-UX, Mac OSX. Перед установкой Eclipse достаточно всего лишь установить JRE (Java Runtime Environment) версии не ниже 1.4.1. Основным средством разработки в MCStudio_Lnx является язык C/C++. Возможность разработки на этом языке поддерживается с помощью CDT (C/C++ Development Tools). Подключаемые модули расширения для CDT были созданы и развиваются корпорацией QNX, широко известной своей одноименной ОСРВ (Операционной Системой Реального Времени). Графические средства пользовательского интерфейса базируются на специальном наборе компонент SWT (Standard Widget Toolkit) и максимально используют средства оконных менеджеров операционной системы (Win32, GTK, Motif), поэтому приложения, построенные на базе SWT, визуально не отличаются от приложений, разработанных специально для конкретной операционной системы. В Eclipse множество элементов пользовательского интерфейса: редакторов (Editors) с подсветкой синтаксиса, видов (Views), использующихся для навигации по иерархическому представлению проекта. Eclipse поддерживает различные виды заметок, которые существенно облегчают работу над крупными проектами: закладки (Bookmarks), задачи (Tasks) (то, что обычно называют TODO), проблемы (Problems). Поддерживается мощная поисковая система для навигации по исходным кодам проектов. После передачи IBM проекта Eclipse в Open Source, данный проект включал лицензию CPL (Common Public License). Отличительной чертой CPL от большинства других лицензий Open Source, например - GPL - GNU General Public License, под которой сделано большинство проектов с открытым кодом, стала возможность использования Eclipse для создания коммерческих продуктов. Лицензия GPL обязывает предоставлять исходный код своих проектов в свободный доступ. Соответственно, это не позволяет вести коммерческую разработку продуктов. Поскольку Eclipse включает лицензию CPL (Common Public License), разрабатываемые модули могут использоваться, при желании, как коммерческие продукты, что исключено для систем с открытым кодом под GPL. Eclipse предоставляет механизм интеграции различных инструментов. Инструменты - это кросс-компиляторы, кросс-ассемблеры, компоновщики (линкеры), библиотекари и ряд вспомогательных утилит. Для MCS_Lnx разработаны инструменты двух типов. В качестве базового инструментария использовалась линейка GNU C/C++. В рамках MCStudio_Lnx этот инструментарий носит название eltools. Второй тип инструментов разработан специально для платформы «Мультикор» фирмой «Интерстрон». Использование линейки инструментов GNU C/C++ - довольно распространенный подход. Проект GNU C/C++ основывается на открытых кодах проекта GNU. Эти коды должным образом дорабатываются, после чего становится возможным использование инструментов с новым типом процессоров. Для RISC-ядра используется кросс-компилятор gcc версии 3.2.2, кросс-ассемблер, компоновщик (линкер), библиотекарь и ряд вспомогательных утилит. Для ЦСП-ядра нет кросс-компилятора, базирующегося на открытых кодах GNU, потому что доработка gcc для этой цели оказалась чересчур сложной. Поэтому, используя инструменты eltools для ядра ЦСП-ядра, можно писать программы лишь на языке ассемблера. В остальном инструменты ЦСП-ядра похожи на инструменты RISC-ядра: кросс-ассемблер, компоновщик, библиотекарь и ряд вспомогательных утилит. Эти утилиты были созданы с помощью доработки пакета binutils, который также доступен в открытых кодах. С ![]() Рис. 3. Сборка проекта с использованием eltools борка происходит с помощью GNU make. Makefile автоматически формируется при создании проекта. Типичный цикл сборки проекта с помощью eltools в MCS_Lnx изображен на Рис. 3. Следует обратить внимание при сборке проектов для «Мультикора» в MCS_Lnx на совместную компоновку кодов для RISC-ядра и ЦСП-ядра. Для этого объектные файлы, получившиеся после ассемблирования и компоновки программ ЦСП-ядра обрабатываются специальной утилитой elcopy. После этого с помощью компоновщика RISC-ядра осуществляется финальная компоновка образа загружаемой программы. Благодаря постобработке с помощью утилиты elcopy ссылки в объектных файлах ЦСП-ядра корректным образом разрешаются при финальной компоновке. П ![]() Рис. 4. Сборка проекта с использованием инструментов «Интерстрон» реимуществом инструментов фирмы «Интерстрон» является единый кросс-компилятор – как для RISC-ядра, так и ЦСП-ядра. Исходный код для разных ядер может находиться в одном файле. При этом секции для разных ядер (RISC и ЦСП) разделяются с помощью директив #pragma. Кроме того, это первый полностью оригинальный C/C++ кросс-компилятор для ЦСП-ядра платформы «МУЛЬТИКОР». Кросс-компилятор имеет несколько режимов оптимизации. Отладочная информация представлена в формате DWARF 3.0. Есть возможность делать ассемблерные вставки в тексте С/С++ программ или использовать ассемблерные файлы. Процесс сборки проекта (см. Рис. 4) теперь ничем не отличается от сборки проекта для обычного одноядерного процессора. С появлением данных инструментов значительно упрощается разработка программного обеспечения для платформы «МУЛЬТИКОР». Средства отладки MCS_Lnx обеспечивает загрузку программ в память симулятора цифрового микроконтроллера; задание точек останова программы по адресу в программе или на строке программы; запуск программы; исполнение программы до точки останова или по шагам, с заходом в вызываемую функцию или с пропуском вызываемых функций; получение сообщений об остановах и завершении программ; чтение данных из памяти симулятора по адресу или символическому имени переменной при остановах программы; чтение данных и запись данных с регистров симулятора чипа и запись данных в память и регистры; формирование протокола действий оператора и прочитываемых данных, использование командного файла для автоматического выполнения операторских действий интерпретатором командного файла. Отладчик автоматически определяет тип процессора при установке точек останова. Чтобы установить или удалить точки останова достаточно открыть в редакторе файл с исходным текстом и сделать двойное нажатие мышкой на левой кромке активного редактора. В качестве отладчика используется GNU отладчик – GDB. Графический отладчик MCStudio_Lnx CDT имеет специальный унифицированный интерфейс для взаимодействия с отладчиками, называемый CDI (C/C++ Debugger Interface). Любой специфический отладчик может быть выполнен как подмножество CDI. С используемым GDB CDI интегрирован с помощью строко-ориентированного текстового интерфейса GDB/MI (MI – Machine Independent). MCStudio может работать одновременно с несколькими оценочными комплектами, при условии использования в IBM PC дополнительных EPP/Printer адаптеров. В последние месяцы ведущие фирмы-изготовители ЦСП и их партнеры стали активно создавать среды разработки для своих процессоров на базе Eclipse. Из этих продуктов можно отметить Code Composer Essentials для платформы Windows 2000/XP от компании Texas Instruments, QNX IDE для платформ QNX/Solaris/Windows от компании QNX, а также WindPower IDE 2 от компании Wind River, которая известна своей специализированной ОСРВ VxWorks. ЛИТЕРАТУРА
Смотрите также: В. В. Синицын, С. А. Косырев, В. Ф. Никольский
125.31kb.
1 стр.
Олег Синицын Астровойны
6368.08kb.
25 стр.
А. Я. Воронов, Д. И. Пионтковский, В. Ю. Синицын
134.52kb.
1 стр.
В. О. Синицын Научное сотрудничество историков России и Польши: казанский опыт
44.2kb.
1 стр.
Никольский алексей борисович
48.77kb.
1 стр.
Тема «Введение» 1
184.17kb.
1 стр.
Первая. История вопроса
26.3kb.
1 стр.
С. Петербург. Февраль, 1892 г. А. Никольский
100.68kb.
1 стр.
С. А. Никольский Глобализация и культура России: классическая
306.72kb.
2 стр.
«методика преподавания истории и обществознания в высшей и средней школе»
68.14kb.
1 стр.
«шедевры санкт-Петербурга» 5 дней (3 дня / 2 ночи)
36.72kb.
1 стр.
А. Ю. Синицын, «Рыцари страны восходящего Солнца», некоторые факты 394.37kb.
3 стр.
|