首页资源分类DSP > dsp2407A的flash接口程序

dsp2407A的flash接口程序

已有 445122个资源

下载专区

文档信息举报收藏

标    签:dsp

分    享:

文档简介

dsp2407A的flash接口程序

文档预览

/*************************************************************************************************** * Filename : FLASHMAIN.C * Last Modified : 23 Jan 2002. * Version : 1.3 * Originator : Texas Instruments, DSP Digital Control Systems Group. *************************************************************************************************/ /* Compiler directives to place all the kernel functions in the KER_text section. * This section is handled by the linker command file to have a load address in the * flash memory but a run addres in the SARAM block. This is copied at run time * to the run address by the copyKernel function. */ #pragma CODE_SECTION(kernelControlLoop,"KER_text") #pragma CODE_SECTION(AnotherKernelFunction,"KER_text") /* Function prototypes and constants, registers etc. */ void flashmain(void ); void lf240xInitSys(void); /* Import the function prototypes and variable information from the * flash algorithms */ #include "..\\flashalgos\\include\\CFlash.h" /* Import the function prototypes and variable information from the * flash algorithms */ #include "regs240x.h" /* Buffer to hold data for programming into flash */ int bufferArray[32]; extern int bufferbak[32]; void flashmain() { int i; for(i=0;i<32;i++)bufferarray[i]=bufferbak[i]; /* * Call the system initialization function. * For flash programming at a minimum the Watchdog must be shut down * and the PLL initialized */ lf240xInitSys(); copyKernel(); kernelControlLoop(); } int kernelControlLoop(void) { copyClearAlgo(); flashAlgoVars.SECTOR_CMD=(SECTOR3); /* The code here assumes that clearFlash suceeds, a real app would do error checking.*/ clearFlash(&flashAlgoVars); copyEraseAlgo(); flashAlgoVars.SECTOR_CMD=(SECTOR1); eraseFlash(&flashAlgoVars); /* The code here assumes that eraseFlash suceeds, a real app would do error checking.*/ copyProgramAlgo(); /* Setup the sector permissions */ flashAlgoVars.SECTOR_CMD=(SECTOR1); /* Setup ptr to data buffer. */ flashAlgoVars.DATA_PTR=(int)(&bufferArray); /* Number of words to program */ flashAlgoVars.FL_SECEND=0x32; /* Block address */ flashAlgoVars.ADDR=0x7000; /* Call the program routine */ programFlash(&flashAlgoVars); /* The code here assumes that programFlash suceeds, a real app would do error checking.*/ /* Map in the flash into the program space */ /* SCSR2=0xb; */ /* Map in the ext-RAM into the program space */ /* SCSR2=0x7;*/ } void lf240xInitSys(void) { WDCR=0x6f; /* Dis-able the watchdog */ SCSR1=0x0; /* PLL = x4 */ }

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。