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

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

?? main.c

?? 解決smartarm2200串口下載問題的程序
?? C
字號:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
** Description: 將SRAM中的數據寫入到NOR Flash中,實現程序的固化。
**     將要燒寫的BIN文件改名為flash.bin,然后復制到本工程目錄的src目錄下,接著重新編譯本工程(一定要
** 重新編譯),再啟動AXD調試,全速運行程序即可。
**     要求系統存儲器分配為Bank0:Flash,Bank1:RAM。本工程要使用DebugInExram生成目標來編譯。
********************************************************************************************************/
#include "config.h"


// 定義蜂鳴器控制口
#define   BEEP		        (1 << 7)     /* P0.7口 */	

// 聲明外部標號(flash.bin文件的存儲地址)
extern  uint16 FLASH_FUNCTION[];
extern  uint16 FLASH_FUNCTION_END[];

/*********************************************************************************************************
** Function name: DelayNS
** Descriptions: 長軟件延時。
**              延時時間與系統時鐘有關。
** Input: dly	延時參數,值越大,延時越久
** Output: 無
** Created by: 黃紹斌
** Created Date: 2005-12-31 
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void  DelayNS(uint32  dly)
{  
	uint32  i;

   	for(; dly > 0; dly--) 
       for(i = 0; i < 50000; i++);
}

/*********************************************************************************************************
** Function name: RunBeep
** Descriptions: 控制蜂鳴器Be一聲音。
** Input: 無
** Output: 無
** Created by: 黃紹斌
** Created Date: 2006-01-05 
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void  RunBeep(void)
{  
    IO0CLR = BEEP;	    // BEEP = 0
    DelayNS (5);
    IO0SET = BEEP;	    // BEEP = 1 
    DelayNS (5);
}

// FLASH的起始地址(分配為Bank0塊,16位寬度)
#define   FLASH_ADDR		0x80000000

/*********************************************************************************************************
** Function name: GetAddr (宏函數)
** Descriptions: 轉換地址。將要發送給SST39VF1601的地址值進行轉換,以便于S3C2410A輸出。
**               由于SST39VF1601的A0是與S3C2410A的A1相連,所以addr要左移1位。
** Input: addr		SST39VF1601的內部地址值
** Output: 返回轉換出的地址
** Created by: 黃紹斌
** Created Date: 2006-01-05 
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define  GetAddr(addr)	(volatile uint16  *)(FLASH_ADDR|(addr<<1))

/*********************************************************************************************************
** Function name: WordProgram
** Descriptions: 半字(16位)數據編程。    
** Input: Addr		編程地址(SST39VF1601內部地址)	
**        Data		編程數據
** Output: 返回TRUE表示操作成功,返回FALSE表示操作失敗
** Created by: 黃紹斌
** Created Date: 2006-01-05 
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
int  WordProgram(uint32 Addr, uint16 Data) 
{  
    volatile uint16  *ip;
    uint16  temp1, temp2;

    ip = GetAddr(0x5555);	// 轉換地址0x5555
    ip[0] = 0xaaaa;			// 第一個寫周期,地址0x5555,數據0xAA
    ip = GetAddr(0x2aaa);
    ip[0] = 0x5555;			// 第二個寫周期,地址0x2aaa,數據0x55
    ip = GetAddr(0x5555);
    ip[0] = 0xa0a0;			// 第三個寫周期,地址0x5555,數據0xA0
    
    ip = GetAddr(Addr);
    *ip = Data;				// 第四個寫周期,地址Addr,數據Data
  
    temp1 = *ip;			// 預讀處理
    while(1)				// 等待操作完成 (若編程操作沒有完成,每次讀操作DQ6會跳變)
    {  
        temp1 = *ip;			
        temp2 = *ip;
        if(temp1 == temp2)
        {  
            if(temp1 != Data)
            {  
                return(FALSE);
            }
            else
            {  
                return(TRUE);
            }
        } // end of if(temp1 == temp2)...
    } // end of while(1)...  
    return(TRUE);
}

/*********************************************************************************************************
** Function name: WordRead
** Descriptions: 讀取指定地址(Flash內部的)上的半字(16位)數據。      
** Input: Addr		編程地址(SST39VF1601內部地址)	
** Output: 返回值即是讀出的數據
** Created by: 黃紹斌
** Created Date: 2006-01-05 
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint16  WordRead(uint32 Addr) 
{	
    volatile uint16  *ip;
	
	ip = GetAddr(Addr);
	return(*ip);
}

/*********************************************************************************************************
** Function name: ChipErase
** Descriptions: 芯片全片擦除。         
** Input: 無
** Output: 返回TRUE表示操作成功,返回FALSE表示操作失敗
** Created by: 黃紹斌
** Created Date: 2006-01-05 
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
int  ChipErase(void) 
{  
    volatile uint16  *ip;
    uint16  temp1, temp2;

    ip = GetAddr(0x5555);
    ip[0] = 0xaaaa;			// 第一個寫周期,地址0x5555,數據0xAA
    ip = GetAddr(0x2aaa);
    ip[0] = 0x5555;			// 第二個寫周期,地址0x2aaa,數據0x55
    ip = GetAddr(0x5555);
    ip[0] = 0x8080;			// 第三個寫周期,地址0x5555,數據0x80
    ip = GetAddr(0x5555);
    ip[0] = 0xaaaa;			// 第四個寫周期,地址0x5555,數據0xAA
    ip = GetAddr(0x2aaa);
    ip[0] = 0x5555;			// 第五個寫周期,地址0x2aaa,數據0x55
    ip = GetAddr(0x5555);
    ip[0] = 0x1010;			// 第六個寫周期,地址0x5555,數據0x10

    temp1 = *ip;
    while(1)				// 等待操作完成 (若擦除操作沒有完成,每次讀操作DQ6會跳變)
    {  
        temp1 = *ip;
        temp2 = *ip;
        if(temp1 == temp2)
        {  
            if(temp1 != 0xffff)
            {  
                return(FALSE);
            }
            else
            {  
                return(TRUE);
            }
        } // end of if(temp1 == temp2)...
    } // end of while(1)...
    return(TRUE);
}

uint16  wr_data;

/*********************************************************************************************************
** Function name: main
** Descriptions: 將FLASH_FUNCTION起始地址上的數據寫入到NOR Flash的0x000000地址。
**               寫入字節個數為flash.bin文件的大小。         
** Input: 無
** Output: 系統返回值0
** Created by: 黃紹斌
** Created Date: 2006-01-05 
**-------------------------------------------------------------------------------------------------------
** Modified by:    	zouchao
** Modified Date: 	2006-02-09
** Descriptions:  	增加Flash編程的全局校驗,程序編程成功,蜂鳴器響一聲,否則蜂鳴器持續間斷蜂鳴
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
int main (void)
{   
    uint32  addr, size;
    uint32  err;

    PINSEL0 = 0x00000000;		  // I/O初始化
    PINSEL1 = 0x00000000;
    IO0DIR = BEEP;
    IO0SET = BEEP;

	ChipErase();				 // 全片擦除操作
	DelayNS(1);
	
	
	size = FLASH_FUNCTION_END - FLASH_FUNCTION;			// 計算flash.bin文件的大小
    
	
	for(addr = 0; addr < size; addr++)				    // 開始寫數據
	{	
	    wr_data = FLASH_FUNCTION[addr];
		WordProgram(addr, wr_data); 
	}
													   
	err = 0;										   // 將寫入Flash中的數據與原bin文件中的數據相校驗
	
	for(addr = 0; addr < size; addr++)
	{
	    wr_data = WordRead(addr);
	    if(wr_data != FLASH_FUNCTION[addr]) err++;  
	}												   
	
	while(err)          
	{   
	    RunBeep();				// 校驗出錯報警
	}
	
	RunBeep();					// 編程正確	
	
	while(1);
    return 0;
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
5566中文字幕一区二区电影| 成人在线视频一区二区| 亚洲乱码国产乱码精品精小说 | 91浏览器在线视频| 成人av电影在线观看| 国产一级精品在线| 国产很黄免费观看久久| 懂色av一区二区在线播放| 国产乱码精品1区2区3区| 国产精品系列在线观看| 国产v综合v亚洲欧| av一区二区三区在线| 色综合中文字幕| 日本丶国产丶欧美色综合| 色婷婷一区二区三区四区| 在线观看日韩精品| 91精品麻豆日日躁夜夜躁| 欧美大片一区二区三区| 久久久久久久久久久久电影| 国产精品毛片高清在线完整版| 中文字幕人成不卡一区| 一区二区三区在线观看网站| 丝袜美腿高跟呻吟高潮一区| 麻豆国产91在线播放| 国产91精品精华液一区二区三区| 成人久久视频在线观看| 欧美专区亚洲专区| 91精品国产麻豆| 久久久久久久国产精品影院| 亚洲乱码国产乱码精品精小说| 亚洲va国产天堂va久久en| 日韩国产欧美在线观看| 国产一区二区福利视频| 欧美午夜一区二区三区| 久久色在线观看| 亚洲精品日韩专区silk| 老司机精品视频在线| 91在线观看高清| 日韩你懂的在线观看| 自拍偷拍国产亚洲| 久久国产精品露脸对白| 色综合天天做天天爱| 日韩欧美在线不卡| 亚洲欧洲一区二区三区| 日韩成人精品视频| 色88888久久久久久影院野外| 日韩欧美一区在线观看| 中文字幕视频一区| 国产一区美女在线| 欧美另类高清zo欧美| 亚洲图片另类小说| 国产激情精品久久久第一区二区| 欧美高清视频www夜色资源网| 国产日韩高清在线| 精品亚洲aⅴ乱码一区二区三区| 色综合久久综合网97色综合| 久久久久久久久久久久电影| 美女视频一区二区| 欧美精品久久99久久在免费线| 国产精品欧美一区二区三区| 国产原创一区二区| 日韩一区二区免费电影| 亚洲6080在线| 欧美三级三级三级| 亚洲一区影音先锋| 色综合久久综合网| 亚洲欧洲制服丝袜| aa级大片欧美| 亚洲欧洲日产国码二区| 成人免费毛片片v| 国产精品三级久久久久三级| 国产精品一区二区在线看| 精品国产乱码久久久久久牛牛 | 欧美aaa在线| 7799精品视频| 香蕉久久夜色精品国产使用方法 | 午夜视频在线观看一区| 色狠狠av一区二区三区| 亚洲精品视频一区二区| 欧美自拍偷拍一区| 午夜伊人狠狠久久| 91精品国产91久久久久久一区二区| 午夜欧美大尺度福利影院在线看 | 蜜桃久久久久久| 欧美成人精品二区三区99精品| 蜜臀av在线播放一区二区三区| 欧美大片免费久久精品三p| 国产一区二区成人久久免费影院 | 亚洲高清久久久| 欧美美女直播网站| 日本大胆欧美人术艺术动态| 欧美成人精品1314www| 国产成人在线视频网站| 亚洲欧洲日韩女同| 欧美精品亚洲一区二区在线播放| 免费在线观看视频一区| 久久免费电影网| 97精品国产97久久久久久久久久久久| 亚洲欧美日韩系列| 日韩视频免费观看高清完整版| 国产一区二区精品久久99| 综合亚洲深深色噜噜狠狠网站| 欧美日韩国产另类一区| 精品一区二区三区视频| 国产精品灌醉下药二区| 欧美日韩不卡视频| 国产成人h网站| 午夜精品福利视频网站| 2023国产精品视频| 色噜噜久久综合| 蜜臀久久99精品久久久画质超高清| 欧美国产乱子伦 | 国产欧美精品在线观看| av亚洲精华国产精华精华| 日韩精品一二三四| 中国av一区二区三区| 欧美一区二区三区视频免费播放 | 国产日韩精品一区二区三区在线| 色综合久久99| 国产一区二区三区不卡在线观看| 亚洲综合清纯丝袜自拍| 国产欧美一区二区三区网站 | 久久精品视频在线免费观看| 欧美视频一区在线观看| 国产精品亚洲午夜一区二区三区| 一区二区三区久久| 国产精品欧美综合在线| 精品日韩一区二区三区| 欧美影院午夜播放| 99久久免费视频.com| 激情五月婷婷综合网| 午夜精品久久久久久久| 亚洲天堂免费看| 亚洲国产精品激情在线观看| 欧美一二三在线| 欧美三级日韩三级国产三级| av中文一区二区三区| 国产福利一区二区三区视频在线 | 在线观看日韩高清av| 不卡的av在线| 国产成人一区二区精品非洲| 蜜桃一区二区三区在线观看| 视频一区免费在线观看| 亚洲一二三四区| 亚洲精品精品亚洲| 亚洲色图一区二区三区| 国产精品久久午夜夜伦鲁鲁| 国产亚洲一区二区三区| 久久综合色鬼综合色| 精品国产免费人成电影在线观看四季 | 在线观看欧美黄色| 欧美亚一区二区| 日本精品一区二区三区四区的功能| 成人av资源在线| 99精品久久久久久| 91美女在线观看| 91久久久免费一区二区| 欧洲在线/亚洲| 欧美男男青年gay1069videost | 欧美三级三级三级爽爽爽| 91网站在线播放| 欧美优质美女网站| 欧美精品粉嫩高潮一区二区| 91精品国产福利在线观看| 欧美一级视频精品观看| 精品国免费一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 久久综合精品国产一区二区三区 | 亚洲精品日日夜夜| 香蕉加勒比综合久久| 久久99日本精品| 成人午夜短视频| 91国内精品野花午夜精品| 91精品国产一区二区三区蜜臀| 欧美tickle裸体挠脚心vk| 国产女人aaa级久久久级| 亚洲欧洲综合另类| 青青草97国产精品免费观看无弹窗版| 免费精品视频在线| 成人爱爱电影网址| 欧美妇女性影城| 久久久久久夜精品精品免费| 亚洲激情五月婷婷| 精品影视av免费| 99久久国产综合精品女不卡| 91精品国产全国免费观看| 国产亚洲欧美色| 亚洲国产综合91精品麻豆| 蜜乳av一区二区| 波波电影院一区二区三区| 欧美精品一二三四| 国产精品色在线| 蜜臀久久99精品久久久画质超高清| 成人免费观看男女羞羞视频| 9191精品国产综合久久久久久| 国产欧美日韩三级| 奇米色一区二区| 欧美性色综合网| 国产精品欧美久久久久一区二区| 日韩不卡一区二区三区|