Module_2_TMS320F2812.ppt
- Количество слайдов: 38
Модуль 2: Средство разработки программ Цифровой сигнальный контроллер TMS 320 F 2812 Texas Instruments Incorporated 2 -1
Code Composer Studio® IDE Управление проектом: Ø Исходные и объектные файлы Ø Файл зависимостей Ø Опции построения для Компилятора, Ассемблера & Компоновщика Меню и иконки Помощь Окно регистров ЦП Полная C/C++ и ассемблер отладка: ØC & ASM исходные тексты ØСмешанный режим ØДизассемблер ØУстановка точек останова и пробных точек Редактор: Ø Раскрытие структур Окно просмотра Графическое статуса окно Дамп памяти 2 -2
Code Composer Studio Компиляция Компилятор DSP/BIOS Средства конфигурирования Ассемблер Редактор Начало образа lnk. cmd Симмулятор e. Zdsp™ Компоновщик DSP/BIOS Библиотеки Отладка EVM Конец образа Граф. Профилир. • Code Composer Studio включает: – Интегрированы Редактор/ графический отладчик – Средства генерации кода – DSP/BIOS Третьи стороны XDS DSP платформы 2 -3
Code Composer Studio: IDE • Интеграция: редактор, генератор кода и отладка • Доступ одним нажатием на кнопки • Мощные средства графического отображения и профилирования • Автоматизация задач используя GEL скрипты • Доступ к встроенным функциям BIOS • Поддержка подключаемых модулей TI или компаний третьих сторон 2 -4
Проект в CCS Файлы проекта (. pjt) : • Исходные файлы: – Исходные тексты (C, ассемблер) – Библиотеки – Конфигурация DSP/BIOS – Командный файл компоновщика • Настройки проекта: – Опции построения (компилятора и ассемблера) – Конфигурации построения – DSP/BIOS – Компоновщик 2 -5
GUI опций построения – Компилятор • GUI имеет 8 страниц категорий для средств генерации кода • Контроль многих аспектов процесса построения, таких как: – Уровни оптимизации – Целевое устройство – Опции компилятора/ассемблера/компоновщика 2 -6
GUI опций построения - Компоновщик • GUI имеет 2 категории для компоновки • Определение различных опций компоновки • “. Debug” отображает директорий расположения проекта (. pjt) 2 -7
Конфигурация построения по умолчанию • • Для новых проектов, CCS автоматически создает две конфигурации построения : – Debug (не оптимизированная) – Release (оптимизированная) Используйте выпадающее меню для быстрого выбора конфигурации • Добавить/удалить пользовательские конфигурации построения, используя конфигуратор проектов • Редактирование конфигурации: 1. 2. 3. Назначить как активную Изменить опций компиляций Сохранить проект 2 -8
e. Zdsp™ F 2812 Стартовый набор JTAG Интерфейс (P 1) Шина расширения данных & адреса (P 2) Параллельный порт / интерфейс JTAG Контроллера (P 3) Разъем питания (P 6) +5 V Статическое ОЗУ 64 K x 16 TMS 320 F 2812 - DSP Аналоговый Интерфейс ввода/вывода интерфейс (P 5/P 9) (P 4/P 8/P 7) 2 -9
Соединение e. Zdsp с ПЭВП 25 pin male D-sub connector (Plugs into parallel port on PC) 25 Conductor Cable e. Zdsp F 2812 25 pin male D-sub connector 25 pin female D-sub connector +5 Вольт универсальный источник питания Электрическая розетка Code Composer Studio – конфигурация e. Zdsp F 2812 2 - 10
Лабораторные работы – адаптер периферии 1 РПЗУ с интерфейсом SPI (M 95080) 8 переключателей 1 CAN – приемо-передатчик (SN 65 HVD 230) 8 индикаторов 1 CAN – приемо-передатчик (TJA 1054) 1 динамик 1 ЦАП с интерфейсом 1 Сенсор с интерфейсом I 2 C SPI (TLV 5617) (DS 1621) 2 кнопки 2 потенциометр 1 асинхронный приемопередатчик (MAX 232) e. Zdsp F 2812 + адаптер периферии Zwickau 2 - 11
Практическое изучение – Шаг за шагом Code Composer Studio® - Основы 1. 2. 3. 4. 5. 6. 7. 8. 9. Стартовое окно среды Создание проекта F 28 x на языке Си Отладка программы Визуализация переменных Отладка Использование точек остановки Применение Probe Point Другие команды визуализации GEL - язык общих расширений Лаб. работа Решение 2 - 12
1. Стартовое окно среды Дерево проекта Рабочая область 2 - 13
2. Создание проекта F 28 x • Project ==> New Задайте название проекта : “Lab 1”, выберете платформу и определите место расположения проекта на жестком диске Замечание: файл проекта (“Lab 1. pjt) содержит информацию о настройках проекта в текстовом формате типа ASCII. Удобно для управления версиями проекта. 2 - 14
2. Создание проекта F 28 x (продолжение) • Напишите исходный текст программы на языке Си: File New Source File unsigned int k; void main (void) { unsigned int i; while(1) { for (i=0; i<100; i++) k=i*i; } } File Save as : “lab 1. c” 2 - 15
2. Создание проекта F 28 x (продолжение) 2 - 16
2. Создание проекта F 28 x (продолжение) • Добавить файл к проекту: – Project Add files to project – Добавить: “lab 1. c” • Скомпилировать исходный код: Project Compile File – активное окно – компиляции – если есть синтаксические ошибки: исправьте текст как того требуется • Добавить библиотеку реального времени языка Си к проекту: Project Build Options Linker Library Search Path : c: tic 2000cgtoolslib Project Build Options Linker Include Libraries : rts 2800_ml. lib • Назначить размер стека – 0 х400: Project Build Options Linker Stack Size : 0 x 400 2 - 17
2. Создание проекта F 28 x (продолжение) Закрыть окно опций построения, нажав кнопку ‘OK’ 2 - 18
2. Создание проекта F 28 x (продолжение) • Добавить командный файл компоновки к проекту: • Project Add Files to Project . . cmdEz. DSP_RAM_lnk. cmd • В заключение : скомпилировать код (компиляция / ассемблирование / компоновка ) : Project Build 2 - 19
Размещение секций в памяти Память 0 x 00 0000 0 x 00 0400 0 x 3 D 8000 M 0 SARAM (0 x 400) M 1 SARAM (0 x 400) FLASH (0 x 20000) Секции. ebss. stack. cinit. text 2 - 20
Компоновка l Описание памяти l Как разместить программу в аппаратуре name. cmd. obj Компоновщик . out . map 2 - 21
Командный файл конпоновки MEMORY { PAGE 0: FLASH: } /* Пространство программ */ org = 0 x 3 D 8000, len = 0 x 20000 PAGE 1: M 0 SARAM: M 1 SARAM: SECTIONS {. text: . ebss: . cinit: . stack: } > > /* Пространство данных */ org = 0 x 000000, len = 0 x 400 org = 0 x 000400, len = 0 x 400 FLASH M 0 SARAM FLASH M 1 SARAM PAGE 0 1 2 - 22
2. Создание проекта F 28 x (продолжение) • Загрузка бинарного файла в DSP : File Load Program DebugLab 1. out – Замечание: новый бинарный файл может быть загружен автоматически в процессор. Для этого необходимо выполнить Option Customize Program Load Options Load Program after Build. Данные настройки хранятся постоянно. • Запуск программы до метки “main” Debug Go main 2 - 23
2. Создание проекта F 28 x (продолжение) Желтая стрелка : Текущее положение 2 - 24
3. Отладка программы • Выполнить запуск в реальном времени : Debug Run (F 5) Замечание 1: в нижнем левом углу появится надпись: “DSP Running”. В данном проекте не задействована периферия адаптера периферии Zwikau, т. к. проект не использует ничего из периферии ! Замечание 2: желтой стрелки не видно – т. к. другой знак говорит о запуске в реальном времени. • Остановка работы в реальном времени : Debug Halt • Сброс процессора DSP : Debug Reset CPU Debug Restart • Запуск снова с “main” : Debug Go Main 2 - 25
4. Визуализация переменных • Открыть окно просмотра : View Watch Window • Переменная ‘i’ уже видна в окне просмотра “Watch Locals”. • Для просмотра глобальной переменной ‘k’ необходимо вручную добавить переменную. Выполняется в окне ‘Watch 1’. В колонке ‘name’ ввести ‘k’ и во второй строчке ‘i’. – Замечание : другой удобный способ – выделите переменную в исходном коде, нажмите правую кнопку мыши и выберите “Add to watch window” • Замечание: в колонке ‘radix’ можно изменить формат представления данных с десятичного на шестнадцатеричный, бинарный и др. 2 - 26
4. Визуализация переменных Окно просмотра 2 - 27
5. Отладка • Пошаговая отладка программы: Debug Step Into ( or F 8 ) • Выполнить отладку по шагам, желтый курсор будет перемещаться, и следить за числовыми значениями переменных ‘i' и ‘k’ в окне ‘Watch Window’. • Существует много команд отладки – смотрите следующий слайд 2 - 28
5. Отладка Шаг по исходному коду через Выход Шаг по ассемблерному коду Остановка Запуск Шаг по ассемблерному коду через Выполнение до курсора 2 - 29
6. Использование точек остановки • Постановка точки остановки : – Установите курсор в файле Lab 1. c на строке : k = i * i; – Нажмите правую кнопку мыши и выберите ‘Toggle Breakpoint’ – Строка будет отмечена красной точкой ( =активная точка останова ) Замечание : большинство Code Composer Studio команд доступны через кнопки или через команды -Keys ( см. руководство или в help - файлах ) • Сброс программы Debug Reset CPU Debug Restart • Запуск в реальном времени Debug Run ( or F 5) • DSP остановится, когда достигнет активной точки остановки • Повторите команду запуска и просмотрите переменные в окне отображения • Удалите точку остановки (Toggle again), когда закончите. 2 - 30
6. Использование точек остановки (продолж. ) Включение/выключение Точки остановки Удаление всех точек остановки Красная точка: Активная точка остановки Желтая стрелка: текущее место 2 - 31
7. Применение точек апробации (Probe Point) • Обновления соответствующих окон в специфическом месте вашей программы. • Когда окно создается – оно обновляется каждый раз при возникновении точки остановки. Однако, это возможно изменить и данное окно будет обновляться при достижении связанной с ним точкой апробации. Когда обновление окна будет выполнено – выполнение программы будет продолжено. • Установление точки апробации: – Нажмите правую кнопку мыши на строке ‘k = i*i; ’ в программе first. c – Выберите : ‘Toggle Probe Point ‘ ( отмечается голубой точкой ) – Выберите Debug Probe Points. . . – В окне ‘Probe Point’ нажмите на ‘first. c line 13 -> no Connection’ – В селекторе ‘Connect to’ – выберите ‘Watch Window’ – Нажмите ‘Replace’ кнопку и для выхода нажмите ‘OK’ кнопку • Запустите программу и проверьте, что окно просмотра обновляется непрерывно. 2 - 32
7. Применение Probe Point 2 - 33
8. Другие команды визуализации • Меню ‘View’ содержит много полезных вызовов окон для мониторинга и управления DSP • View Registers Core • View Registers Status – Нажмите правую кнопку мыши внутри нового окна и выберите ‘Float in Main Window’ – Двойное нажатие на строку ‘ACC’ и измените значение аккумулятора ACC 2 - 34
8. Другие команды визуализации (продолжение) • Для того, чтобы видеть ассемблерный код и исходный текст программы на Си : • Нажмите правую кнопку мыши в файле “Lab 1. c” и выберите “Mixed Mode” (смешанный режим) • Ассемблерные инструкции, сгенерированные компилятором, будут добавлены и отображены серым цветом • Отладка по шагам ( ‘Ассемблерная отладка по шагам’ ) теперь возможна на уровне инструкций – Выполните: Debug Reset DSP Debug Restart Debug Go Main Debug Step Into (F 8) – Будет отображаться две желтых стрелки, одна рядом со строками исходного кода на языке Си, а другая будет напротив ассемблерных инструкций 2 - 35
8. Визуализация Си и дизасемблера Текущая Си - строка Текущая инструкция 2 - 36
9. GEL - язык общих расширений • Язык похож на язык Си • Создавайте функции для расширения возможностей Code Composer Studio • Создавайте GEL функции, используя GEL грамматику • Загружайте GEL-файлы в Code Composer • с GEL возможно : – Получить доступ к памяти реального/симулированного процессора – Добавить опции в GEL меню Code Composer Studio • GEL помогает автоматизировать процесс тестирования и пользовательской корректировки рабочего пространства. • GEL – ASCII файлы с расширением *. gel 2 - 37
Module_2_TMS320F2812.ppt