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

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

?? main.c

?? str75x的軟件庫源代碼
?? C
字號(hào):
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
* File Name          : main.c
* Author             : MCD Application Team
* Date First Issued  : 03/10/2006
* Description        : Provides a basic example of how to perform write, read and 
*                      erase operations on an SPI based FLASH connected to SMI. 
*                      The M25P64 FLASH mounted on the STR75x-EVAL board is used
*                      as example.
********************************************************************************
* History:
* 07/17/2006 : V1.0
* 03/10/2006 : V0.1
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "smi_flash.h"

/* Private typedef -----------------------------------------------------------*/
typedef enum { FAILED = 0, PASSED = !FAILED} TestStatus;

/* Private define ------------------------------------------------------------*/
#define PageSize       0x100

#define bBufferLength    PageSize
#define hBufferLength    PageSize/2
#define wBufferLength    PageSize/4

/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
u8 bTxBuffer[bBufferLength], bRxBuffer[bBufferLength];
u16 hTxBuffer[hBufferLength], hRxBuffer[hBufferLength];
u32 wTxBuffer[wBufferLength], wRxBuffer[wBufferLength];
u32 WriteAddr, ReadAddr;
TestStatus bWriteStatus = PASSED, hWriteStatus = PASSED, wWriteStatus = PASSED;
u32 FALSHID, nCounter;
ErrorStatus OSC4MStartUpStatus;
  
/* Private function prototypes -----------------------------------------------*/
void MRCC_Configuration(void);

/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : main
* Description    : Main program
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
int main()
{
  #ifdef DEBUG
    debug();
  #endif

/* Configure the system clocks -----------------------------------------------*/
  MRCC_Configuration();

/* Fill the transmit buffers -------------------------------------------------*/
  for(nCounter = 0; nCounter < bBufferLength; nCounter++)
  {
    bTxBuffer[nCounter] = nCounter;
  }

  for(nCounter = 0; nCounter < hBufferLength; nCounter++)
  {
    hTxBuffer[nCounter] = nCounter*2;
  }    
  
  for(nCounter = 0; nCounter < wBufferLength; nCounter++)
  {
    wTxBuffer[nCounter] = nCounter*4;
  }    
  

/* Configure SMI and GPIOs ---------------------------------------------------*/
  SMI_FLASH_Init(); /* SMI clock: HCLK/SMI_Prescaler = 60 MHz/2 = 30 MHz */

  
/* Write Byte buffer to the FLASH then check the written data ----------------*/  
  /* Erase sector 2 of the FLASH */
  SMI_FLASH_SectorErase(0x20000);

  ReadAddr = WriteAddr = 0x80020000;

  SMI_FLASH_WritebBuffer(bTxBuffer, WriteAddr, bBufferLength);

  SMI_FLASH_ReadbBuffer(bRxBuffer, ReadAddr, bBufferLength);
  
  for(nCounter = 0; (nCounter < bBufferLength) && (bWriteStatus == PASSED); nCounter++)
  {
    if(bRxBuffer[nCounter] != bTxBuffer[nCounter]) 
    {
      bWriteStatus = FAILED;   
    }
  }

  
/* Write Half Word buffer to the FLASH then check the written data ------------*/  
  /* Erase sector 3 of the FLASH */
  SMI_FLASH_SectorErase(0x30000);

  ReadAddr = WriteAddr = 0x80030000;

  SMI_FLASH_WritehBuffer(hTxBuffer, WriteAddr, hBufferLength);
  SMI_FLASH_ReadhBuffer(hRxBuffer, ReadAddr, hBufferLength);

  for(nCounter = 0; (nCounter < hBufferLength) && (hWriteStatus == PASSED); nCounter++)
  {
    if(hRxBuffer[nCounter] != hTxBuffer[nCounter])
    {
      hWriteStatus = FAILED;   
    }       
  }  
 
/* Write Word buffer to the FLASH then check the written data ----------------*/     
  /* Erase sector 4 of the FLASH */
  SMI_FLASH_SectorErase(0x40000);

  ReadAddr = WriteAddr = 0x80040000;

  SMI_FLASH_WritewBuffer(wTxBuffer, WriteAddr, wBufferLength);
  SMI_FLASH_ReadwBuffer(wRxBuffer, ReadAddr, wBufferLength);
  
  for(nCounter = 0; (nCounter < wBufferLength) && (wWriteStatus == PASSED); nCounter++)
  {
    if(wRxBuffer[nCounter] != wTxBuffer[nCounter]) 
    {
      wWriteStatus = FAILED;   
    }       
  }    

/* Bulk Erase ----------------------------------------------------------------*/  
  //SMI_FLASH_BulkErase(); /* This will erase the whole FLASH */
 
/* Read FLASH ID -------------------------------------------------------------*/
  FALSHID = SMI_FLASH_ReadID(); /* The ID should be 0x202017 for M25P64 FLASH */

 
  while(1);
}

/*******************************************************************************
* Function Name  : MRCC_Configuration
* Description    : Configures the different system clocks.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void MRCC_Configuration(void)
{
  /* MRCC system reset(for debug purpose) */
  MRCC_DeInit();

  /* Wait for OSC4M start-up */
  OSC4MStartUpStatus = MRCC_WaitForOSC4MStartUp();

  if(OSC4MStartUpStatus == SUCCESS)
  {
    /* Set HCLK to 60MHz */
    MRCC_HCLKConfig(MRCC_CKSYS_Div1);

    /* Set CKTIM to 30MHz */
    MRCC_CKTIMConfig(MRCC_HCLK_Div2);

    /* Set PCLK to 30MHz */
    MRCC_PCLKConfig(MRCC_CKTIM_Div1);

    /* FLASH in burst mode */
    CFG_FLASHBurstConfig(CFG_FLASHBurst_Enable);

    /* Set CKSYS to 60MHz */
    MRCC_CKSYSConfig(MRCC_CKSYS_OSC4MPLL, MRCC_PLL_Mul_15);
  }

  /* GPIO pins optimized for 3V3 operation */
  MRCC_IOVoltageRangeConfig(MRCC_IOVoltageRange_3V3); 
  
  /* Enable GPIOs clocks */
  MRCC_PeripheralClockConfig(MRCC_Peripheral_GPIO, ENABLE);
}
  
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频一区 二区 三区| 欧美日韩不卡一区| 欧美巨大另类极品videosbest | 亚洲综合激情另类小说区| 蜜臀久久久久久久| 7777精品伊人久久久大香线蕉的| 亚洲欧美福利一区二区| 成人av在线一区二区三区| 国产亚洲一区字幕| 国产成人午夜片在线观看高清观看| 在线观看精品一区| 天堂久久一区二区三区| 欧美丰满少妇xxxbbb| 亚洲国产精品一区二区久久| 欧美美女一区二区在线观看| 午夜激情久久久| 欧美一区二区三区在| 国产永久精品大片wwwapp| 国产欧美日韩中文久久| 国产iv一区二区三区| 亚洲视频免费在线观看| 欧洲一区在线电影| 久久精品国产亚洲一区二区三区| 精品国产乱子伦一区| 丁香六月综合激情| 亚洲成av人**亚洲成av**| ww久久中文字幕| 色婷婷亚洲精品| 老汉av免费一区二区三区| 久久你懂得1024| 91丨porny丨最新| 日本欧洲一区二区| 国产午夜精品一区二区| 色天使色偷偷av一区二区| 免费观看日韩av| 亚洲欧洲综合另类| 久久色成人在线| 欧美影院精品一区| 国产成人啪免费观看软件| 亚洲综合一区二区| 欧美极品少妇xxxxⅹ高跟鞋| 欧美中文字幕久久| 成人sese在线| 狠狠色综合播放一区二区| 午夜精品福利在线| 亚洲综合久久久久| 亚洲人xxxx| 亚洲欧洲成人精品av97| 国产欧美日韩亚州综合| 欧美一区二区久久久| 欧美三片在线视频观看| 在线视频观看一区| 91色婷婷久久久久合中文| bt欧美亚洲午夜电影天堂| 99久久国产免费看| 99综合影院在线| 91黄色在线观看| 欧美中文字幕亚洲一区二区va在线 | 精品99一区二区| 日韩精品专区在线影院重磅| 日韩欧美国产一区在线观看| 欧美婷婷六月丁香综合色| 欧美日韩精品一区二区| 在线电影欧美成精品| 欧美一区二区播放| 久久久久久夜精品精品免费| 国产欧美日韩精品在线| 日韩理论片在线| 日韩在线一区二区三区| 国产一区二区三区免费观看| 国产成人精品1024| 国产欧美日韩不卡| 亚洲精品成人a在线观看| 日韩和欧美一区二区三区| 精品一区二区三区香蕉蜜桃| 国产91色综合久久免费分享| 色94色欧美sute亚洲线路一ni| 欧美亚洲国产bt| 精品第一国产综合精品aⅴ| 国产精品福利影院| 捆绑变态av一区二区三区| 91麻豆6部合集magnet| 欧美精品在欧美一区二区少妇| 久久亚洲精品小早川怜子| 亚洲一二三区不卡| 成人福利视频在线| 久久久久88色偷偷免费| 亚洲第一搞黄网站| 99久久精品99国产精品| 欧美一区中文字幕| 亚洲一区二区三区视频在线| 成人午夜在线播放| 337p粉嫩大胆色噜噜噜噜亚洲| 无码av免费一区二区三区试看| 精品盗摄一区二区三区| 亚洲成人av一区| 欧美麻豆精品久久久久久| 亚洲欧美另类在线| 97久久精品人人做人人爽| 欧美激情综合网| 成人开心网精品视频| 国产欧美综合在线| proumb性欧美在线观看| 欧美国产精品v| av一区二区三区在线| 国产精品视频观看| 色综合久久综合网欧美综合网| 国产日韩精品一区二区三区 | 亚洲特级片在线| 色视频成人在线观看免| 亚洲免费视频成人| 欧美乱妇20p| 免费精品99久久国产综合精品| 欧美tickling网站挠脚心| 国产麻豆欧美日韩一区| 久久精品人人做人人综合| 成人黄色片在线观看| 亚洲r级在线视频| 精品成a人在线观看| 久久免费看少妇高潮| 91在线精品一区二区三区| 亚洲国产精品天堂| 久久伊99综合婷婷久久伊| 91黄色小视频| 极品销魂美女一区二区三区| 亚洲天堂精品在线观看| 日韩亚洲电影在线| 91浏览器打开| 久久丁香综合五月国产三级网站| 国产精品乱码人人做人人爱| 欧美日本在线一区| 99精品视频在线播放观看| 日本欧美肥老太交大片| 亚洲欧美日韩国产另类专区| 日韩亚洲欧美一区| 欧美视频完全免费看| 国产成人日日夜夜| 久久av老司机精品网站导航| 亚洲电影视频在线| 99久久99久久精品国产片果冻 | 无码av中文一区二区三区桃花岛| 色菇凉天天综合网| 蜜臀久久久久久久| 天天爽夜夜爽夜夜爽精品视频| 久久久一区二区| 一区二区三区欧美日| 国产精品18久久久久久久久久久久 | 亚洲理论在线观看| 日欧美一区二区| 国产91精品久久久久久久网曝门| 99国产欧美另类久久久精品| 9191久久久久久久久久久| 国产欧美日韩亚州综合| 亚洲第四色夜色| 91美女在线看| 久久亚洲一区二区三区明星换脸 | 日韩一区欧美二区| 成人激情文学综合网| 日韩美女天天操| 亚洲国产欧美一区二区三区丁香婷| 婷婷亚洲久悠悠色悠在线播放| 色噜噜狠狠色综合欧洲selulu| 麻豆一区二区99久久久久| 夜夜精品视频一区二区| 亚洲人成小说网站色在线| 国产视频一区二区在线| 欧美激情在线观看视频免费| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | xf在线a精品一区二区视频网站| 国产三级三级三级精品8ⅰ区| 国产精品入口麻豆原神| 精品国精品国产尤物美女| 婷婷开心激情综合| 国产乱码精品一区二区三区五月婷| 国产自产2019最新不卡| 免费观看30秒视频久久| 美女精品一区二区| 久久精品国产亚洲高清剧情介绍| 韩国一区二区视频| 免费成人av资源网| 国产美女精品一区二区三区| 亚洲国产wwwccc36天堂| 精品一区二区在线视频| 99久久精品免费精品国产| 另类小说综合欧美亚洲| 亚洲免费观看高清完整版在线| 中文字幕中文字幕在线一区 | 欧美日韩亚洲丝袜制服| 欧美在线观看一区| 日韩亚洲国产中文字幕欧美| 精品成人免费观看| 国产一区欧美一区| 国产精品日产欧美久久久久| eeuss鲁片一区二区三区| 一级精品视频在线观看宜春院| 欧美精品123区| 国产suv一区二区三区88区| 亚洲自拍偷拍综合| 久久综合久久久久88| 色婷婷av久久久久久久|