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

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

?? start.s

?? 針對于sa1100的bootloader。blob2.04是一個功能比較強大的bootloader
?? S
字號:
/* * start.S: blob start code * * Copyright (C) 1999 2000 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) and *                     Jan-Derk Bakker (J.D.Bakker@its.tudelft.nl) * * 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 * *//* * This is the blob start code. The SA-1100 jumps to address 0x00000000 * after a reset. We put a single branch code at this position which jumps * to a safe region to do the actual setup. All other vectors just point * to an endless loop for the moment. * * Documentation: * [1] Intel Corporation, "Intel StrongARM SA-1100 Microprocessor *     Developer's Manual", April 1999 * [2] S. Furber, "ARM System Architecture", Addison Wesley Longman *     Ltd., Essex, England, 1996. * [3] Intel Corporation, "Intel StrongARM SA-1110 Microprocessor *     Advanced Developer's manual, December 1999 */.ident "$Id: start.S,v 1.2 2001/08/06 22:44:52 erikm Exp $"#ifdef HAVE_CONFIG_H# include <config.h>#endif.text/* Jump vector table as in table 3.1 in [1] */.globl _start_start:	b	reset	b	undefined_instruction	b	software_interrupt	b	prefetch_abort	b	data_abort	b	not_used	b	irq	b	fiq/* some defines to make life easier *//* Register addresses can be found in [1] Appendix A */IC_BASE:        .word   0x90050000#define ICMR    0x04	PWR_BASE:	.word	0x90020000#define PSPR	0x08#define PPCR	0x14	RST_BASE:	.word	0x90030000#define RCSR	0x04/* main memory starts at 0xc0000000 */MEM_START:	.long	0xc0000000/* The initial CPU speed. Note that the SA11x0 CPUs can be safely overclocked: * 190 MHz CPUs are able to run at 221 MHz, 133 MHz CPUs can do 206 Mhz. */#if (defined ASSABET) || (defined CLART) || (defined LART) \	|| (defined NESA) || (defined NESA)cpuspeed:	.long	0x0b	/* 221 MHz */#elif defined SHANNONcpuspeed:	.long	0x09	/* 191.7 MHz */#else#warning "FIXME: Include code to use the correct clock speed for your board"cpuspeed:	.long	0x05	/* safe 133 MHz speed */#endif/* the actual reset code */reset:	/* First, mask **ALL** interrupts */	ldr	r0, IC_BASE	mov	r1, #0x00	str	r1, [r0, #ICMR]	/* switch CPU to correct speed */	ldr	r0, PWR_BASE	LDR	r1, cpuspeed	str	r1, [r0, #PPCR]	/* setup memory */	bl	memsetup	/* init LED */	bl	ledinit		/* check if this is a wake-up from sleep */	ldr	r0, RST_BASE	ldr	r1, [r0, #RCSR]	and	r1, r1, #0x0f	teq	r1, #0x08	bne	normal_boot	/* no, continue booting */	/* yes, a wake-up. clear RCSR by writing a 1 (see 9.6.2.1 from [1]) */	mov	r1, #0x08	str	r1, [r0, #RCSR]	;		/* get the value from the PSPR and jump to it */	ldr	r0, PWR_BASE	ldr	r1, [r0, #PSPR]	mov	pc, r1normal_boot:	/* enable I-cache */	mrc	p15, 0, r1, c1, c0, 0	@ read control reg	orr	r1, r1, #0x1000		@ set Icache	mcr	p15, 0, r1, c1, c0, 0	@ write it back	/* check the first 1MB  in increments of 4k */	mov	r7, #0x1000	mov	r6, r7, lsl #8	/* 4k << 2^8 = 1MB */	ldr	r5, MEM_STARTmem_test_loop:	mov	r0, r5	bl	testram	teq	r0, #1	beq	badram	add	r5, r5, r7	subs	r6, r6, r7	bne	mem_test_loop	/* the first megabyte is OK, so let's clear it */	mov	r0, #((1024 * 1024) / (8 * 4))	/* 1MB in steps of 32 bytes */	ldr	r1, MEM_START	mov	r2, #0	mov	r3, #0	mov	r4, #0	mov	r5, #0	mov	r6, #0	mov	r7, #0	mov	r8, #0	mov	r9, #0clear_loop:	stmia	r1!, {r2-r9}	subs	r0, r0, #(8 * 4)	bne	clear_loop	/* get a clue where we are running, so we know what to copy */	and	r0, pc, #0xff000000	/* we don't care about the low bits */		/* relocate the second stage loader */	add	r2, r0, #(128 * 1024)	/* blob is 128kB */	add	r0, r0, #0x400		/* skip first 1024 bytes */	ldr	r1, MEM_START	add	r1, r1, #0x400		/* skip over here as well */	/* r0 = source address	 * r1 = target address	 * r2 = source end address	 */copy_loop:	ldmia	r0!, {r3-r10}	stmia	r1!, {r3-r10}	cmp	r0, r2	ble	copy_loop	/* turn off the LED. if it stays off it is an indication that	 * we didn't make it into the C code 	 */	bl led_off	/* set up the stack pointer */	ldr	r0, MEM_START	add	r1, r0, #(1024 * 1024)	sub	sp, r1, #0x04	/* blob is copied to ram, so jump to it */	add	r0, r0, #0x400	mov	pc, r0badram:	b	blinky			blinky:	/* This is test code to blink the LED           very useful if nothing else works */	bl	led_on	bl	wait_loop	bl	led_off	bl	wait_loop	b blinkywait_loop:	/* busy wait loop*/	mov	r2, #0x1000000wait_loop1:	subs	r2, r2, #1	bne	wait_loop1	mov	pc, lr			undefined_instruction:	b	blinkysoftware_interrupt:	/* NOTE: This is NOT an error! If you think that blob should return	 * from software interrupts, you're plain WRONG. The source of the	 * problem is in the kernel: you should *disable* CONFIG_ANGELBOOT	 * simply because blob is not angel. -- Erik	 */	b	blinkyprefetch_abort:	b	blinkydata_abort:	b	blinkynot_used:	b	blinkyirq:	b	blinkyfiq:	b	blinky

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av一级电影| 男女性色大片免费观看一区二区| 另类小说综合欧美亚洲| 色婷婷久久一区二区三区麻豆| 欧美在线制服丝袜| 日本一区二区三区dvd视频在线| 亚洲国产乱码最新视频| 色妞www精品视频| 欧美激情一区二区三区四区| 国产成人av电影在线播放| 久久免费视频一区| 高清国产一区二区| 日韩伦理av电影| 欧洲日韩一区二区三区| 亚洲aaa精品| 欧美精品一区二| 在线一区二区三区做爰视频网站| 亚洲精品国产a久久久久久| 欧美优质美女网站| 国产一区二区三区久久久| 26uuu亚洲综合色| 99re8在线精品视频免费播放| 亚洲视频一区二区免费在线观看| 欧美性猛交xxxxxx富婆| 美女尤物国产一区| 一区二区三区精品视频在线| 精品对白一区国产伦| 国产91丝袜在线播放九色| 国产精品理论在线观看| 欧美精品国产精品| www.在线成人| 美女一区二区视频| 五月婷婷久久丁香| 成人免费在线观看入口| 91在线观看污| 国产成人一区二区精品非洲| 五月婷婷综合在线| 亚洲蜜臀av乱码久久精品| 国产日韩综合av| 精品va天堂亚洲国产| 欧美久久久久久久久久| 欧美性大战久久久久久久蜜臀 | 99re热这里只有精品免费视频| 国产乱人伦偷精品视频不卡| 麻豆国产精品视频| 激情综合色播激情啊| 美女在线视频一区| 日本成人在线电影网| 日韩va欧美va亚洲va久久| 午夜亚洲国产au精品一区二区| 亚洲一区二区三区四区在线免费观看 | 中文字幕在线不卡一区二区三区| 在线成人午夜影院| 欧美日韩一区二区欧美激情| 在线区一区二视频| 91浏览器入口在线观看| 欧美亚洲国产一区二区三区va| 欧美日韩情趣电影| 日韩一区二区三区在线| 欧美成人激情免费网| 国产欧美综合在线观看第十页| 国产精品国产馆在线真实露脸 | 国产精品主播直播| 91亚洲精品久久久蜜桃网站 | 狠狠色狠狠色综合系列| 成人av一区二区三区| 成人动漫视频在线| 制服丝袜亚洲色图| 国产亚洲欧美日韩在线一区| 亚洲国产精品99久久久久久久久| 亚洲激情在线播放| 国产成人无遮挡在线视频| 欧美日韩视频在线观看一区二区三区| 日韩欧美精品在线| 肉色丝袜一区二区| 色婷婷综合久久久久中文| 国产女人18毛片水真多成人如厕| 一区二区三区四区在线免费观看| 国产99久久久国产精品免费看| 91.成人天堂一区| 一区二区成人在线| 国v精品久久久网| 国产精品久久久久久久久免费樱桃 | 懂色av一区二区夜夜嗨| 欧美三级视频在线播放| 久久人人爽人人爽| 精品一区二区av| 日韩一区二区三区观看| 一区二区视频在线看| 91国产精品成人| 午夜精品123| 日韩一二三区视频| 免费成人av在线播放| 欧美日韩一区不卡| 蜜桃91丨九色丨蝌蚪91桃色| 日本不卡在线视频| 欧美日韩日本视频| 国产麻豆欧美日韩一区| 中文在线一区二区| 欧美日韩一区小说| 国产尤物一区二区在线| 亚洲福利一区二区| 国产午夜精品美女毛片视频| 97se亚洲国产综合自在线| 蜜桃视频在线一区| 一区二区三区在线观看视频| 国产日本亚洲高清| 欧美日韩一区三区四区| jlzzjlzz亚洲女人18| 狠狠色伊人亚洲综合成人| 亚洲最大的成人av| 综合色天天鬼久久鬼色| 久久久另类综合| www一区二区| 日韩一区二区三免费高清| 欧美色视频在线| av一二三不卡影片| 国产精品 欧美精品| 久久er精品视频| 性感美女极品91精品| 一区二区三区在线视频免费| 一卡二卡三卡日韩欧美| 亚洲精品第1页| 亚洲在线视频免费观看| 亚洲日本成人在线观看| 亚洲精品一二三四区| 亚洲国产另类av| 亚洲h在线观看| 首页欧美精品中文字幕| 免费观看30秒视频久久| 国产一区在线不卡| 春色校园综合激情亚洲| 不卡在线观看av| 色老综合老女人久久久| 在线播放日韩导航| 欧美经典三级视频一区二区三区| 欧美精品一区二区三区蜜桃| 精品久久久久一区二区国产| 一区二区三区四区视频精品免费 | 91麻豆免费看片| 欧美视频完全免费看| 欧美视频完全免费看| 日韩免费成人网| 一二三四社区欧美黄| 精品系列免费在线观看| 欧美四级电影在线观看| 国产精品热久久久久夜色精品三区| 亚洲永久免费av| 成人av网在线| 国产欧美一区视频| 午夜电影网亚洲视频| 欧美亚洲综合网| 亚洲黄色片在线观看| 国产一区二区三区在线观看免费| 欧美日韩二区三区| 一区二区三区.www| 色综合中文字幕国产 | 日韩欧美久久一区| 日韩电影免费一区| 欧美高清视频一二三区| 伊人色综合久久天天人手人婷| 91日韩在线专区| 亚洲免费在线视频一区 二区| 丰满亚洲少妇av| 国产欧美日本一区二区三区| 国产成人精品亚洲日本在线桃色| 精品国产一区二区三区不卡| 日日摸夜夜添夜夜添精品视频 | 日韩欧美电影在线| 久久爱www久久做| 久久久久久久久久电影| 五月婷婷久久综合| 99精品热视频| 国产精品区一区二区三| 亚洲成人激情综合网| 国产伦精品一区二区三区免费迷 | 国产精品卡一卡二卡三| 成人午夜在线免费| 亚洲国产一区二区三区青草影视| 欧美性色综合网| 国产成人福利片| 悠悠色在线精品| 久久色在线观看| 欧美日韩中字一区| 国产成a人亚洲| 欧美a级一区二区| 国产精品国产三级国产普通话99 | 免费人成在线不卡| 最新不卡av在线| 欧美xxx久久| 欧美午夜电影网| av不卡在线播放| 国产精品亚洲午夜一区二区三区| 亚洲第一福利视频在线| 国产精品女上位| 精品免费一区二区三区| 7777精品伊人久久久大香线蕉的| www.久久久久久久久| 国产精品一区二区在线看| 麻豆精品视频在线观看免费|