ネームスペース utilbf533


説明

ユーティリティー関数

ADSP-BF533 で利用できるユーティリティ関数。


関数

void initEzKit (void)
 EZ-KIT Liteの設定
void initUART (unsigned int sclk, unsigned int bps)
 UART初期化関数


関数

void utilbf533::initEzKit ( void   ) 

EZ-KIT Liteの設定

ADSP-BF533内蔵PLLを設定し、コア周波数を600MHzにする。 EZ-KIT BF533ではCLKINピンに27MHzが与えられているので、これを22倍して 594Hzとする。

さらに非同期メモリバンク、SDRAMCを初期化し、最後にコンパニオン・チップを初期化する

utilbf533.cpp29 行で定義されています。

参照先 pFLASHA_PORTA_DIRpFLASHA_PORTA_OUTpFLASHA_PORTB_DIRpFLASHA_PORTB_OUT.

参照元 main().

00030     {
00031       unsigned int savedIWR;
00032                                     // PLL 初期化
00033       savedIWR = *pSIC_IWR;
00034       *pSIC_IWR = 0x1;              // PLLのみウェイクアップを許可
00035       *pPLL_DIV = 5;                // SCLKの分周比は5 ( 596/6 = 118.8MHz )
00036       *pPLL_CTL = 22<<9;            // MSEL=22倍 ( 27*22 = 594MHz )
00037       ssync();
00038       idle();
00039       *pSIC_IWR = savedIWR;
00040 
00041                                     // 非同期メモリー設定 (EZ-KIT)
00042       *pEBIU_AMBCTL0 = 0x7bb07bb0;  
00043       *pEBIU_AMBCTL1 = 0x7bb07bb0;
00044       *pEBIU_AMGCTL = 0x000f;       // メモリーバンクをイネーブル   
00045     //  *pEBIU_AMGCTL = 0x010f;     // メモリーバンクをイネーブル   
00046 
00047                                     // SDRAM 初期化
00048       *pEBIU_SDRRC = 0x00000817;    
00049       *pEBIU_SDBCTL = 0x00000013;
00050       *pEBIU_SDGCTL = 0x0091998d;   
00051 
00052                                     // FLASHのポート制御
00053       *pFLASHA_PORTB_OUT = 0x00;    // LEDをクリア
00054       *pFLASHA_PORTB_DIR = 0x3f;    // 出力ビット 0-5
00055 
00056       *pFLASHA_PORTA_OUT = 0x00;    // 信号をクリア
00057       *pFLASHA_PORTA_DIR = 0xff;    // 出力ビット 0-7
00058       ssync();
00059     }

void utilbf533::initUART ( unsigned int  sclk,
unsigned int  bps 
)

UART初期化関数

引数:
sclk Hzで表したSCLK周波数
bps : baud レート
UARTを設定する。SCLK周波数と希望するbaudレートを与えると、そのために 必要なレジスタ設定を行う。なお、8bit, 1stop bit, non parityである。

utilbf533.cpp69 行で定義されています。

00070     {
00071         unsigned int divisor;
00072     
00073         divisor = sclk/(16*bps);                // 計算式はHRのUART_DLL/UART_DLHを参照
00074         *pUART_GCTL = UCEN;                     // UARTのクロックを入れる
00075         ssync();                                // GCTLへの書き込み完了を待つ
00076         *pUART_LCR = DLAB;                      // DLL,DLHをアクセス可能にする
00077         ssync();                                // LCRへの書き込み完了を待つ
00078         *pUART_DLL = divisor & 0x00ff;          // ディバイザーの下位8ビットを設定
00079         *pUART_DLH = ( divisor >> 8 ) & 0xff;   // ディバイザーの上位8ビットを設定
00080         ssync();                                // DLL, DLHへの書き込みを待つ
00081         *pUART_LCR = WLS(8);                    // 8ビット、パリティなし、1ストップビット
00082         ssync();                                // LCRへの書き込みが完了するまで待つ
00083     }


AudioFrameWorkに対してMon Apr 9 17:15:14 2007に生成されました。  doxygen 1.5.1-p1