亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dec6713_flash.c

?? 在DSP6713項目開發中編寫的燒寫AM29LV160DB flash編程的工具軟件
?? C
字號:

/********************************************************************************
Function:For Flash burn											    
*********************************************************************************/

#include <stdio.h>
#include <csl.h>
#include <csl_irq.h>
#include <csl_chip.h>
#include <csl_emif.h>
#include <csl_irq.h>
#include "DEC6713_FLASH.h"
#include <math.h>

/********************************************************************************/

extern far void vectors();

#define FLASH_ADR1   (0x90000000+0xAAA)
#define FLASH_ADR2   (0x90000000+0x555)  
#define Sourceaddr   0x90000000
#define Toggle_Bit   0x40  /* d6 = 1 */
#define Hangup_Bit   0x20  /* d5 = 1 */ 
#define  Pass_Flag   0
#define  Fail_Flag   1  

#define ramstart      0x00000000
unsigned long ramaddr=ramstart;
Uint8  flash[1024];
Uint8  ram[1024];

Uint8  Tempdata[720];
Uint8  Tempdata2[740];
unsigned char Tempdata1;
unsigned char Data_to_write[240];
unsigned char Data_from_flash[1024];
char           filename[128];
long           codelength;
long           datalength;	 
long           lengthtemp;
unsigned long  processaddr=Sourceaddr;
unsigned int   counter=0;

void flash_chip_erase()
{    
  *(unsigned volatile char*)FLASH_ADR1=0xaa;    
  *(unsigned volatile char*)FLASH_ADR2=0x55;
  *(unsigned volatile char*)FLASH_ADR1=0x80;
  *(unsigned volatile char*)FLASH_ADR1=0xaa;
  *(unsigned volatile char*)FLASH_ADR2=0x55;
  *(unsigned volatile char*)FLASH_ADR1=0x10;   
}      

int Toggle_Bit_Check(unsigned char *addr)
{
	unsigned char toggle_data,read_data;
	toggle_data = *addr&Toggle_Bit;
	do{
		if(((read_data = *addr) &Toggle_Bit) == toggle_data)
			break;
		toggle_data = read_data & Toggle_Bit;
	}while((read_data&Hangup_Bit) != Hangup_Bit);
	toggle_data    = *addr & Toggle_Bit;
	if(((read_data = *addr)&Toggle_Bit) != toggle_data)
		return (Fail_Flag);
	return (Pass_Flag);
}
                  
int Write_Flash_Word(unsigned char *data,unsigned char *address)
{ 
  *(unsigned volatile char *)FLASH_ADR1=0xaa;
  *(unsigned volatile char *)FLASH_ADR2=0x55;
  *(unsigned volatile char *)FLASH_ADR1=0xa0;
  *address=*data; 
  return(Toggle_Bit_Check(address));
}

int Read_Flash_Word(unsigned char *data,unsigned char *address) 
{  
  *(unsigned volatile char *)FLASH_ADR1=0xaa;
  *(unsigned volatile char *)FLASH_ADR2=0x55;
  *(unsigned volatile char *)FLASH_ADR1=0xf0;
  *data=*address; 
  return(Toggle_Bit_Check(address)); 
} 

void Write_Flash(unsigned char Data_to_write[],unsigned char *write_address) 
{ 
  int j;  
  for(j=0;j<240;j++)
    Write_Flash_Word(&Data_to_write[j],write_address++);  
}

void Read_Flash(unsigned char Data_from_flash[],unsigned char *read_address)  
{
  int i;
  for(i=0;i<1024;i++)  
    Read_Flash_Word(&Data_from_flash[i],read_address++);
}   

/********************************************************************************/
/********************************************************************************/
void main()
{   
    FILE *stream;
    long int datalength1;
 	long codelength1;
	int  i,k;
	int Conditionback=1;  
    
	CSL_init();
	
	/* Initialize DEC6713 board. */
	DEC6713_init();
	
	/*Read_Flash(flash,(unsigned char *)Sourceaddr);
	for(i=0;i<1024;i++)
	{
	  ram[i]=*(unsigned char *)ramaddr;
	  ramaddr++;
	}
	for(k=0;k<1024;k++)
	{
	  if(flash[i]!=ram[i])
	  printf("data %d is error\n",i);
	}*/
	
	
	puts("Please Input your file\n");
	scanf("%s",filename);
	
    flash_chip_erase(); 
	puts(" erasing the Flash\n");
	stream=fopen(filename,"rb");
    fseek(stream,0,SEEK_END);          /* the end address of the file */
	codelength1 = (long)ftell(stream);
    fseek(stream,0,SEEK_SET);          /* the start address of the file */
	datalength1 = (long)ftell(stream);
	codelength = codelength1-datalength1;/* calculate the length of the file */
	
	if(stream != NULL)
	{  
	   while(Conditionback)
	   { 
	     if(codelength>740)
	       {
	         datalength    = 740;	 
	         codelength   -= 740;
	         lengthtemp    = 740;
	       } 
	     else
	       {
	         datalength    = codelength;
	         lengthtemp    = codelength;
	         Conditionback = 0;
	       }
	     fread(Tempdata2,sizeof(unsigned char),datalength,stream);
	     /************************/
	     /************************/
	     if(datalength<740)
	     {
	       for(i=datalength;i<740;i++)
	       {
	         Tempdata2[i]='F';
	       }
	     }
	     /************************/
	     /************************/	     
         for(k=0;k<10;k++)
	     {  
	       for(i=0;i<72;i++)
	       {
	         Tempdata[72*k+i]=Tempdata2[74*k+i];
	       }
	     }
	     /************************/
	     /************************/	     	     
	     for(i=0;i<720;i++)
	     {
	       switch(Tempdata[i])
	       {
	         case'0':Tempdata[i]=0x00;break;
	         case'1':Tempdata[i]=0x01;break;
	         case'2':Tempdata[i]=0x02;break;
	         case'3':Tempdata[i]=0x03;break;
	         case'4':Tempdata[i]=0x04;break;
	         case'5':Tempdata[i]=0x05;break;
	         case'6':Tempdata[i]=0x06;break;
	         case'7':Tempdata[i]=0x07;break;
	         case'8':Tempdata[i]=0x08;break;
	         case'9':Tempdata[i]=0x09;break;
	         case'A':Tempdata[i]=0x0A;break;
	         case'B':Tempdata[i]=0x0B;break;
	         case'C':Tempdata[i]=0x0C;break;
	         case'D':Tempdata[i]=0x0D;break;
	         case'E':Tempdata[i]=0x0E;break;
	         case'F':Tempdata[i]=0x0F;break;
	         default:break;
	       }
	     }
         for(i=0;i<240;i++)
	     {
	       //Data_to_write[i]=(Tempdata[i*6+3]<<12)|(Tempdata[i*6+4]<<8)|(Tempdata[i*6]<<4)|Tempdata[i*6+1];
	       //Data_to_write[i]=(Tempdata[i*6]<<12)|(Tempdata[i*6+1]<<8)|(Tempdata[i*6+3]<<4)|Tempdata[i*6+4];
	       Data_to_write[i]=(Tempdata[i*3]<<4)|(Tempdata[i*3+1]);
	     }
         Write_Flash(Data_to_write,(unsigned char *)processaddr);
         Read_Flash_Word(&Tempdata1,(unsigned char *)Sourceaddr);
         if(Tempdata1!=0xC2)
         {
           *(unsigned volatile char *)FLASH_ADR1=0xaa;
           *(unsigned volatile char *)FLASH_ADR2=0x55;
           *(unsigned volatile char *)FLASH_ADR1=0xa0;
           *(unsigned char *)Sourceaddr =0xC2;
         }
         processaddr += 240;
         printf("%s,%d\n","Writing FLASH is in progress",counter++);
       }
       fclose(stream);
       *(unsigned char *)Sourceaddr = 0xF0;       
       puts(" End of writting the Flash\n");
       puts(" Now Please reset your system\n");
    }
    else
       puts("the file is empty\n");

}



/********************************************************************************\
\* End of DEC6713_FLASH.C *\
\********************************************************************************/


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区小说| 国产一本一道久久香蕉| 免费xxxx性欧美18vr| av在线不卡电影| 538在线一区二区精品国产| 国产日韩欧美制服另类| 亚洲二区在线视频| 不卡一卡二卡三乱码免费网站| 欧美日韩国产影片| 国产精品国产馆在线真实露脸| 日本中文字幕一区二区视频 | 久久久久久久综合色一本| 亚洲精品久久7777| 成人一区二区三区视频在线观看| 欧美电影在线免费观看| 亚洲卡通欧美制服中文| 国产成人av福利| 精品久久国产97色综合| 日本美女一区二区| 欧美三级日韩三级| 亚洲激情在线激情| 国产乱理伦片在线观看夜一区 | 91久久奴性调教| 国产日韩av一区二区| 美女精品自拍一二三四| 欧美欧美欧美欧美| 视频在线观看91| 欧美在线影院一区二区| 91精品国产美女浴室洗澡无遮挡| 亚洲一级二级三级在线免费观看| 91麻豆免费看| 亚洲三级免费电影| 色综合久久久久网| 一区二区视频免费在线观看| 高潮精品一区videoshd| 国产亚洲综合性久久久影院| 国产精品99久久久久久久vr| 久久综合色鬼综合色| 日韩电影一二三区| 91精品黄色片免费大全| 日本sm残虐另类| 日韩精品一区二区三区视频播放| 美女在线观看视频一区二区| 欧美大片一区二区| 国产另类ts人妖一区二区| xvideos.蜜桃一区二区| 国产成人av影院| 中文字幕国产精品一区二区| jiyouzz国产精品久久| 国产精品国产三级国产aⅴ入口 | 国产精品影视网| 久久久久久久电影| 99久久久无码国产精品| 亚洲一区视频在线观看视频| 欧美日韩免费在线视频| 蜜桃精品视频在线| 国产日产精品1区| 色综合久久久久| 午夜久久电影网| 久久久国产综合精品女国产盗摄| 不卡电影一区二区三区| 亚洲综合成人在线| 精品欧美黑人一区二区三区| 成人午夜伦理影院| 午夜私人影院久久久久| 亚洲精品在线一区二区| 91蝌蚪porny九色| 免费看日韩精品| 国产精品国产自产拍高清av| 欧美午夜在线一二页| 久久99精品国产麻豆婷婷洗澡| 中文乱码免费一区二区| 欧美三级韩国三级日本三斤| 狠狠色综合播放一区二区| 亚洲欧美一区二区三区久本道91 | 色婷婷亚洲婷婷| 免费一级片91| 亚洲精品ww久久久久久p站| 欧美一区二区三区免费大片| 处破女av一区二区| 免费观看日韩av| 亚洲人成在线播放网站岛国| 日韩欧美一二区| 色综合一个色综合亚洲| 精品夜夜嗨av一区二区三区| 亚洲已满18点击进入久久| 久久亚区不卡日本| 欧美亚洲综合网| 成人免费视频caoporn| 伦理电影国产精品| 亚洲人午夜精品天堂一二香蕉| 精品88久久久久88久久久| 欧美精品久久久久久久久老牛影院| 成人午夜在线播放| 激情五月婷婷综合网| 午夜国产不卡在线观看视频| 亚洲精品视频免费看| 中文字幕不卡在线播放| 欧美mv日韩mv| 欧美日韩另类一区| 在线视频欧美精品| 91女厕偷拍女厕偷拍高清| 国产精品亚洲综合一区在线观看| 青青草成人在线观看| 亚洲国产欧美日韩另类综合| 亚洲欧美在线另类| 国产精品二三区| 欧美高清在线一区| 国产精品久久久久永久免费观看| 久久综合九色综合欧美亚洲| 欧美大胆人体bbbb| 88在线观看91蜜桃国自产| 欧美在线观看视频一区二区三区| 91一区一区三区| 91蜜桃网址入口| 91一区二区三区在线播放| 成人av手机在线观看| 高清beeg欧美| 99re亚洲国产精品| 99久久精品免费| 91蜜桃网址入口| 欧美在线免费播放| 欧美老肥妇做.爰bbww视频| 欧美色图天堂网| 欧美日韩国产一级| 日韩精品一区二区三区在线| www成人在线观看| 国产精品美女久久福利网站| 国产精品每日更新| 一区二区三区日韩欧美精品| 亚洲高清不卡在线观看| 蜜臀av在线播放一区二区三区| 久久精品国产亚洲a| 国产精品自在欧美一区| 成人午夜电影小说| 色噜噜狠狠成人网p站| 欧美少妇一区二区| 精品美女被调教视频大全网站| 欧美精品一区二区三区很污很色的| 久久综合久久综合九色| 亚洲桃色在线一区| 首页亚洲欧美制服丝腿| 国产在线乱码一区二区三区| eeuss国产一区二区三区| 欧美三片在线视频观看| 精品久久国产字幕高潮| 日本一区免费视频| 亚洲自拍偷拍欧美| 韩国视频一区二区| 日本大香伊一区二区三区| 91精品黄色片免费大全| 国产精品嫩草久久久久| 午夜视频在线观看一区| 成人一级视频在线观看| 欧美乱妇一区二区三区不卡视频| 精品99久久久久久| 亚洲午夜在线视频| 国产91富婆露脸刺激对白| 欧美久久高跟鞋激| 国产精品久久久久影院亚瑟| 婷婷中文字幕一区三区| 成人午夜免费视频| 91精品国产色综合久久ai换脸| 国产精品水嫩水嫩| 日本不卡123| 欧美中文字幕不卡| 国产日韩欧美综合一区| 蜜桃视频在线观看一区二区| 一本色道久久综合狠狠躁的推荐 | 欧美午夜理伦三级在线观看| 精品嫩草影院久久| 午夜精品久久久久久久久久| av电影天堂一区二区在线观看| 日韩网站在线看片你懂的| 亚洲精品视频一区二区| 处破女av一区二区| 久久久久久久久久久黄色| 爽爽淫人综合网网站| 99久久99久久精品免费看蜜桃| 日韩一区二区免费电影| 亚洲一区成人在线| 91麻豆免费看| 国产精品毛片久久久久久| 久久99国产精品久久| 欧美区一区二区三区| 一区二区免费在线| 91蜜桃婷婷狠狠久久综合9色| 国产视频911| 国产精品一级黄| 久久网站最新地址| 韩国av一区二区| 欧美精品一区二| 看电影不卡的网站| 欧美一区二区三区爱爱| 天天色天天爱天天射综合| 欧美亚洲丝袜传媒另类| 一区二区三区中文字幕精品精品| 97se亚洲国产综合自在线不卡| 中文字幕av一区 二区| 丁香六月综合激情|