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

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

?? flash.c

?? uboot for at91rm9200dk
?? C
字號:
/* * (C) Copyright 2000 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * * See file CREDITS for list of people who contributed to this * project. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */#include <common.h>#include <flash.h>extern flash_info_t  flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips *//*----------------------------------------------------------------------- * Functions *//*----------------------------------------------------------------------- * Set protection status for monitor sectors * * The monitor is always located in the _first_ Flash bank. * If necessary you have to map the second bank at lower addresses. */voidflash_protect (int flag, ulong from, ulong to, flash_info_t *info){	ulong b_end = info->start[0] + info->size - 1;	/* bank end address */	short s_end = info->sector_count - 1;	/* index of last sector */	int i;	/* Do nothing if input data is bad. */	if (info->sector_count == 0 || info->size == 0 || to < from) {		return;	}	/* There is nothing to do if we have no data about the flash	 * or the protect range and flash range don't overlap.	 */	if (info->flash_id == FLASH_UNKNOWN ||	    to < info->start[0] || from > b_end) {		return;	}	for (i=0; i<info->sector_count; ++i) {		ulong end;		/* last address in current sect	*/		end = (i == s_end) ? b_end : info->start[i + 1] - 1;		/* Update protection if any part of the sector		 * is in the specified range.		 */		if (from <= end && to >= info->start[i]) {			if (flag & FLAG_PROTECT_CLEAR) {#if defined(CFG_FLASH_PROTECTION)				flash_real_protect(info, i, 0);#else				info->protect[i] = 0;#endif	/* CFG_FLASH_PROTECTION */			}			else if (flag & FLAG_PROTECT_SET) {#if defined(CFG_FLASH_PROTECTION)				flash_real_protect(info, i, 1);#else				info->protect[i] = 1;#endif	/* CFG_FLASH_PROTECTION */			}		}	}}/*----------------------------------------------------------------------- */flash_info_t *addr2info (ulong addr){#ifndef CONFIG_SPD823TS	flash_info_t *info;	int i;	for (i=0, info=&flash_info[0]; i<CFG_MAX_FLASH_BANKS; ++i, ++info) {		if (info->flash_id != FLASH_UNKNOWN &&		    addr >= info->start[0] &&		    /* WARNING - The '- 1' is needed if the flash		     * is at the end of the address space, since		     * info->start[0] + info->size wraps back to 0.		     * Please don't change this unless you understand this.		     */		    addr <= info->start[0] + info->size - 1) {			return (info);		}	}#endif /* CONFIG_SPD823TS */	return (NULL);}/*----------------------------------------------------------------------- * Copy memory to flash. * Make sure all target addresses are within Flash bounds, * and no protected sectors are hit. * Returns: * ERR_OK          0 - OK * ERR_TIMOUT      1 - write timeout * ERR_NOT_ERASED  2 - Flash not erased * ERR_PROTECTED   4 - target range includes protected sectors * ERR_INVAL       8 - target address not in Flash memory * ERR_ALIGN       16 - target address not aligned on boundary *			(only some targets require alignment) */intflash_write (uchar *src, ulong addr, ulong cnt){#ifdef CONFIG_SPD823TS	return (ERR_TIMOUT);	/* any other error codes are possible as well */#else	int i;	ulong         end        = addr + cnt - 1;	flash_info_t *info_first = addr2info (addr);	flash_info_t *info_last  = addr2info (end );	flash_info_t *info;	int j;	if (cnt == 0) {		return (ERR_OK);	}	if (!info_first || !info_last) {		return (ERR_INVAL);	}	for (info = info_first; info <= info_last; ++info) {		ulong b_end = info->start[0] + info->size;	/* bank end addr */		short s_end = info->sector_count - 1;		for (i=0; i<info->sector_count; ++i) {			ulong e_addr = (i == s_end) ? b_end : info->start[i + 1];			if ((end >= info->start[i]) && (addr < e_addr) &&			    (info->protect[i] != 0) ) {				return (ERR_PROTECTED);			}		}	}	printf("\rWriting ");	for (j=0; j<20; j++) putc(177);	printf("\rWriting ");	/* finally write data to flash */	for (info = info_first; info <= info_last && cnt>0; ++info) {		ulong len;		len = info->start[0] + info->size - addr;		if (len > cnt)			len = cnt;		if ((i = write_buff(info, src, addr, len)) != 0) {			return (i);		}		cnt  -= len;		addr += len;		src  += len;	}	return (ERR_OK);#endif /* CONFIG_SPD823TS */}/*----------------------------------------------------------------------- */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级在线免费观看| 欧美tickling网站挠脚心| 日韩精品国产欧美| 国产精品欧美久久久久一区二区| 欧美性猛片aaaaaaa做受| 国产精品一二一区| 天天亚洲美女在线视频| 亚洲欧美一区二区三区极速播放 | 欧美精品在线观看播放| 成人精品高清在线| 久久99精品久久只有精品| 亚洲高清在线视频| 17c精品麻豆一区二区免费| 久久久精品国产免费观看同学| 在线不卡a资源高清| 91蜜桃网址入口| eeuss鲁一区二区三区| 国产剧情一区二区| 久色婷婷小香蕉久久| 日韩中文字幕91| 亚洲一线二线三线久久久| 国产精品福利影院| 欧美国产精品一区二区三区| 精品福利一区二区三区免费视频| 欧美日韩dvd在线观看| 日本福利一区二区| 色婷婷综合五月| 色综合亚洲欧洲| av一本久道久久综合久久鬼色| 国产99久久久国产精品潘金| 国产一区二区不卡在线| 狠狠色丁香九九婷婷综合五月| 免费成人美女在线观看.| 日韩成人免费在线| 日韩中文字幕不卡| 日韩av一二三| 美脚の诱脚舐め脚责91| 日本v片在线高清不卡在线观看| 日日夜夜精品免费视频| 日本 国产 欧美色综合| 免费一级片91| 黄一区二区三区| 国产经典欧美精品| av一区二区三区四区| 99精品热视频| 欧美三级电影一区| 欧美一区二区三区婷婷月色| 欧美一级一区二区| 日韩精品最新网址| 久久久久久久久久看片| 国产精品沙发午睡系列990531| 国产精品久久免费看| 亚洲人成小说网站色在线| 亚洲一卡二卡三卡四卡| 美女脱光内衣内裤视频久久网站| 精彩视频一区二区| jiyouzz国产精品久久| 欧美在线视频全部完| 日韩视频免费观看高清在线视频| xfplay精品久久| 亚洲欧洲日韩女同| 天天操天天干天天综合网| 裸体健美xxxx欧美裸体表演| 国产麻豆日韩欧美久久| 91影视在线播放| 777奇米成人网| 国产亚洲福利社区一区| 亚洲综合图片区| 麻豆国产精品777777在线| 国产成人精品亚洲777人妖| 欧美在线色视频| 久久久一区二区三区| 亚洲精品va在线观看| 久久爱另类一区二区小说| av网站免费线看精品| 欧美日本在线一区| 国产日韩欧美一区二区三区综合| 一区二区三区中文字幕| 久草热8精品视频在线观看| 91精品在线一区二区| 中文字幕第一区二区| 午夜成人免费视频| av在线不卡观看免费观看| 欧美一区二区三区视频在线观看| 日本一区二区三区国色天香| 亚洲精品ww久久久久久p站| 九九九久久久精品| 欧洲生活片亚洲生活在线观看| 欧美tickling挠脚心丨vk| 亚洲一区二区三区激情| 舔着乳尖日韩一区| 成人免费视频视频在线观看免费 | 欧美美女网站色| 亚洲图片欧美视频| 91久久奴性调教| 亚洲综合久久久| 在线免费观看日本一区| 亚洲一区二区三区四区不卡| 五月婷婷色综合| 成人精品电影在线观看| 欧美三级日韩在线| 国产精品另类一区| 黑人巨大精品欧美黑白配亚洲| 欧美色图天堂网| 欧美高清在线精品一区| 激情文学综合插| 亚洲欧美乱综合| 国产一区二区导航在线播放| 91精品婷婷国产综合久久性色| 欧美日本免费一区二区三区| 亚洲综合在线视频| 国产传媒欧美日韩成人| 日韩免费视频线观看| 亚洲成年人影院| 91福利精品第一导航| 国产精品久久777777| 国产成人99久久亚洲综合精品| 欧美一区二区三区免费| 午夜精品成人在线| 欧美日韩国产成人在线免费| 亚洲美女视频在线观看| 99精品久久免费看蜜臀剧情介绍| 久久久久99精品一区| 国产在线视视频有精品| 日韩欧美资源站| 日本成人在线电影网| 欧美人狂配大交3d怪物一区| 亚洲女女做受ⅹxx高潮| 91麻豆精东视频| 亚洲精品亚洲人成人网| 91免费看片在线观看| 亚洲女厕所小便bbb| 色猫猫国产区一区二在线视频| 亚洲丝袜美腿综合| 色综合天天综合| 亚洲综合自拍偷拍| 欧美日韩精品一区二区三区蜜桃| 亚洲一区在线免费观看| 精品视频色一区| 欧美a级一区二区| 欧美大片顶级少妇| 国产乱一区二区| 国产色一区二区| 94-欧美-setu| 亚洲成av人片www| 欧美一区二区视频网站| 精品一区二区三区在线视频| 26uuu久久天堂性欧美| 国产一区二区三区免费观看 | 国产精品视频免费| 97久久久精品综合88久久| 夜夜嗨av一区二区三区网页| 欧美日韩不卡一区二区| 久草这里只有精品视频| 亚洲国产精品v| 欧美在线观看禁18| 日本午夜一区二区| 国产亚洲一区二区在线观看| 成人免费观看视频| 亚洲国产视频在线| 欧美zozozo| av在线不卡免费看| 丝袜美腿亚洲一区| 国产欧美日韩一区二区三区在线观看| 不卡视频在线看| 爽爽淫人综合网网站| 精品国产污污免费网站入口 | 在线不卡一区二区| 国产精品白丝jk白祙喷水网站| 一区视频在线播放| 欧美区视频在线观看| 国产一区二区三区观看| 亚洲视频一区在线| 日韩你懂的在线观看| 成人av动漫网站| 琪琪久久久久日韩精品| 欧美激情在线一区二区| 欧美日韩中字一区| 日韩欧美123| 色综合久久99| 精品一区二区在线免费观看| 亚洲男人天堂av| 久久综合久色欧美综合狠狠| eeuss鲁片一区二区三区在线看| 婷婷夜色潮精品综合在线| 国产网红主播福利一区二区| 欧美日韩国产小视频在线观看| 国产成人免费在线视频| 亚洲大片精品永久免费| 国产精品乱码人人做人人爱| 欧美一级日韩一级| 91久久精品一区二区| 国产精品亚洲专一区二区三区| 亚洲国产另类精品专区| 国产欧美1区2区3区| 日韩欧美一区二区三区在线| 在线亚洲一区二区| 成人av电影观看| 国产精品一区二区无线| 日本三级韩国三级欧美三级|