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

📄 fp240.c

📁 自己编写的tms320f240的烧写程序
💻 C
字号:
#include<stdio.h>  
#include<float.h>  
extern int erase(); /* Declare external func for flash erase. */
extern int program(); /* Declare external func for flash programming */
extern c240init(); /* Declare external func for C240 register init’l’n */
extern wdtoff(); /* Declare external func for wdt disable */
main()
{
    int *a;   
    FILE *fp;     
    char filepath[100];
    unsigned short proglength; 
    unsigned  short shtv1,shtv2;  
    volatile unsigned short *buffers=(volatile unsigned short *)(0xb000); 
    int i; 
    c240init(); /* initialize key ’240 registers */
    wdtoff(); /* disable WD timer (works when VCCP=5v) */
    printf("Please Input your BIN file:\n");  
    scanf("%s",filepath);
    fp=fopen(filepath,"r+b");
	if(fp==NULL)
	{
		printf("File Open fail.Please check the file path.\n");
		for(;;);
	}           
	
	printf("Read file data now,Please waiting...\n");
	shtv1=fgetc(fp);
	shtv2=fgetc(fp);
	proglength=(shtv2<<8)|shtv1;
	buffers[0]=proglength;
	for(i=0;i<proglength;i++)
	{
		shtv1=fgetc(fp);
		shtv2=fgetc(fp);
		buffers[1+i]=(shtv2<<8)|shtv1;	
	}      
	
	printf("File Reading Finished,Program now,Please waiting...\n");     
    
  if (erase(0xff00,0x0000,0x3fff))
  {   
     a=(int *)0x0b000;  
     if (program(0xff00,0x0b001,0x0000,*a))
     { /*Flash programmed ok.*/ 
       printf("FlashROM program OK\n");
       while(1){} /*Spin here forever*/
     }
    else
     { 
       printf("FlashROM erase failing\n");
       while(1){} 
     }
  }
  else
  { 
     printf ("FlashROM clear failing\n");
     while(1){} 
  }
}

⌨️ 快捷键说明

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