Использование языка Си для программирования ЦСП TMS320C67x.

Презентация:



Advertisements
Похожие презентации
Разработка программного обеспечения для сигнальных процессоров TMS320C64xx в IDE Code Composer Studio Часть I. Основные возможности среды разработки CCS.
Advertisements

Операционная система MS-DOS Не управляя оборудованием, программа остается всего лишь литературным произведением, написанным на особом формальном языке.
Что такое программирование? Совокупность процессов, связанных с разработкой программ и их реализацией. В широком смысле к указанным процессам относят все.
RISC-архитектуры ( Reduced Instruction Set Computer)
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Средства разработки программ на ассемблере. Assembler. Тема 5:
Программное обеспечение компьютера. Операционная система.
Введение в теорию компиляции Основные принципы построения трансляторов.
OpenGL и Direct3D сравнение стандартов Выполнил: Пенкин А. Группа И-204.
Лекция 3. Программное обеспечение информационных технологий По дисциплине: «Информационные технологии в коммерческой деятельности»
Министерство образования Республики Беларусь Белорусский государственный университет Управляющие структуры языков программирования.
Учитель информатики Кюкяйской СОШ,Сунтарского улуса, Республики Саха Федоров Александр Михайлович,2010 год.
Языки программирования. Уровни языков программирования Процессор Естественный язык Пример программы на различных языках Трансляторы.
Системы программирования Средства создания программ Интегрированные системы программированияИнтегрированные системы программирования Среды быстрого проектирования.
1 Диаграммы реализации (implementation diagrams).
Положение об отделе В.Андреев, Д.Сатин. Штат отдела начальник отдела; бизнес-аналитик; проектировщик пользовательских интерфейсов; специалист по анализу.
Программное обеспечение. Программное обеспечение Системное Операционные системы WINDOWS MS-DOS Программы оболочки Утилиты Драйверы Архивация Антивирусные.
ПАРАЛЛЕЛЬНАЯ ФИЛЬТРАЦИЯ ИЗОБРАЖЕНИЙ Фурсов В.А., Попов С.Б. Самарский научный центр РАН, Самарский государственный аэрокосмический университет, Институт.
АЛГОРИТМ (интуитивное понятие алгоритма) - строгая и четкая конечная система правил, которая определяет последовательность действий над некоторыми объектами.
Системы программирования Системы программирования обеспечивают создания новых программ для компьютера. Современные системы программирования обычно представляют.
Транксрипт:

Использование языка Си для программирования ЦСП TMS320C67x

Язык АССЕМБЛЕРа – базовый язык программирования ЦСП. Он строго ориентирован на конкретную архитектуру ЦСП и позволяет в полной мере задействовать все его ресурсы, обеспечивая оптимальный с точки зрения скорости выполнения и размера программы код. Недостатком использования АССЕМБЛЕРа является сложность процесса разработки программ и необходимость хорошего знания архитектуры ЦСП. В современном мире скорость выпуска новых технических решений на рынок становится очень критичной для поддержания конкурентоспособности. Возникает задача ускорения процесса разработки и отладки программного обеспечения, упрощения модификации и переноса программных продуктов с одних аппаратных платформ на другие. Незаменимыми становятся языки высокого уровня, основным из которых является язык Си. Ассемблер и Си

В настоящий момент все компании-производители ЦСП стараются обеспечить программиста возможностью использования языка Си/Си++. Для этого создаются компиляторы, автоматически переводящие программный код с Си на АССЕМБЛЕР конкретного сигнального процессора. Рассмотрим пример из лабораторной работы 1. Для реализации вычисления выражения: х = 1.1* * – 0.5 мы разработали программу из 10 строк. При этом нам потребовалось изучить систему команд, особенности командного конвейера для выбора числа NOP, состав вычислительных блоков и т. д. На языке Си такая программа состояла бы из одной единственной строки, не требуя никаких знаний о ЦСП: х = 1.1* * – 0.5; /* Строка программы на языке Си */ Ассемблер и Си

MPYSP.M1A1,A2,A1 ||MPYSP.M2B1,B2,B1 NOP3 ADDSP.L1XA1,B1,A2 NOP3 ADDSP.L1A2,A3,A2 NOP3 SUBSP.L1XA2,B3,A0 NOP3 NOP х = 1.1* * – 0.5 Ассемблер Си

Задача компилятора – обеспечить эффективный перевод Си-программы на язык АССЕМБЛЕРа, то есть использовать ресурсы ЦСП наиболее рационально. Однако компиляторы далеки от совершенства и генерируемый ими код часто оказывается не оптимален. В примере лабораторной работы 1 программа, написанная на ассемблере, выполняется за 16 тактов, а программа на языке Си – за 25 тактов. Ассемблер и Си

Итак, перед программистом возникает вопрос выбора языка программирования: эффективный, но сложный ассемблер, или простой и удобный, но не вполне эффективный Си? Компания Texas Instruments рекомендует при разработке программного кода для ЦСП TMS320C67x использовать следующий алгоритм. 1. Разрабатывается пакет программ на языке Си. 2. Проект компилируется и оценивается эффективность сгенерированного ассемблерного кода (скорость выполнения/размер программы). 3. Если эффективность недостаточная, выделяются наиболее проблемные фрагменты кода и проводится их оптимизация на языке Си. 4. Если оптимизация на Си не приводит к нужным результатам, выделенные фрагменты кода переписываются на языке линейного ассемблера. Линейный ассемблер аналогичен обычному ассемблеру, но допускает ряд упрощений синтаксиса, облегчающих процесс программирования. Код линейного ассемблера поступает на ассемблирование с оптимизацией, в процессе которого программа дополняется недостающей информацией. Алгоритм разработки программы для ЦСП

Для более эффективного использования языка Си при программировании ЦСП C67x стандартный язык Си расширен набором специальных директив и других элементов синтаксиса. Ключевые слова - позволяют точно определить компилятору тип используемых переменных или функций (interrupt, cregister, …). Директивы компилятору – позволяют сообщить компилятору, как ему следует понимать определенный фрагмент кода (_ DATA_ALIGN, _ MUST_ITERATE). Встроенные средства – набор специальных Си-функций, переводимых компилятором напрямую в соответствующие им команды ассемблера. Позволяют задействовать на языке высокого уровня такие команды процессора, которые не могут быть представлены средствами стандартного языка Си. Ассемблерные вставки – ассемблерные команды, размещаемые прямо в тексте Си-программы: asm(assembler text);. Библиотека функций ЦОС – набор типовых функций ЦОС, разработанных специально для конкретного процессора и эффективно использующих его ресурсы. Библиотека DSPLIB содержит функции адаптивной фильтрации, корреляции, БПФ, фильтрации и свертки, и других вычислений. Особенности языка Си для ЦСП TMS320C67x

Процесс создания проекта с использованием языка Си рассмотрим на примере: 0. Создание рабочей папки. 1. Формирование сигнала в системе МАТЛАБ ( ). Формирование фильтра в системе МАТЛАБ. 2. Создание файла с программой 3. Создание проекта, подключение файлов, в том числе библиотеки rts и cmd. 4. Компиляция. Анализ кода ассемблера. 5. Меню – свойства проекта, визуализация и др. Создание проекта на языке Си

Процесс создания проекта с использованием языка Си рассмотрим на примере: 1. Создать проект. 2. Создать файл с текстом программы. 3. Подключить к проекту этот файл и rts, cmd. 4. Компиляция. 5. Изучение кода. 6. Вывод характеристик фильтра. 7. Загрузка сигнала и вывод его на график. 8. Выполнение программы и проверка результата. 9. Оценка времени выполнения программы. 10. Разрешить компиляцию с оптимизацией. 11. Выполнить и оценить время выполнения. Создание проекта на языке Си