datasheet
超过460,000+ 应用技术资源下载
null

dsp2407A的flash接口程序

  • 1星
  • 日期: 2015-06-20
  • 大小: 2.71KB
  • 所需积分:1分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 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 */ }
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子

$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })