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

📄 main.cpp

📁 TMS320VC5502 DSP BootLoad源码 包括CPLD源码
💻 CPP
字号:
#include "EVM5502Daily.h"
#include "system5501.h"
#include "sys_init.h"
#include "main.h"
int main()
{  
	int iCount=0;
	DSP5501_PLL *pPLL=new DSP5501_PLL;
	DSP5501_EMIF *pEMIF=new DSP5501_EMIF;
	fnSysInit(pPLL, pEMIF);
	delete pPLL;
	delete pEMIF;

//burn Flash
	unsigned int Buf[2];//8 bytes
	FlashErase();
	unsigned int *pFlashPointer=(unsigned int*)FLASHBASEADD;


	Buf[0]=iEntryH;//set the entry Address
	Buf[1]=iEntryL;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0;//set the NUM of register
	Buf[1]=22;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x1c80;//1.PLLSCR
	Buf[1]=0x48;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x1c88;//2.PLLM
	Buf[1]=0xf;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0xffff;//3.delay
	Buf[1]=0xf000;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x1c80;//4.PLLSCR
	Buf[1]=0x40;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0xffff;//5.delay
	Buf[1]=0xf000;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	
	Buf[0]=0x1c80;//6.PLLCSR
	Buf[1]=0x61;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x8400;//7.CLKOUTSR1
	Buf[1]=0x3;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0800;//8.EGCR1
	Buf[1]=0x27bc;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0801;//9.EGCR2
	Buf[1]=0x8;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0804;//10.CE0SCR1
	Buf[1]=0x8432;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0805;//11.CE0SCR2
	Buf[1]=0x2123;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x080c;//12.SDCR1;
	Buf[1]=0x5000;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x080d;//13.SDCR2;
	Buf[1]=0x4622;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x080e;//14.SDRCR1
	Buf[1]=0x700;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x080f;//15.SDRCR2
	Buf[1]=0x100;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0810;//16.SDER1
	Buf[1]=0xb8b7;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0811;//17.SDER2
	Buf[1]=0x17;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0840;//18.CESIZE1
	Buf[1]=0x0;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x080d;//19.SDCR2
	Buf[1]=0x4722;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0xffff;//20.delay
	Buf[1]=0xf000;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0802;//21.CE1SCR1
	Buf[1]=0x8713;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

	Buf[0]=0x0803;//22.CE1SCR2
	Buf[1]=0x31e3;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;

//vecs
	Buf[0]=0;//Length=0x200 bytes
	Buf[1]=0x200;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0;//start add=0x100 in bytes add
	Buf[1]=0x100;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x80,pFlashPointer,0x100);
	pFlashPointer+=0x100;
//ROM
	Buf[0]=0x1;//Length=0x19000 bytes
	Buf[1]=0x9000;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0;//start add=0x8000 in bytes add
	Buf[1]=0x8000;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x4000,pFlashPointer,0xc800);
	pFlashPointer+=0xc800;
//RAM1
	Buf[0]=0;//Length=0x800 bytes
	Buf[1]=0x800;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0x0;//start add=0x2000 in bytes add
	Buf[1]=0x2000;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x1000,pFlashPointer,0x400);
	pFlashPointer+=0x400;
//RAM2
	Buf[0]=0;//Length=0x800 bytes
	Buf[1]=0x800;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0x0;//start add=0x2800 in bytes add
	Buf[1]=0x2800;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x1400,pFlashPointer,0x400);
	pFlashPointer+=0x400;
//RAM3
	Buf[0]=0;//Length=0x400 bytes
	Buf[1]=0x400;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0x0;//start add=0x3000 in bytes add
	Buf[1]=0x3000;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x1800,pFlashPointer,0x200);
	pFlashPointer+=0x200;
//RAM4
	Buf[0]=0;//Length=0x1000 bytes
	Buf[1]=0x1000;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0x0;//start add=0x3400 in bytes add
	Buf[1]=0x3400;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x1a00,pFlashPointer,0x800);
	pFlashPointer+=0x800;
//RAM5
	Buf[0]=0;//Length=0x1800 bytes
	Buf[1]=0x1800;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0x0;//start add=0x4400 in bytes add
	Buf[1]=0x4400;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x2200,pFlashPointer,0xc00);
	pFlashPointer+=0xc00;
//RAM6
	Buf[0]=0;//Length=0x1800 bytes
	Buf[1]=0x1800;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0x0;//start add=0x5c00 in bytes add
	Buf[1]=0x5c00;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x2e00,pFlashPointer,0xc00);
	pFlashPointer+=0xc00;
//RAM7
	Buf[0]=0;//Length=0x400 bytes
	Buf[1]=0x400;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0x0;//start add=0x7400 in bytes add
	Buf[1]=0x7400;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x3a00,pFlashPointer,0x200);
	pFlashPointer+=0x200;
//RAM8
	Buf[0]=0;//Length=0x400 bytes
	Buf[1]=0x400;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0x0;//start add=0x7800 in bytes add
	Buf[1]=0x7800;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x3c00,pFlashPointer,0x200);
	pFlashPointer+=0x200;
//RAM9
	Buf[0]=0;//Length=0x400 bytes
	Buf[1]=0x400;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	Buf[0]=0x0;//start add=0x7c00 in bytes add
	Buf[1]=0x7c00;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite((unsigned int *)0x3e00,pFlashPointer,0x200);
	pFlashPointer+=0x200;

	Buf[0]=0;
	Buf[1]=0;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite(Buf,pFlashPointer,2);
	pFlashPointer+=2;
	FlashWrite(Buf,pFlashPointer,2);

	for(iCount=0;iCount<100;iCount++)
	{
		iCount+=1;
		iCount=5;
	} 
	return 0;
}

⌨️ 快捷键说明

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