Подключение файлов ввода/вывода с помощью точек зондирования 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Подключение файлов ввода/вывода с помощью точек зондирования



Необходимо запустить ИСР CCS в режиме симуляции. Создать новый проект, для этого, предварительно, необходимо в папке «MyProject» создать папку «laba_2» и в этой папке сохранить новый проект под именем «exp_1».

Теперь нужно создать и добавить к проекту исходный код программы, который находится в файле «main.c» (листинг 1.1). Суть исходного кода состоит в том, что он копирует данные из входного буфера в выходной. С помощью директивы #pragma DATA_SECTION(outBuffer, "expdata0") и #pragma DATA_SECTION(inBuffer, "expdata1") происходит определения (назначения) области памяти, где будут храниться входной и выходной буфер, в частности это области (секции) "expdata0" и expdata1.

Листинг 1.1.

#pragma DATA_SECTION(outBuffer, "expdata0") #pragma DATA_SECTION(inBuffer, "expdata1") #define DATALENGTH 1000 int inBuffer[DATALENGTH]; int outBuffer[DATALENGTH];   void main() { short i; for(i=0;i<DATALENGTH;i++) { outBuffer[i] =inBuffer[i]; } }

Следующим шагом нужно подключить к проекту командный файл «lnk.cmd» из первой лабораторной работы (никаких изменений вносить не требуется). Именно в этом файле и определены секции памяти "expdata0" и expdata1.

После того как файлы «main.c» и «lnk.cmd» добавлены к проекту, необходимо, добавить к проекту библиотеку «rts55.lib», находится: С:\CCStudio_v3.1\C5500\cgtools\lib\.

Прежде чем приступить к тестированию проекта, нужно создать в папке с проектом папку «data». В эту папку скопировать файлы «InputData.dat» и «OutputData.dat». Файл «OutputData.dat» пустой и его можно просто создать как текстовый, а «InputData.dat» содержит четное количество 32-разрядных отсчетов синусоиды и первой строкой этого файла является заголовок. Структуру заголовка файла ввода вывода можно увидеть на рисунке 1.1.

Рисунок 1.1 – Заголовок файла ввода/вывода.

 

Файлы ввода/вывода подключаются при помощи точек зондирования, которые необходимо вначале определить. Для этого необходимо установить курсор на нужную строку кода и нажать кнопку , на панели быстрых кнопок. В текущем проекте будет две точки зондирования для файла ввода и для файла вывода, установлены они должны быть так, как показано на рисунке 1.2.

Рисунок 1.2 – Установка точек зондирования.

После того как точки зондирования уставлены, обязательно, нужно нажать кнопку , для того, чтобы информация о месте нахождения точек зондирования сохранилась.

Для добавления файлов ввода/вывода следует выполнить следующую последовательность действий:

1) Выбрать раздел File → File I/O… как показано на рисунке 1.3.

Рисунок 1.3 - Меню добавления файлов ввода/вывода.

 

2) Откроется диалоговое окно настройки как показано на рисунке 1.4. На вкладке «File Input» нажать кнопку «Add File» и открыть файл «InputData.dat». Диалоговое окно примет вид как показано на рисунке 1.5

Рисунок 1.4 – Настройка подключаемых файлов.

 

Рисунок 1.5 – Добавление файла ввода.

 

3) После добавления файла нажать кнопку «Add Probe Point», откроется диалоговое окно как показано на рисунке 1.6, которое позволит связать точку зондирования с файлом ввода.

Рисунок 1.6 – Связывание точек зондирования с файлом.

 

Для связывания выделите строку «main.c line12 …….» из списка «Probe Point:», после этого из списка «Connect To:» выберете файл «InputData.dat», как показано на рисунке 1.7.

Рисунок 1.7 – Выбор файла для связывания.

 

Теперь нажать кнопку «Replace», для сохранения настроек (рисунок 1.8).

Рисунок 1.8 – Результат связывания файла ввода с точкой зондирования.

 

Теперь нажать кнопку «OK».

4) В окне «File I/O» установить флажок в позицию «Warp Around» для циклического считывания данных из входного файла (рисунок 1.9). Здесь также необходимо указать адрес приемного буфера, который вводится в поле «Address», и количество считываемых из файла отсчетов, которые указываются в поле «Length». В частности указать соответственно «inBuffer» и «1000», как показано на рисунке 1.9.

Рисунок 1.9 – Настройка подключаемых файлов.

В итоге ИСР CCS примет вид как показано на рисунке 1.10.

Рисунок 1.10 – ИСР CCS с подключенным файлом ввода.

 

5) Следующим шагом нужно подключить файл вывода, для этого опять выбирать раздел File → File I/O… и перейти на вкладку «File Output» как показано на рисунке 1.11. нажать кнопку «Add File» и открыть файл «OutputData.dat».

Рисунок 1.11 - Настройка подключаемых файлов.

 

6) Также как и для файла ввода, файл вывода нужно связать с точкой зондирования, процедура отличается лишь выбором точки зондирования и файла, все действия показаны на рисунках 1.12 и 1.13. По окончании действий нажать кнопку «OK».

Рисунок 1.12 – Выбор точки зондирования.

 

Рисунок 1.13 – Выбор файла вывода для связывания.

 

7) Указать адрес приемного буфера, который вводится в поле «Address», и количество записываемых в файл отсчетов, которые указываются в поле «Length». В частности указать соответственно «outBuffer» и «1000», как показано на рисунке 1.14, и нажать кнопку «OK».

Рисунок 1.14 – Настройка подключаемых файлов

 

В итоге в ИСР CCS появится два окна – это счетчики входного и выходного файлов (рисунок 1.15). В ни отображается процесс чтения входного и запись выходного файлов.

 

Рисунок 1.15 – Счетчики файлов.

 

8) Теперь нужно запустить программу на выполнение (нажав ). Вид ИСР CCS после выполнения программы показан на рисунке 1.16. Выходной файл после выполнения будет содержать отсчеты из входного файла.

Рисунок 1.16 – Результат выполнения программы.

 

9) Для повторного запуска программы нужно установить программный указатель на начало программы и на счетчиках файлов нажать клавишу , что соответствует установке на начало файла, причем выходной файл в этом случае будет создан заново.

10) Аппаратная реализация этого проекта не предусматривает внесение, каких либо изменений, поэтому не рассматривается.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 255; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.200.211 (0.012 с.)