//#####################################################################
//文件: memory.c
//说明: 直接对外部扩展的存储器访问。在XINTF Zone2上扩展一个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. 初始化系统控制寄存器、 PLL、 WatchDog、时钟
//本函数存放在DSP281x_SysCtrl.c文件中,如不进行此操作,系统时钟运行在复位值状态
InitSysCtrl();
//Step 2. 初始化GPIO,本函数存放在DSP281x_Gpio.c 文件
//InitGpio(); //本例程序中未使用GPIO,跳过
//Step 3.初始化PIE中断向量表,使每个中断向量指向一个空的中断服务子程序(ISR)
//这些空的子程序存放在DSP281x_DefaultIsr.c文件中,用户可在这些子程序中直接
//插入自己的中断代码,执行中断操作,应用程序一般都要进行此操作
DINT; //关全局中断
IER = 0x0000; //关CPU级中断
IFR = 0x0000; //清除中断标志位
//初始化PIE控制寄存器,本函数在DSP281x_PieCtrl.c文件中
//InitPieCtrl(); 本例未使用PIE,跳过
//初始化中断向量表,本函数在DSP281x_PieVect.c文件中。一般都要进行此操作
InitPieVectTable();
//使能CPU中断和PIE中断,本函数在DSP281x_PieCtrl.c文件中
EnableInterrupts();
//Step 4.初始化片内外设,本函数在DSP281x_InitPeripherals.c文件中
//InitPeripherals(); 本例未使用,跳过
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++ ) //在此加软件断点
(*pz)=0x1234; //向0x80000~0x8000f写入0x1234
for ( i=0;i<16;i++,px++,py++ ) //在此加软件断点
(*py)=(*px); //将0x80000~0x8000f内容复制到0x80100~0x8010f
while(1)
{
} //在此加软件断点
}