
- •Прикладное программирование в информационно-навигационных системах
- •1.2 Направления повышения производительности (vliw, simd)
- •2.1 Цсп фирмы Texas Instruments. Семейства, области применения, особенности архитектуры.
- •2.2 Цифровой сигнальный контроллер tms320f28335
- •2.2.1 Основные параметры и характеристики
- •2.2.2 Краткое описание основных узлов и блоков
- •3.1 Вход/выходы общего назначения
- •3.2 Таймеры cpu
- •3.3 Внешний интерфейс
- •3.4 Прямой доступ к памяти
- •3.5 Система тактирования
- •3.6 Система прерываний
- •4.1 Модуль eQep квадратурного датчика (Encoder)
- •4.2 Модуль eCap захвата внешних событий (Capture)
- •4.3 Модуль ePwm широтно-импульсной модуляции
- •4.4 Модуль hrpwm широтно-импульсной модуляции с повышенным разрешением
- •4.5 Аналого-цифровой преобразователь adc
- •5.1 Модуль spi последовательного периферийного интерфейса
- •5.2 Модуль i2c межмикросхемного последовательного интерфейса
- •5.3 Модуль sci последовательного коммуникационного интерфейса
- •5.4 Модуль McBsp многоканального буферированного последовательного порта
- •5.5 Модуль can интерфейса
- •6.1.Интегрированная среда разработки и отладки программного обеспечения – общие понятия
- •6.2.Code Composer Studio ide (ccs): состав, общая характеристика
- •6.3 Настройка (Target and Host Setup), интерфейс пользователя
- •7.1 Конфигурация проекта
- •7.2 Текстовый редактор
- •7.3 Инструменты для создания программы
- •7.4 Построение проекта в ccs
- •7.5 Базовое программное обеспечение
- •8.1 Конфигурирование среды для отладки
- •8.2 Основные инструменты отладки
- •8.3 Отладка в реальном времени
- •8.4 Опции Reset
- •9.1 Анализ и оптимизация программы
- •9.2 Оптимизация прикладной программы
- •10.2 Примеры программ
- •10.3 Порядок внедрения заголовочных файлов и примеров программ
- •10.4 Использование matlab и LabView для подготовки и тестирования программ.
- •10.5 Аппаратная платформа для выполнения лабораторных работ tms320c2000 dsc Experimenter Kit. Назначение, устройство, особенности работы»
6.2.Code Composer Studio ide (ccs): состав, общая характеристика
CCS– интегрированная среда программирования дляDSPи микроконтроллеров фирмыTI, объединяющая комплекс инструментальных средств для поддержки процесса на всех стадиях разработки. Включает набор средств, обеспечивающих процесс разработки программ и их отладки во встраиваемых приложениях. В этот набор входят:
- среда разработки проекта;
- дебаггер;
- профайлер;
- симулятор и др.
CCSобеспечивает единый интерфейс пользователя для всех этапов работы.
Среда разработки проекта - редактор языка программирования (как С/С++, так и ассемблера), менеджер проекта, эффективный компилятор, позволяющий во многих случаях не прибегать к ассемблеру, и библиотеку, в которой можно также накапливать собственные подпрограммы.
Дебаггер – отладчик, обеспечивающий отладку в том числе на языке С/С++, многооконное отображение, позволяющее отслеживать значение выбранных переменных, и символьный поиск; приспособлен для работы с DSP, имеет улучшенную систему точек останова. Точки останова условные или аппаратные, базируются на полных выражениях С, локальных переменных или регистрах. Окно памяти позволяет инспектировать все уровни памяти, что позволяет оценить когерентность кэшированных данных. Поддерживает отладку сложных систем с несколькими процессорами или ядрами. Глобальные точки останова и синхронные операции обеспечивают управление всеми процессорами или ядрами.
Профайлер – интерактивный, облегчает оценку качества программного кода. Профайлер позволяет легко профилировать все функции С/С++ при их применении в циклах или в других событиях, таких как ветвление, заполнение конвейера и КЭШа. Ранжирование позволяет при оптимизации сосредоточить усилия на часто используемых участках кода, помогая разработчику в тонкой подстройке программы. Профилирование доступно на всех этапах разработки программы для частей кода, написанных на языках ассемблера, С и С++.
Некоторые задачи при отладке требуют запуска на часы и даже дни без участия разработчика. CCSподдерживает функции автоматического перезапуска задач при тестировании или оценке качества. Отдельная консоль позволяет писать команды или запускать скрипты не выходя из интегрированной среды.
CCSимеет развитую систему анализа изображений и визуализации графики, обеспечивает графический просмотр переменных и данных на дисплее с автоматическим обновлением, просматривать видеоданные в их натуральном формате.
Компилятор разработан с учетом специфики архитектуры и функции DSPи реализует множество классических и специфических процедур оптимизации, вот лишь некоторые из них: конвейеризация программы, автоинкрементная адресация, аппаратные петли, векторизация. Компилятор оптимизирует программу с оценкой ее качества на уровне всего приложения, вырабатывая код таким, как его бы написал на ассемблере разработчик со способностью удержать в поле зрения всю систему. Каждый раз при компиляции программы выдаются конкретные рекомендации по ее оптимизации. Оптимизатор анализирует различные варианты улучшения эффективности программы, выявляя оптимальное соотношение между длиной кода и временем его исполнения.
Оценка времени выполнения отдельных частей программы позволяет облегчить переход от отладки к реальному исполнению программы и выявить влияние зависящих от времени процедур.
Симуляторы позволяют начать разработку программ без аппаратной платформы. CCSвключает несколько вариантов симуляторов, которые позволяют лучше оценить скорость исполнения, точность циклов, симуляцию периферии, одни симуляторы предпочтительны для оценки качества на стандартных тестах, другие для более детальной симуляции системы.
Для эмуляции необходимо подключение к отлаживаемому устройству через внутрисхемный JTAG-эмулятор.
Эмуляция строится на основе развитых аппаратных средств, встроенных в процессоры фирмы TI. Эти средства включают:
- систему пограничного сканирования с помощью JTAG-интерфейса,
- доступ к регистрам и внутренней памяти без нарушения нормальной работы,
- режим реального времени, обеспечивающий отладку программ во взаимодействии с прерываниями, которые не должны быть отключены. Режим реального времени позволяет также подвесить на прерывание по событию, продолжая исполнять критичные по времени процедуры обслуживания прерываний.
- многоядерные операции, такие как синхронный пуск, шаг и стоп, позволяющие осуществить межядерное переключение от одного источника событий.
Система улучшенного переключения событий (AET) на выбранных приборах позволяет останавливатьCPUили осуществлять переключение других событий основываясь на комплексной информации, такой как неверные доступы к памяти данных или программ. Позволяет в фоне измерять качество и подсчитывать системные события (например, изменения в кэш-памяти).
Функция ProcessorTraceпомогает находить до этого невидимые комплексные баги реального времени – гонки между событиями, перемежающиеся в реальном времени глюки, аварии от переполнения стека, ложные прерывания без остановки процессора. Эта функция основана на методе отладки, который действительно не влияет и не изменяет в реальном времени процессы вDSP.
В состав последних версий CCSвходитDSP/BIOS– ядро многозадачной операционной системы реального времени с библиотекой стандартных функций управления периферийными устройствами и макропрограмм для каждого из поддерживаемых процессоров, в том числе и процессоров 28-го семейства;
Особенностью CodeComposerStudioявляется возможность совместной отладки многопроцессорной системы с различными ядрами.
Другой особенностью является обмен данными между ПЭВМ и отлаживаемой системой в реальном времени (RTDX, изобретенный в Texas Instruments). Это свойство позволяет наблюдать исполнение программы и отображать изменение переменных графически или передавать поток полученных данных для обработки в такие совместимые программы, как Axcel, LabVIEW или MATLAB. RTDX может запускаться с симулятором, обеспечивая эффективные средства исследования программы и алгоритма еще до изготовления отлаживаемого изделия.