⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsp28_flash.c

📁 这是一个在CCS开发平台上
💻 C
字号:
//
//      TMDX ALPHA RELEASE
//      Intended for product evaluation purposes
//
//###########################################################################
//
// FILE:	Example_28xGpio.c
//
// TITLE:	DSP28 Device GPIO test porgram. 
//		All the GPIO PORT pins IOs will toggle forever in an indefinite
//		loop
//
//###########################################################################
//
//  Ver | dd mmm yyyy | Who  | Description of changes
// =====|=============|======|===============================================
//  0.56| 06 May 2002 | S.S. | EzDSP Alpha Release
//  0.57| 27 May 2002 | L.H. | No change
//###########################################################################



#include "DSP28_Device.h"
#include "DSP28_Globalprototypes.h"
#include "Flash2812_API_Library.h"
#include "extern_ram.h"

unsigned long i;
unsigned int Buffer[0x400];
unsigned int status;
unsigned int *Flash_ptr;
unsigned int Length;
FLASH_ST	ProgStatus;
extern unsigned long Flash_CPUScaleFactor;
FLASH_ST	EraseStatus;
FLASH_ST 	VerifyStatus;

void main(void)
{
	/* 初始化系统控制 */
	InitSysCtrl();

	// Disable and clear all CPU interrupts:
	DINT;
	IER = 0x0000;
	IFR = 0x0000;
	
	/* 初始化外设中断控制 */	
	InitPieCtrl();

	/* 初始化中断矢量表 */
	InitPieVectTable();	
	
	/* 打开PASSWORD */
	Unlock();
	
	/**/
	for(i = 0; i < 0xffff; i++)
	{
		*(EXT_RAM + i) = 0x5555;
		if(*(EXT_RAM + i) != 0x5555)
		{
			status = STATUS_FAILE;
		}
	}
	
	i = 0;	
	
	for(i = 0; i < 0xffff; i++)
	{
		*(EXT_RAM + i) = 0xAAAA;
		if(*(EXT_RAM + i) != 0xAAAA)
		{
			status = STATUS_FAILE;
		}
	}
	
	Flash_CPUScaleFactor = SCALE_FACTOR;
	
	/* 檫除 */
	status = Flash_Erase(SECTORJ,&EraseStatus);
	if(status != STATUS_SUCCESS)
	{
		status = STATUS_FAILE;
	}


	/* 烧写FLASH */
	for(i = 0; i<0x400;i++)
	{
		Buffer[i] = 0x8000 + i;
	}
	
	Flash_ptr = (unsigned int *) 0x3d8000;
	Length = 0x400;	
	status = Flash_Program(Flash_ptr,Buffer,Length,&ProgStatus);
	if(status != STATUS_SUCCESS)
	{
		while(1)
		{    
			status = STATUS_FAILE;
    	}
	}

	
	/* 校验 */
	status = Flash_Verify(Flash_ptr,Buffer,Length,&VerifyStatus);
	
	if(status != STATUS_SUCCESS)
	{
		while(1)
		{    
			status = STATUS_FAILE;
    	}
	}

    else
    {
    	status = STATUS_SUCCESS;	
    }
 }
//===========================================================================
// No more.
//===========================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -