Сохранить русские комментарии и настройки проекта в UTF-8
Добавить пояснения к исходникам, заголовкам TI, настройкам CCS и существующим проверкам. Зафиксировать правила кодировки, обзор модулей и аудит комментариев.
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
/* Настройка внешней памяти и служебные задержки. Русские пояснения сохранены в UTF-8. */
|
||||
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
|
||||
#include "DSP2833x_Device.h" // DSP281x Headerfile Include File
|
||||
|
||||
// Configure the timing paramaters for Zone 7.
|
||||
@@ -5,64 +7,94 @@
|
||||
// This function should not be executed from XINTF
|
||||
// Adjust the timing based on the data manual and
|
||||
// external device requirements.
|
||||
/* Настраивает временные параметры внешней шины XINTF Zone7 для RAM регистратора. */
|
||||
void init_zone7(void)
|
||||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||||
{
|
||||
|
||||
// Make sure the XINTF clock is enabled
|
||||
/* Записывает SysCtrlRegs.PCLKCR3.bit.XINTFENCLK значением 1; данные XINTFENCLK. */
|
||||
SysCtrlRegs.PCLKCR3.bit.XINTFENCLK = 1;
|
||||
|
||||
// Configure the GPIO for XINTF with a 16-bit data bus
|
||||
// This function is in DSP2833x_Xintf.c
|
||||
/* Инициализирует модуль вызовом InitXintf16Gpio(); перед его дальнейшим использованием. */
|
||||
InitXintf16Gpio();
|
||||
/* Разрешение записи в защищённые регистры периферии. */
|
||||
EALLOW;
|
||||
// All Zones---------------------------------
|
||||
// Timing for all zones based on XTIMCLK = SYSCLKOUT
|
||||
/* Записывает XintfRegs.XINTCNF2.bit.XTIMCLK значением 0; данные XTIMCLK. */
|
||||
XintfRegs.XINTCNF2.bit.XTIMCLK = 0;
|
||||
// Buffer up to 3 writes
|
||||
/* Записывает XintfRegs.XINTCNF2.bit.WRBUFF значением 3; данные WRBUFF. */
|
||||
XintfRegs.XINTCNF2.bit.WRBUFF = 3;
|
||||
// XCLKOUT is enabled
|
||||
/* Записывает XintfRegs.XINTCNF2.bit.CLKOFF значением 0; данные CLKOFF. */
|
||||
XintfRegs.XINTCNF2.bit.CLKOFF = 0;
|
||||
// XCLKOUT = XTIMCLK
|
||||
/* Записывает XintfRegs.XINTCNF2.bit.CLKMODE значением 0; данные CLKMODE. */
|
||||
XintfRegs.XINTCNF2.bit.CLKMODE = 0;
|
||||
|
||||
// Zone 7------------------------------------
|
||||
// When using ready, ACTIVE must be 1 or greater
|
||||
// Lead must always be 1 or greater
|
||||
// Zone write timing
|
||||
/* Записывает XintfRegs.XTIMING7.bit.XWRLEAD значением 1; данные XWRLEAD. */
|
||||
XintfRegs.XTIMING7.bit.XWRLEAD = 1;
|
||||
/* Записывает XintfRegs.XTIMING7.bit.XWRACTIVE значением 2; данные XWRACTIVE. */
|
||||
XintfRegs.XTIMING7.bit.XWRACTIVE = 2;
|
||||
/* Записывает XintfRegs.XTIMING7.bit.XWRTRAIL значением 1; данные XWRTRAIL. */
|
||||
XintfRegs.XTIMING7.bit.XWRTRAIL = 1;
|
||||
// Zone read timing
|
||||
/* Записывает XintfRegs.XTIMING7.bit.XRDLEAD значением 1; данные XRDLEAD. */
|
||||
XintfRegs.XTIMING7.bit.XRDLEAD = 1;
|
||||
/* Записывает XintfRegs.XTIMING7.bit.XRDACTIVE значением 3; данные XRDACTIVE. */
|
||||
XintfRegs.XTIMING7.bit.XRDACTIVE = 3;
|
||||
/* Записывает XintfRegs.XTIMING7.bit.XRDTRAIL значением 0; данные XRDTRAIL. */
|
||||
XintfRegs.XTIMING7.bit.XRDTRAIL = 0;
|
||||
|
||||
// don't double all Zone read/write lead/active/trail timing
|
||||
/* Записывает XintfRegs.XTIMING7.bit.X2TIMING значением 0; данные X2TIMING. */
|
||||
XintfRegs.XTIMING7.bit.X2TIMING = 0;
|
||||
|
||||
// Zone will not sample XREADY signal
|
||||
/* Записывает XintfRegs.XTIMING7.bit.USEREADY значением 0; данные USEREADY. */
|
||||
XintfRegs.XTIMING7.bit.USEREADY = 0;
|
||||
/* Записывает XintfRegs.XTIMING7.bit.READYMODE значением 0; данные READYMODE. */
|
||||
XintfRegs.XTIMING7.bit.READYMODE = 0;
|
||||
|
||||
// 1,1 = x16 data bus
|
||||
// 0,1 = x32 data bus
|
||||
// other values are reserved
|
||||
/* Записывает XintfRegs.XTIMING7.bit.XSIZE значением 3; данные XSIZE. */
|
||||
XintfRegs.XTIMING7.bit.XSIZE = 3;
|
||||
/* Закрытие доступа к защищённым регистрам периферии. */
|
||||
EDIS;
|
||||
|
||||
//Force a pipeline flush to ensure that the write to
|
||||
//the last register configured occurs before returning.
|
||||
/* Вызывает asm с аргументами (" RPT #7 || NOP") в текущей последовательности операций. */
|
||||
asm(" RPT #7 || NOP");
|
||||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||||
}
|
||||
|
||||
/* Формирует задержку в микросекундах через калиброванную функцию DSP28x_usDelay. */
|
||||
void pause_us(unsigned long t)
|
||||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||||
{
|
||||
/* Объявляет i — данные i. */
|
||||
unsigned long i;
|
||||
|
||||
/* Записывает t значением t >> 1; данные t. */
|
||||
t = t >> 1;
|
||||
|
||||
/* Цикл for (i = 0; i < t; i++); задаёт начальное значение, условие продолжения и шаг перебора. */
|
||||
for (i = 0; i < t; i++)
|
||||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||||
{
|
||||
/* Вызывает DSP28x_usDelay с аргументами (CLKMULT*8L) в текущей последовательности операций. */
|
||||
DSP28x_usDelay(CLKMULT*8L);
|
||||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||||
} }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user