ЛР1(а) > Використання Code Composer Studio: Створення програми та підключення плати TMS320VC5510DSK

Тема: Створення програми в середовищі Code Composer Studio – створення проекту та файлу програми, створення командного файлу компоновника для розміщення програми в пам’яті, встановлення шляхів до бібліотек, компіляція та завантаження програми

 

Code Composer Studio (CCS) – важлива сервісна програма, яка дозволяє користувачу створювати, редагувати, компонувати (збирати), налагоджувати та аналізувати програми для цифрових сигнальних процесорів (ЦСП або DSP). Середовище розробки програмного забезпечення CCS підтримує повний спектр сигнальних процесорів фірми Texas Instruments, включаючи TMS320C55x. Для розробки прикладних програм, у CCS передбачений менеджер проекту, що дозволяє виконувати обробку програмного забезпечення. Для налагодження програм у середовищі CCS передбачені точки переривання; вікна перегляду значень змінних; вікна відображення сегментів пам’яті, регістрів та стеків; пробні точки для аналізу потоків даних до приймача та від нього; вікна графічного аналізу; можливість одночасного виводу змішаних команд – на мові С та Assembler. Одна важлива особливість середовища CCS – це можливість створювати та керувати великими проектами за допомогою графічного інтерфейсу користувача. В даній лабораторній роботі використовується простий синусоїдальний сигнал для знайомства з вбудованими функціями редагування програмного забезпечення та основними допоміжними модулями середовища CCS, які використовуються при розробці програм для процесорів C55.

 

Завдання А.

 

Використання CCS та відлагоджувальної плати TMS320VC5510DSK.

 

Дане завдання демонструє основні функції, що використовуються для побудови проекту в середовищі CCS. Цілями даного завдання є:

а) створити проект;

б) створити файл програми;

в) створити командний файл компоновника (linker command file) для розміщення програми в пам’яті;

г) встановити шлях пошуку для компілятора мови С та лінкера вбудованих файлів та бібліотек;

д) скомпілювати та загрузити програму до процесору.

 

    Найкращий спосіб вивчення нових функцій програмного забезпечення – їх використання. Це завдання поділене на шість частин:

 

1. Запуск CCS та відлагоджувальної плати:

подати живлення на відлагоджувальну плату TMS320VC5510 DSK;

– запустити CCS з меню “пуск” чи за допомогою іконки Code Composer Studio на вашому ПК. На екрані комп’ютера з’явиться головне вікно середовища CCS, як показано на рис.1.1.



Рис.1.1. Головне вікно середовища розробки CCS.

2. Створення проекту для CCS:

  • Виберіть команду ProjectNew для створення нового файлу проекту та збережіть його з іменем exp у відповідній директорії. Середовище CCS використовує проект для керування вбудованими утилітами та для створення робочої програми процесора. 

3. Створення файлу програми на мові С, використовуючи редактор середовища CCS:

  • Виберіть команду FileNew→Source File для створення нового файлу. Потім наберіть наступний код програми на мові С:

#define    BUF_SIZE    40

const int sineTable[BUF_SIZE]=

{0x0000,0x000f,0x001e,0x002d,0x003a,0x0046,0x0050,0x0059,

0x005f,0x0062,0x0063,0x0062,0x005f,0x0059,0x0050,0x0046,

0x003a,0x002d,0x001e,0x000f,0x0000,0xfff1,0xffe2,0xffd3,

0xffc6,0xffba,0xffb0,0xffa7,0xffa1,0xff9e,0xff9d,0xff9e,

0xffa1,0xffa7,0xffb0,0xffba,0xffc6,0xffd3,0xffe2,0xfff1};

int in_buffer[BUF_SIZE];

int out_buffer[BUF_SIZE];

int Gain;

 

void main()

{

int i,j;

    
 

Gain = 0x20;

while (1)

{                      /* <- set profile point on this line */

for (i = BUF_SIZE-1; i>= 0; i–)

{

j = BUF_SIZE-1-i;

out_buffer[j] = 0;

in_buffer[j] = 0;

}

for (i = BUF_SIZE-1; i>= 0; i–)

{

j = BUF_SIZE-1-i;

in_buffer[i] = sineTable[i];        /* set breakpoint */

in_buffer[i] = 0 – in_buffer[i];

out_buffer[j] = Gain*in_buffer[i];

}

}                      /* <- set probe and profile point on this line */

}

– Збережіть цей файл як exp.c у відповідній директорії. Зверніть увагу на виділення кольором синтаксичних одиниць програми. Даний приклад зчитує наперед обраховані значення синусоїди з таблиці, інвертує їх, помножує на коефіцієнт та зберігає значення в зворотному порядку у вихідному буфері.

 

4. Створення командного лінкер файлу для симулятора:

  • Виберіть команду FileNew→Source File для створення нового файлу. Наберіть код програми командного файлу компоновника (лінкера), поданий нижче:

/* SPECIFY THE SYSTEM MEMORY MAP */

 

MEMORY

{

RAM (RWIX) : origin=0100h, length=01feffh         /* Data Memory */

RAM2 (RWIX) : origin=040100h, length=040000h     /* Program Memory */

ROM (RIX) : origin=020100h, length=020000h     /* Program Memory */

VECS (RIX) : origin=0ffff00h length=00100h         /* Reset Vector */

}

 

/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */

 

SECTIONS

{

vectors > VECS         /* Interrupt vector table */

.text > ROM         /* CODE */

.switch > RAM         /* SWITCH TABLE INFO */

.const > RAM         /* CONSTANT DATA */

.cinit > RAM2         /* INITIALIZATION TABLES */

.data > RAM         /* INITIALIZED DATA */

.bss > RAM         /* GLOBAL & STATIC VARS */

.stack > RAM         /* PRIMARY SYSTEM STACK */

}

– Збережіть цей файл як exp.cmd у відповідній директорії. Лінкер використовує командний файл для відображення різних сегментів пам’яті процесора та розподілу програмного простору системи.

 

5. Налагодження проекту:

–     після створення файлів exp.c та exp.cmd додайте їх до проекту, вибравши команду ProjectAdd Files to Project та вкажіть ці файли у відповідній директорії.

– перед створенням проекту повинні бути прописані шляхи пошуку файлів для компілятора мови С, асемблера та лінкера за допомогою команди ProjectBuild Options. Шлях до програмних засобів підтримки процесора С55х повинен бути настроєний під час процесу інсталяції середовища CCS. Необхідно додати шляхи пошуку вбудованих файлів та бібліотек, які не включені до директорії програмних засобів підтримки процесора С55х – наприклад, бібліотеки та підключені файли, які розташовані в робочій директорії проекту. Програми, написані мовою С, вимагають використання бібліотечних засобів динамічної підтримки (бібліотеки rts55.lib) для ініціалізації процесорної системи. Для цього потрібно, після виконання команди ProjectBuild Options, вибрати сторінку Linker в діалоговому вікні, та ввести шлях до бібліотеки засобів динамічної підтримки C:\ti\c5500\cgtools\lib в категорії Library Search Path (-i) і назву файлу

rts55.lib в категорії Include Libraries. На цій сторінці можна змінити директорію розташування вихідного виконуваного файлу, як показано на Рис.1.2. Після внесення змін, натисніть кнопку ОК.

 


Рис.1.2 Запис шляху пошуку бібліотеки динамічної підтримки для лінкера.

 

6. Побудова та запуск програми:

  • коли всі настройки зроблені, скомпілюйте програму за допомогою команди ProjectRebuild All. Якщо в програмі немає помилок, то компілятор середовища CCS створить вихідний виконуваний файл exp.out. Перед запуском програми потрібно завантажити виконуваний вихідний файл у процесор. Для цього виконайте команду FileLoad Program. Виберіть файл exp.out з папки Debug робочої директорії проекту та відкрийте його. Після завантаження програми до процесору, автоматично відкривається вікно Disassembly.
  • Запустіть дану програму на виконання вибравши команду DebugRun (або натиснувши функціональну клавішу F5). Стан процесора, який відображується в нижньому лівому вікні середовища, зміниться з CPU HALTED (ПРОЦЕСОР ЗУПИНЕНИЙ) на CPU RUNNING (ПРОЦЕСОР ПРАЦЮЄ). Процес виконання програми може бути зупинено командою DebugHalt (або натиснувши клавіші Shift+F5). Продовжити виконання програми можна повторним викликом команди RUN. Закінчити роботу в середовищі CCS можно за допомогою команди FileExit.