Учебно-методическое пособие Томск 2007


Скачать 1.7 Mb.
Название Учебно-методическое пособие Томск 2007
страница 6/16
Тип Учебно-методическое пособие
rykovodstvo.ru > Руководство эксплуатация > Учебно-методическое пособие
1   2   3   4   5   6   7   8   9   ...   16

Примечание

При использовании версии DSP|BIOS 5.20 вместо cdb файла используется tcf файл. Отличие проявляется в том, что в конфигураторе существует возможность смотреть введенные изменения в текстовый файл конфигурации ядра операционной системы. В новой версии также устранены дефекты, препятствующие эффективной отладке приложений. Принципиальным отличием при использовании этой версии является следующее:

  1. Необходимо убедиться в наличии установленной данной версии DSP|BIOS через окно About, Component Manager.

  2. Необходимо подключать дополнительный командный файл с расширением cmd, имя файла соответствует имени
    tcf-файла, дополненное буквами cfg, то есть в проекте будут присутствовать два файла с расширением cmd.

  3. Необходимо при изменении tcf-файла перед компиляцией принудительно его сохранять.



Конфигурирование памяти сигнального процессора
При подключении большого количества процедур (задач и подпроцессов) возможна ситуация, когда не хватает места в текущей банке памяти программ ОЗУ (как правило, по умолчанию используется банка H0SARAM размером 2 K). При наличии дополнительной микросхемы ОЗУ на плате (подключенной по внешнему параллельному интерфейсу) существует возможность значительно расширить объем ОЗУ для памяти программ. Например, для платы eZdsp возможно использовать XINTF Zone6 размером 8 К (см.файл sprs174n.pdf, а также рис.15).

Для этого необходимо создать новый блок памяти в окне конфигурации ядра операционной системы (правый щелчок по MEM, Insert MEM), например с названием xintf6, и в свойствах данного окна (правый щелчок мышью по xintf6, в контекстном меню выбрать Properties) установить настройки, показанные ниже на рис.16 (начальный адрес и размер, назначение).

После этого необходимо указать компоновщику о размещении по данному адресному пространству программного кода. Для этого необходимо щелкнуть правой клавишей по MEM, выбрать Properties и в появившемся окне на закладке Compiler Sections установить в поле Text Section (.text) значение xintf6 (имя введенного блока памяти) – см.рисунок 17.

Рис.15
После выполнения данных действий программа будет загружаться начиная с адреса 0х10 0000.


Рис.16


Рис.17


Создание проекта с DSP/BIOS для флеш-памяти
В данном разделе приводится описание создания проекта для его загрузки во FLASH-память. Приведенный пример будет выполнять операцию мигания с частотой 1Гц индикатора DS2, подключенного к ножке GPIOF14 (XF). Данная частота формируется с помощью прерывания аппаратного таймера T1.

Внимание! Перед выполнением необходимо предварительно убедиться, что в системе установлен драйвер платы eZdsp2812, а также установлена версия 5.20 среды DSP/BIOS. Кроме того, необходимо установить перемычки на плате следующим образом: JP1 в положение 2-3 (режим микроконтроллера) и JP9 в положение 1-2 (PLL логика разрешена).


  1. Создать проект Project-New. В открывшемся окне указать название проекта "Led_FLASH_BIOS", также будет создан каталог с названием проекта (каталог проекта, см.рис.18). Дальнейшие действия с созданием файлов следует проводить в этом каталоге.




Рис.18



  1. Создать в каталоге проекта каталог include и скопировать туда следующие заголовочные файлы из папки D:\template\spra958f\spra958f\eZdspF2812\

DSP281x_headers\include":
DSP281x_Adc.h

DSP281x_CpuTimers.h

DSP281x_DefaultIsr.h

DSP281x_DevEmu.h

DSP281x_Device.h

DSP281x_ECan.h

DSP281x_Ev.h

DSP281x_Gpio.h

DSP281x_Mcbsp.h

DSP281x_PieCtrl.h

DSP281x_PieVect.h

DSP281x_Sci.h

DSP281x_Spi.h

DSP281x_SysCtrl.h

DSP281x_Xintf.h

DSP281x_XIntrupt.h


  1. Для того чтобы компилятор смог найти заголовочные файлы, необходимо указать путь к папке include. Для этого через Project-Build Options-Complier-Preprocessor в поле Include Search Path указать $(Proj_dir)\include ($(Proj_dir), это путь к каталогу проекта, определенный CCS) и нажать кнопку OK (см.рис.19).




  1. Создать в каталоге проекта каталог src и скопировать туда следующий исходный файл из папки "D:\template\spra958f\

spra958f\eZdspF2812\src": DSP281x_GlobalVariableDefs.c


  1. Через File-New-Source file и Save as создать 2 файла: appDSP.c и initDSP.c, сохранить в каталоге src. 1-ый файл будет использован для создания кода приложений, 2-ой – для инициализации периферийных и системных устройств процессора.



Рис.19


  1. В файле initDSP.с подключить заголовочные файлы:


#include

#include "DSP281x_Device.h"


  1. Добавить следующие объявления адресов, определенных в командных файлах:


extern Uint16 hwi_vec_loadstart;

extern Uint16 hwi_vec_loadend;

extern Uint16 hwi_vec_runstart;

extern Uint16 secureRamFuncs_loadstart;

extern Uint16 secureRamFuncs_loadend;

extern Uint16 secureRamFuncs_runstart;

extern Uint16 trcdata_loadstart;

extern Uint16 trcdata_loadend;

extern Uint16 trcdata_runstart;


  1. Ввести процедуру UserInit, в которой выполняется копирование процедур, выполняемых их ОЗУ. Данная процедура будет вызываться DSP/BIOS перед функцией main().


void UserInit(void)

{

// Section .trcdata is generated by DSP/BIOS.

// It must be copied from its load to its run

// address BEFORE main().

memcpy(&trcdata_runstart, &trcdata_loadstart,

&trcdata_loadend - &trcdata_loadstart);
// Section secureRamFuncs contains

// user defined code that runs from CSM secured RAM

memcpy(&secureRamFuncs_runstart,

&secureRamFuncs_loadstart,

&secureRamFuncs_loadend - &secureRamFuncs_loadstart);

}



  1. Добавить из файла "D:\template\spra958f\spra958f\

eZdspF2812\src\SysCtrl.c" процедуру инициализации системных регистров InitSysCtrl и процедуру инициализации FLASH-памяти InitFlash.


  1. Добавить из файла "D:\template\spra958f\spra958f

\eZdspF2812\src\PieCtrl_BIOS.c" процедуру инициализации таблицы векторов прерываний InitPieCtrl.


  1. Создать процедуру инициализации дискретных ног InitGpio, в которой будет инициализировать ножка IOPF14.



void InitGpio(void)

{

EALLOW; // Enable EALLOW protected register access

GpioMuxRegs.GPFMUX.bit.XF_GPIOF14 = 0; // дискр. ножка

GpioMuxRegs.GPFDIR.bit.GPIOF14 = 1; // на выход

GpioDataRegs.GPFDAT.bit.GPIOF14 = 0; // значение 0 на вых.



EDIS; // Disable EALLOW protected register access

}


  1. Создать процедуру инициализации менеджера событий A (EVA) InitEv для использования таймера 1. Таймер конфигурируется со следующими параметрами: частота 5 кГц, несимметричный режим (счет вверх), прерывание по периоду:


void InitEv(void)

{

EvaRegs.EVAIMRA.bit.T1PINT = 1; // разрешаем прерывание

по периоду

EvaRegs.EVAIFRA.bit.T1PINT = 1; // сбрасываем флаг

EvaRegs.T1CNT = 0; // обнуляем счетчик

EvaRegs.T1PR = 30000; // T1PR = HSPCLK / част. прерыв.

EvaRegs.T1CON.all = 0x9040; // FREE, счет вверх, старт

}


  1. Добавить в процедуру InitPieCtrl приведенные строчки для разрешения прерывания T1PINT в таблице векторов прерываний:

PieCtrlRegs.PIEIER2.bit.INTx4 = 1;

IER |= M_INT2;
Данное прерывание исходя из рисунка находится во второй группе, четвертый уровень (SPRU078, TMS321x281x DSP System Control and Interrupts Reference Guide), см.таблицу 3.

Таблица 3




  1. В файле appDSP.c подключить заголовочный файл DSP281x_Device.h и ниже добавить прототипы функций, объявленных в модуле initDSP.c


#include "DSP281x_Device.h"
void InitSysCtrl(void);

void InitFlash(void);

void InitPieCtrl(void);

void InitGpio(void);

void InitEv(void);


  1. Добавить процедуру main, в которой выполняется необходимая инициализация, разрешаются глобальные прерывания и подключается real-time монитор.


void main(void)

{

DINT; // запрещаем все прерывания

DRTM; // запрещаем прерывание real-time монитора



InitSysCtrl();

InitGpio();

InitPieCtrl();

InitFlash();

InitEv();



EINT; // разрешаем все прерывания

ERTM; // разрешаем прерывание real-time монитора



// запускается фоновая задача DSP/BIOS

return;

}


  1. Добавить перед функцией main глобальную переменную timer для формирования частоты 1 Гц мигания индикатора.

unsigned int timer = 0;


  1. Добавить процедуру обработки прерывания по периоду таймера T1:

void T1PINT_isr(void)

{

EvaRegs.EVAIFRA.bit.T1PINT = 1; // сбрасываем флаг

PieCtrlRegs.PIEACK.bit.ACK2 = 1; // подтверждаем

// каждые 0.5 сек изменяем состояние ножки GPIOF14

if (++timer >= 2500) {

GpioDataRegs.GPFTOGGLE.bit.GPIOF14 = 1;

timer = 0;

}

}


  1. С помощью Project-Add Files to Project… добавить исходные файлы в проект: initDSP.c, appsDSP.c, DSP281x_GlobalVariableDefs.c.




  1. Создать в каталоге проекта каталог cmd и скопировать туда командный файл "D:\template\spra958f\spra958f\eZdspF2812\

DSP281x_headers\cmd\DSP281x_Headers_BIOS.cmd".


  1. Добавить с помощью Project-Add Files to Project… в проект данный командный файл.




  1. Добавить в конец файла описание секции secureRamFuncs, как показано ниже:






  1. Создать с помощью File-New-DSP/BIOS Configuration… новую конфигурацию DSP/BIOS с именем Led_FLASH (см.рис.20) и сохранить её в папке cmd.




Рис.20


  1. В конфигурации DSP/BIOS задать глобальные параметры системы. Параметры задаются с помощью System-Global Settings-Properties и двух вкладок General и 281x. При этом следует обратить внимание, что была добавлена функция UserInit в поле Call User Init Function. Параметр Board Clock in KHz хоть и является информативным, но задан равным значению частоты внешнего кварца. Кроме того, значение PLL (в поле PLLCR Register value) совпадает со значением поля SysCtrlRegs.PLLCR.all в процедуре InitSysCtrl файла initDSP.c (см.рис.21).





Рис.21
Внимание! В данном примере осуществлена конфигурация под внешний кварц с частотой 30 МГц и системной частотой 150 МГц. На некоторых платформах eZdsp устанавливается кварц с частой 50 МГц. В этом случае для корректной работы необходимо задать следующие значения:

SysCtrlRegs.PLLCR.all = 0x0006;

PLLCR Register value = 0x0006.


  1. Поскольку созданный файл конфигурации предполагает загрузку во ОЗУ, то необходимо установить расположение секций, как показано на рисунках (с помощью System-MEM Memory Section Manager- Properties). Кроме того, во вкладке Load Address установить галочку напротив поля Specify Separate Load Addresses, так как предполагается использовать загрузку кода из FLASH-памяти в ОЗУ (см.рис.22).






Рис.22

  1. Добавить процедуру обработки прерывания по периоду таймера T1 (T1PINT_isr), объявленную в модуле appDSP.c, в таблицу прерываний DSP/BIOS (Scheduling-HWI – Hardware Interrupt Service Routine Manager-PIE INTERRUPTS-PIE_INT2_4). При этом для корректной обработки прерывания необходимо установить галочку напротив поля Use Dispatcher.




Рис.23


  1. Сохранить изменения в конфигурации DSP/BIOS.

  2. Добавить с помощью Project-Add Files to Project… сгенерированный DSP/BIOS командный файл Led_FLASHcfg.cmd в проект.

  3. Сохранить все изменения в проекте с помощью Project-Save.

  4. Выполнить компиляцию и компоновку проекта через Project-Build.

  5. Если возникли ошибки при компиляции, устранить их. Список ошибок формируется в окне сообщений Output Window, открывающемся внизу экрана. После исправлений необходимо заново выполнить Project-Build, вплоть до того момента, когда окно сообщений выведет сообщение об успешной компиляции и компоновке проекта: «0 Errors, 0 Warnings, 0 Remarks».

  6. Подключить отладочную плату к компьютеру, подать на нее питание. Выполнить подключение среды программирования к отладочной плате посредством Debug-Connect.

  7. Прошить во FLASH-память созданный файл Led_FLASH_BIOS.out (в папке $(PROJ_DIR)\Debug) с помощью утилиты Tools – F28xx – OnChip Flash Programmer (процессор до выполнения этой операции должен выйти на связь с CCS). Для прошивки программы необходимо указать файл с расширением out и нажать кнопку Execute Operation. Для ускорения процесса прошивки возможно снять знаки «галочки» с последних полей Sector. Также при прошивке необходимо убедиться в правильности выставленных параметров Clock Configuration, SYSCLOCKOUT должен быть равен для процессора 2812 значению 150. 00000. Значения Code Security Password не менять.

  8. После прошивания откомпилированной программы во флэш-память можно отключить питание – при следующем включении питания происходит автоматический запуск программы, светодиод платы начинает мигать.

  9. Для отслеживания работы программы вывести окно WatchWindow (View - WatchWindow), в появившемся окне выбрать закладку Watch1, в клетку столбца Name ввести имя той переменной, характер изменения которой необходимо наблюдать. В данном случае это переменная «timer».

  10. Если подключение произошло после прошивки и сброса питания, то необходимо загрузить символы с помощью File-Load Symbols-Load Symbols Only. В появившемся диалоговом окне выбрать прошитый файл с расширением «.out».

  11. Включить режим отладки в реальном времени через Debug – RealTime Mode, в появившемся окне ответить «Да» (ОК).

  12. Щелкнуть правой клавишей мыши по окну WatchWindow и выбрать Continuous Refresh (постоянное обновление показаний).

  13. Запустить программу через Debug-Run. Наблюдать увеличение значения переменной «timer» в окне WatchWindow. Таким образом, созданная программа содержит операционную среду, которая запускает процедуру пользователя с заданной периодичностью.

  14. Изменением значения 2500 в процедуре обработки прерывания T1PINT_isr и последующей прошивкой откомпилированного проекта добиться изменения частоты мигания индикатора.

  15. Остановить выполнение программы через Debug-Halt, выключить режим отладки в реальном времени Debug-RealTime (галочка напротив пункта должна быть снята).
1   2   3   4   5   6   7   8   9   ...   16

Похожие:

Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие Рекомендовано методической комиссией...
Методы молекулярной диагностики: Учебно-методическое пособие. Авторы: А. Д. Перенков, Д. В. Новиков, С. Г. Фомина, Л. Б. Луковникова,...
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие Елабуга 2016 ббк 74. 58 Учебно-методическое...
Методическое пособие предназначено для студентов 1 курса высших учебных заведений неязыковых специальностей
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие по клинической фармакологии Оренбург, 2007
Учебно-методическое пособие предназначено для самостоятельной работы студентов медицинских вузов, обучающихся по специальности «Лечебное...
Учебно-методическое пособие Томск 2007 icon Методическое пособие Саратов 2008 г. Организация комплексной системы...
Методическое пособие предназначено для руководителей и преподавателей- организаторов обж образовательных учреждений
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие
...
Учебно-методическое пособие Томск 2007 icon Организация и технология документационного обеспечения управления учебно-методическое пособие
...
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие «Учебные игры и ситуационные задачи в...
Учебные игры и ситуационные задачи в гинекологии: Учебно-ме­то­ди­чес­кое пособие / Под ред. А. А. Радионченко. – Томск: Сибгму,...
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие Казань 2010 Печатается по рекомендации...
Учебно-методическое пособие по курсу «Организационное поведение» /Д. М. Сафина. – Казань: Казанский (Приволжский) федеральный университет;...
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие. Новосибирск, 2006
Учебно-методическое пособие предназначено инструкторам детско-юношеского и спортивного туризма с целью повышения уровня знаний и...
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие к лабораторным занятиям по курсу «Основы кристаллооптики»
Практическое руководство по работе с поляризационным микроскопом для исследования петрографических объектов: Учебно-методическое...
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие организация инженерной защиты населения
Учебно-методическое пособие разработано применительно к Программе обучения слушателей на курсах гражданской защиты Копейского городского...
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие Санкт-Петербург 2007 Автор: Черемисов...
Учебно-методическое пособие предназначено для подготовки руководящего состава, специалистов гочс и пб, руководителей служб, аварийно-спасательных...
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие для студентов пм. 04.(07.) «Выполнение...
Учебно-методическое пособие составлено в соответствии с требованиями Федерального Государственного образовательного стандарта по...
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие санкт-Петербург 2009г. Автор: Г. П. Подвигин...
Учебно-методическое пособие предназначено для должностных лиц, специалистов го и рсчс организаций
Учебно-методическое пособие Томск 2007 icon Учебно-методическое пособие Кемерово 2015 г. Согласовано: кроо «памск»
Учебно-методическое пособие предназначено для студентов стоматологического факультета, гигиенистов стоматологических со средним медицинским...
Учебно-методическое пособие Томск 2007 icon Федеральное государственное образовательное учреждение Высшего профессионального...
Вакуумный практикум: Учебно-методическое пособие.  Ростов-на-Дону, 2008.  55с

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск