专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

TMS320F2812外设例程系列之扩展Memory

作者:佚名   来源:不详   点击数:  更新时间:2014年08月16日   【字体:

 

 
//#####################################################################
//文件:  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)
{
} //在此加软件断点
}
 
关闭窗口