//#####################################################################
//文件: memory.c
//說(shuō)明: 直接對(duì)外部擴(kuò)展的存儲(chǔ)器訪問(wèn)。在XINTF Zone2上擴(kuò)展一個(gè)64K×16位的SRAM
//#####################################################################
#include "DSP281x_Device.h"
#include "DSP281x_Examples.h"
//主程序
main()
{
int i;
unsigned int * px;
unsigned int * py;
unsigned int * pz;
//Step 1. 初始化系統(tǒng)控制寄存器、 PLL、 WatchDog、時(shí)鐘
//本函數(shù)存放在DSP281x_SysCtrl.c文件中,如不進(jìn)行此操作,系統(tǒng)時(shí)鐘運(yùn)行在復(fù)位值狀態(tài)
InitSysCtrl();
//Step 2. 初始化GPIO,本函數(shù)存放在DSP281x_Gpio.c 文件
//InitGpio(); //本例程序中未使用GPIO,跳過(guò)
//Step 3.初始化PIE中斷向量表,使每個(gè)中斷向量指向一個(gè)空的中斷服務(wù)子程序(ISR)
//這些空的子程序存放在DSP281x_DefaultIsr.c文件中,用戶可在這些子程序中直接
//插入自己的中斷代碼,執(zhí)行中斷操作,應(yīng)用程序一般都要進(jìn)行此操作
DINT; //關(guān)全局中斷
IER = 0x0000; //關(guān)CPU級(jí)中斷
IFR = 0x0000; //清除中斷標(biāo)志位
//初始化PIE控制寄存器,本函數(shù)在DSP281x_PieCtrl.c文件中
//InitPieCtrl(); 本例未使用PIE,跳過(guò)
//初始化中斷向量表,本函數(shù)在DSP281x_PieVect.c文件中。一般都要進(jìn)行此操作
InitPieVectTable();
//使能CPU中斷和PIE中斷,本函數(shù)在DSP281x_PieCtrl.c文件中
EnableInterrupts();
//Step 4.初始化片內(nèi)外設(shè),本函數(shù)在DSP281x_InitPeripherals.c文件中
//InitPeripherals(); 本例未使用,跳過(guò)
px=(unsigned int *)0x80000;
py=(unsigned int *)0x80100;
for ( i=0,pz=px;i<16;i++,pz++ )
(*pz)=i; //向0x80000~0x8000f寫入0~f
for ( i=0,pz=py;i<16;i++,pz++ ) //在此加軟件斷點(diǎn)
(*pz)=0x1234; //向0x80000~0x8000f寫入0x1234
for ( i=0;i<16;i++,px++,py++ ) //在此加軟件斷點(diǎn)
(*py)=(*px); //將0x80000~0x8000f內(nèi)容復(fù)制到0x80100~0x8010f
while(1)
{
} //在此加軟件斷點(diǎn)
}