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

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

?? flash.c

?? 最新版的u-boot,2008-10-18發(fā)布
?? C
字號:
/* * (C) Copyright 2000-2006 * 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[]; /* 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 (char *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 */}/*----------------------------------------------------------------------- */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美男同性恋视频网站| 91网上在线视频| 欧美无乱码久久久免费午夜一区 | 丝袜诱惑亚洲看片| 成人高清在线视频| 欧美一级高清片在线观看| 亚洲欧美日韩一区二区 | 亚洲一区二区三区四区五区黄 | 亚洲成人1区2区| 99视频精品免费视频| 日韩精品一区二区三区在线播放| 一区二区高清在线| 成人福利视频在线| 久久影院午夜论| 日韩电影一二三区| 欧美四级电影在线观看| 亚洲欧美怡红院| 粉嫩aⅴ一区二区三区四区| 日韩精品一区二区三区三区免费| 亚洲综合激情小说| 色国产精品一区在线观看| 日本一区二区三区在线观看| 老司机精品视频在线| 欧美夫妻性生活| 亚洲午夜久久久久久久久电影网 | 成人黄色电影在线| 久久久亚洲国产美女国产盗摄| 一本久道久久综合中文字幕 | 在线欧美日韩精品| 国产精品福利在线播放| 国产精品1024| 久久久亚洲精品石原莉奈 | 亚洲视频在线一区| 波多野结衣亚洲| 国产精品美女久久福利网站| 国产成人精品亚洲777人妖| 久久综合色天天久久综合图片| 秋霞电影一区二区| 欧美一级黄色录像| 久久精品国产99国产| 日韩一区二区不卡| 欧美aⅴ一区二区三区视频| 6080国产精品一区二区| 日韩电影网1区2区| 日韩欧美一区二区在线视频| 美腿丝袜在线亚洲一区| 91精品国产91久久综合桃花| 免费成人小视频| 精品国产乱码久久久久久图片 | 不卡一卡二卡三乱码免费网站| 久久久国产精品麻豆| 国产电影一区二区三区| 国产欧美一区在线| 不卡的电影网站| 国产精品福利一区| 色婷婷av一区二区三区之一色屋| 一级特黄大欧美久久久| 欧美日韩国产一二三| 日本强好片久久久久久aaa| 日韩一区二区免费在线电影| 911精品国产一区二区在线| 日韩激情一二三区| 欧美mv和日韩mv国产网站| 国产综合色视频| 欧美国产精品专区| 91麻豆免费观看| 亚洲成a天堂v人片| 欧美一区二区三区不卡| 国产在线精品国自产拍免费| 国产欧美日韩不卡| 色综合视频一区二区三区高清| 亚洲韩国精品一区| 日韩一卡二卡三卡| 高清不卡一区二区在线| 亚洲乱码精品一二三四区日韩在线| 欧美亚洲免费在线一区| 麻豆国产精品视频| 亚洲国产精品ⅴa在线观看| 日本韩国一区二区三区视频| 轻轻草成人在线| 欧美激情一区二区三区全黄| 91久久国产最好的精华液| 免费人成黄页网站在线一区二区| 国产欧美综合色| 在线观看视频一区| 久久99国产精品尤物| 国产精品久久久久久久岛一牛影视| 欧美日韩综合在线免费观看| 国内成人精品2018免费看| 亚洲欧洲一区二区在线播放| 欧美肥胖老妇做爰| 丰满少妇在线播放bd日韩电影| 亚洲自拍偷拍综合| 久久久久久黄色| 欧美影视一区二区三区| 韩国av一区二区| 亚洲另类在线制服丝袜| 日韩免费视频一区二区| 成人精品视频一区二区三区尤物| 亚洲国产三级在线| 国产亚洲一区字幕| 欧美人与z0zoxxxx视频| 成人教育av在线| 日韩av电影免费观看高清完整版在线观看| 国产亚洲欧美中文| 欧美另类久久久品| 不卡免费追剧大全电视剧网站| 日本伊人色综合网| 亚洲情趣在线观看| 久久综合给合久久狠狠狠97色69| 欧美在线你懂的| 国产精品18久久久| 日本亚洲最大的色成网站www| 亚洲欧洲三级电影| 337p日本欧洲亚洲大胆色噜噜| 欧美伊人久久大香线蕉综合69| 国产毛片精品视频| 日本亚洲天堂网| 夜夜操天天操亚洲| 亚洲国产精品黑人久久久| 日韩一区二区在线看片| 色婷婷精品大在线视频| 国产成人av电影在线观看| 免费不卡在线视频| 亚洲一区二区av在线| 1区2区3区国产精品| 26uuu国产日韩综合| 欧美一区二区观看视频| 91成人免费电影| yourporn久久国产精品| 国产乱码精品一区二区三区五月婷| 亚洲福中文字幕伊人影院| 亚洲色图制服丝袜| 中文在线一区二区| 久久免费看少妇高潮| 日韩一区二区免费电影| 欧美日韩亚州综合| 在线观看免费视频综合| 91小视频在线免费看| 成人性色生活片免费看爆迷你毛片| 极品瑜伽女神91| 日本亚洲一区二区| 日韩在线一区二区三区| 亚洲成人先锋电影| 亚洲高清三级视频| 亚洲一区免费在线观看| 亚洲精品乱码久久久久久黑人| 国产精品第四页| 国产精品三级久久久久三级| 久久久久久久久岛国免费| 2022国产精品视频| 久久网站热最新地址| 2014亚洲片线观看视频免费| 欧美大片在线观看| 日韩女优制服丝袜电影| 日韩一区二区三区四区| 欧美一级精品大片| 日韩欧美www| 精品国产一区二区三区久久久蜜月 | 国产一区二区三区久久久| 九九**精品视频免费播放| 九九国产精品视频| 国产综合成人久久大片91| 国产在线播放一区二区三区| 国产一区二区调教| 国产在线一区二区综合免费视频| 国产一区免费电影| 国产99精品国产| 99久久99久久精品免费观看 | 日本成人在线电影网| 美女视频一区在线观看| 国产在线视视频有精品| 国产精品羞羞答答xxdd| www..com久久爱| 色噜噜狠狠成人中文综合| 欧美日韩亚洲另类| 51精品久久久久久久蜜臀| 日韩欧美国产一区在线观看| 精品福利二区三区| 欧美国产国产综合| 亚洲视频在线观看一区| 亚瑟在线精品视频| 蜜桃视频一区二区三区在线观看 | 亚洲综合av网| 日本伊人午夜精品| 国产一区二区0| 91视频com| 69堂成人精品免费视频| 久久久久久夜精品精品免费| 国产精品水嫩水嫩| 一卡二卡三卡日韩欧美| 免费看日韩a级影片| 国产91富婆露脸刺激对白| 色婷婷综合久久久久中文| 91精品国产色综合久久不卡蜜臀 | 久久一区二区三区四区| 国产精品乱码人人做人人爱| 一区二区三区久久| 麻豆免费看一区二区三区| 成人美女视频在线观看18|