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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dsk_flash.c

?? 該代碼實(shí)現(xiàn)了 兩次下載法在dspC6713平臺(tái)上 燒寫flash的操作過程
?? C
字號(hào):
/*****************************************************************************
* File name :  FLASH.c
* Description: Including Functions Supporting 8-bit Flash (AT29LV010A)
******************************************************************************/
#ifndef MASTER_FILE
#define C6711_GLOBALS
#include "includes.h"
#endif

#define PWD 0x12345678  

void delay_msec(int );
void flash_page_prog( unsigned int src_addr, unsigned int dst_addr, int page_size);

/*-------------------------------------------------------------------------*
* Function:   flash_prog() 
* Description: Any byte that is not loaded during the programming of its 
*              sector will be erased to read FFh.                                                                
*-------------------------------------------------------------------------*/
#pragma DATA_SECTION(host_buffer, "BUFFER")

  unsigned int host_buffer[33];
  unsigned int start_addr, prog_ptr, prog_flag, page_count, checksum, i;
  char *check_ptr;

void flash_prog()
{
  host_buffer[0] = PWD;          /* send flag, indicating dsp is ready  */
  
  while(host_buffer[0] != 0);    /* wait host acknowledge  */
  start_addr = host_buffer[1];   /* save start programming address */
  prog_ptr = start_addr;         /* initialize pointer value   */
  page_count = 0;                /* initialize programmed page counter */
  prog_flag = 1;                 /* set prog_flag */

  while(prog_flag)               /* loop of receiving host data & program flash */
  {
     while (host_buffer[0] == 0); /* wait to receive a host packet data */
	 if (host_buffer[0] == 1)     /* check if last packet */
	 { 
	   flash_page_prog((unsigned int)&host_buffer[1], prog_ptr, FLASH_WRITE_SIZE); /* prog a page of flash */
	   prog_ptr += FLASH_WRITE_SIZE;      /* update programming pointer */
	   page_count++;               /* increment the programmed page counter */
	   host_buffer[0] = 0;         /* send acknowledgement to host */  
	 }
	 else                          /* host_buffer[0] == 2 */
	 {
	   prog_flag = 0;
	   host_buffer[0] = 0;
	 }
  } 
   
  checksum = 0;                  /* initialize checksum */
  check_ptr = (char *)start_addr; 
  for (i = 0; i < page_count*FLASH_WRITE_SIZE; i++)
  {
	  checksum += *check_ptr++;
  }

  while ( host_buffer[0] == 0 );
  host_buffer[1] = checksum;
  host_buffer[0] = PWD;
}

void flash_page_prog( unsigned int src_addr, unsigned int dst_addr, int page_size)
{
  int i;
  char temp,temp1;
  char *flash_ptr = (char *)dst_addr;
  char *src_ptr = (char *)src_addr;

  *(char *)FLASH_ADR1 = FLASH_KEY1;/*FLASH_ADR1=0x90005555,FLASH_KEY1=0xAA*/
  *(char *)FLASH_ADR2 = FLASH_KEY2;/*FLASH_ADR2=0x90002AAA,FLASH_KEY2=0x55*/
  *(char *)FLASH_ADR1 = FLASH_KEY3;/*FLASH_KEY3=0xA0                      */
  for (i=0;i<page_size;i++) 
     *flash_ptr++ = *src_ptr++;
     
  temp = *--flash_ptr;
  temp1 = *--src_ptr;
  while ( temp != temp1)
  {
    temp = *flash_ptr;
  }
}

/*-------------------------------------------------------------------------*
* Function:   flash_erase() 
* Description: erase the whole flash                                                                
*-------------------------------------------------------------------------*/
void flash_erase()
{
  printf("Begin erase the Flash\n");
  *(char *)FLASH_ADR1 = FLASH_KEY1;/*FLASH_ADR1=0x90005555,FLASH_KEY1=0xAA*/
  *(char *)FLASH_ADR2 = FLASH_KEY2;/*FLASH_ADR2=0x90002AAA,FLASH_KEY2=0x55*/
  *(char *)FLASH_ADR1 = 0x80;
  *(char *)FLASH_ADR1 = 0xAA;
  *(char *)FLASH_ADR2 = 0x55;
  *(char *)FLASH_ADR1 = 0x10;
  delay_msec(10000);
}

/*-------------------------------------------------------------------------*
* Function:    flash_product_identify()
* Argument:    sel==0 return manufacture code 
*              sel==1 return device code 
* Description: Read the product identifier
*              Manufacture Code is 1F;Device Code is 35.                                                                
*-------------------------------------------------------------------------*/
int flash_product_identify(char sel)
{ 
 int code;
 printf("Flash manufactue code identify\n");
 /*Enter Product Identification Mode*/
  *(char *)FLASH_ADR1 = FLASH_KEY1;
  *(char *)FLASH_ADR2 = FLASH_KEY2;
  *(char *)FLASH_ADR1 = 0x90;
   delay_msec(20);
/*Read Manufacture Code*/
 if(sel==0)
  code=(*(char *)(FLASH_START));
/*Read Device Code*/ 
 else if(sel==1)
      code=(*(char *)(FLASH_START+0x01));
      else
      code=0;
/*Enter Product Identification Mode*/ 
 *(char *)FLASH_ADR1 = FLASH_KEY1;
 *(char *)FLASH_ADR2 = FLASH_KEY2;
 *(char *)FLASH_ADR1 = 0xF0;
 delay_msec(20);
 
 return code;
}

/*-------------------------------------------------------------------------*
* Function:   flash_bootlock_enable() 
* Description: Boot block lockout feature enable
*              sel==0  enable lower address boot block
*              sel==1  enable higher address boot block                                                               
*-------------------------------------------------------------------------*/
BOOLEAN flash_bootlock_enable(char sel)
{
 *(char *)FLASH_ADR1 = FLASH_KEY1;
 *(char *)FLASH_ADR2 = FLASH_KEY2;
 *(char *)FLASH_ADR1 = 0x80;
 *(char *)FLASH_ADR1 = FLASH_KEY1;
 *(char *)FLASH_ADR2 = FLASH_KEY2;
 *(char *)FLASH_ADR1 = 0x40;
 
 /*Lockout feature set on lower address boot block*/
 if(sel==0)
 {*(char *)(FLASH_START)=0x00; 
   delay_msec(20);
   return TRUE;
 }
 /*Lockout feature set on higher address boot block*/
 else if(sel==1)
      { *(char *)(FLASH_START+0x1FFFF)=0xFF;
        delay_msec(20);
        return TRUE;
      }
      else
       return ERROR; 
 
}

/*-------------------------------------------------------------------------*
* Function:   flash_bootblock_detect() 
* Description: sel==0  lower address boot block detect
*              sel==1  higher address boot block detect                                                                
*-------------------------------------------------------------------------*/
BOOLEAN flash_bootblock_detect(char sel)
{ 
  char block_lockout;
/*Enter Product Identification Mode*/
  *(char *)FLASH_ADR1 = FLASH_KEY1;
  *(char *)FLASH_ADR2 = FLASH_KEY2;
  *(char *)FLASH_ADR1 = 0x90;
  delay_msec(20);
  
/*Lower address boot block lockout detection*/
 if(sel==0)
  block_lockout=(*(char *)(FLASH_START+0x00002));
 /*Higher address boot block lockout detection*/ 
 if(sel==1)
  block_lockout=(*(char *)(FLASH_START+0x1FFF2));
         
/*Enter Product Identification Mode*/ 
 *(char *)FLASH_ADR1 = FLASH_KEY1;
 *(char *)FLASH_ADR2 = FLASH_KEY2;
 *(char *)FLASH_ADR1 = 0xF0;
  delay_msec(20);
 //return block_lockout;
 if(block_lockout==0xfffffffe) 
     return   0;             /*The corresponding block can be programmed  */
  else if(block_lockout==0xffffffff)
        return 1;             /*The corresponding block cannot be programmed*/
       else 
        return 10; 
}


/* END OF FILE */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀a∨国产成人精品| 一区二区三区日韩| 99精品久久久久久| 18成人在线视频| 欧美男生操女生| 国产曰批免费观看久久久| 欧美精彩视频一区二区三区| 日本高清不卡在线观看| 日本在线不卡视频| 日韩亚洲欧美综合| 99久久综合国产精品| 天堂成人免费av电影一区| 26uuu色噜噜精品一区二区| 91在线视频免费91| 麻豆一区二区在线| 亚洲激情综合网| 久久夜色精品国产噜噜av| 91国在线观看| 成人美女视频在线观看18| 亚洲国产另类av| 国产精品欧美一级免费| 欧美在线色视频| 国产.欧美.日韩| 日韩在线一区二区| 日韩欧美国产不卡| 欧美在线高清视频| jiyouzz国产精品久久| 蓝色福利精品导航| 亚洲午夜免费电影| 国产精品成人一区二区艾草| 精品久久国产字幕高潮| 欧美三区免费完整视频在线观看| 国产成人精品亚洲777人妖| 三级欧美韩日大片在线看| 亚洲同性gay激情无套| 久久精品综合网| 日韩精品一区二区在线| 欧美日韩一二三| 972aa.com艺术欧美| 国产成人在线看| 国内成人自拍视频| 亚洲精品水蜜桃| 国产精品高潮呻吟| 国产婷婷色一区二区三区四区| 91精品国产91久久久久久一区二区 | 亚洲成人av在线电影| 亚洲欧洲成人自拍| 综合久久一区二区三区| 亚洲色图欧洲色图| 一区二区三区**美女毛片| 亚洲国产视频a| 日本女人一区二区三区| 国模套图日韩精品一区二区| 国产精品一二一区| 成人国产电影网| 4438成人网| 精品成人免费观看| 国产亚洲综合色| 亚洲视频一区二区免费在线观看 | 久久免费午夜影院| 日本一区二区三区视频视频| 亚洲婷婷国产精品电影人久久| 一级日本不卡的影视| 日本欧美一区二区三区乱码| 国产尤物一区二区| 成人av网站在线观看免费| 在线一区二区三区做爰视频网站| 欧美三片在线视频观看| 精品国产一区二区三区四区四| 久久女同精品一区二区| 亚洲天堂2014| 蜜桃精品在线观看| 成人教育av在线| 宅男在线国产精品| 欧美国产综合一区二区| 夜夜嗨av一区二区三区中文字幕| 奇米色一区二区三区四区| 丁香桃色午夜亚洲一区二区三区| 在线免费观看日韩欧美| 日韩一区二区电影网| 国产精品久久一级| 青椒成人免费视频| 97久久精品人人做人人爽| 欧美一区二区三区性视频| 欧美激情在线看| 无码av免费一区二区三区试看| 国产一区二区中文字幕| 欧美亚洲精品一区| 久久综合资源网| 亚洲制服丝袜一区| 国产白丝精品91爽爽久久| 欧美性一区二区| 久久综合久久鬼色中文字| 一区二区久久久久| 国产美女一区二区| 在线播放日韩导航| 亚洲视频 欧洲视频| 激情综合一区二区三区| 欧美中文字幕久久| 国产精品夫妻自拍| 激情综合网天天干| 欧美三级视频在线播放| 中文一区在线播放| 久久精品99国产国产精| 在线观看免费亚洲| 中文字幕一区二区视频| 国产在线日韩欧美| 91精品国产色综合久久| 亚洲人成亚洲人成在线观看图片| 国产一区二区电影| 日韩一级大片在线| 日韩国产高清影视| 在线观看一区二区视频| 中文字幕一区二区三区在线播放| 久88久久88久久久| 日韩视频免费观看高清完整版| 亚洲一区二区三区四区的| 成人激情开心网| 国产日产亚洲精品系列| 久久超碰97中文字幕| 91精品国产综合久久久蜜臀粉嫩| 一区二区三区在线观看视频| av电影在线观看不卡| 日韩av不卡在线观看| 欧美色倩网站大全免费| 亚洲午夜精品17c| 91成人免费网站| 亚洲激情av在线| 在线视频欧美精品| 亚洲影视资源网| 欧美自拍丝袜亚洲| 亚洲综合图片区| 欧美日韩一本到| 日韩成人dvd| 日韩限制级电影在线观看| 日日夜夜精品免费视频| 欧美日韩精品一区二区三区四区| 亚洲精品免费播放| 在线影视一区二区三区| 亚洲444eee在线观看| 欧美高清一级片在线| 美女爽到高潮91| 精品少妇一区二区三区免费观看 | 国产高清精品久久久久| 亚洲精品在线电影| 黑人精品欧美一区二区蜜桃| 欧美大片一区二区| 国产一区二区伦理片| 国产欧美一区二区精品性| 成人激情小说网站| 亚洲激情男女视频| 91精品国产综合久久蜜臀| 精品一区二区三区免费| 久久久久久久性| voyeur盗摄精品| 亚洲资源在线观看| 91麻豆精品国产自产在线观看一区 | 中文字幕第一区二区| 99re视频精品| 香蕉乱码成人久久天堂爱免费| 日韩一区二区精品| 国产精品69毛片高清亚洲| 亚洲日本青草视频在线怡红院| 91福利社在线观看| 男人操女人的视频在线观看欧美| 久久综合视频网| 91免费视频网址| 日韩影视精彩在线| 国产欧美日韩综合精品一区二区| 99久久精品免费看| 日本亚洲电影天堂| 国产精品女主播在线观看| 欧美性猛交一区二区三区精品| 久久99久久久久久久久久久| 中文字幕电影一区| 91精品国产综合久久久久久| 国产精品99久久久久久似苏梦涵 | zzijzzij亚洲日本少妇熟睡| 亚洲综合丝袜美腿| 久久青草国产手机看片福利盒子| 91亚洲精品久久久蜜桃| 日韩va欧美va亚洲va久久| 国产亚洲精品资源在线26u| 色就色 综合激情| 极品少妇xxxx偷拍精品少妇| 亚洲欧洲色图综合| 欧美成人精品3d动漫h| 91片在线免费观看| 国内久久婷婷综合| 亚洲一区二区三区四区的| 国产欧美1区2区3区| 欧美男人的天堂一二区| 成人美女视频在线看| 裸体在线国模精品偷拍| 奇米精品一区二区三区在线观看一| 国产精品久久久久一区二区三区共 | 成人黄色免费短视频| 美女视频网站黄色亚洲| 亚洲一区二区精品3399| 中文无字幕一区二区三区 |