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

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

?? start_xscale.s

?? xhyPXA255 Linux Bootloader 源程序
?? S
字號:
/////////////////////////////////////////////////////////////////////////////////// Copyright(c) 2001-2002 Hybus Co,.ltd. All rights reserved.//// Module name://      start_xscale.S//// Description:////// Author://      bedguy//// Created://      2002.10/////////////////////////////////////////////////////////////////////////////////#include <start_xscale.h>#include <config.h>.text.extern _ld_text_start.extern _ld_text_and_data_size//////////////////////////////////////////////////////////////////////////////////////////		Vector Table				//////////////////////////////////////////////////////////////////////////////////////////////.globl _start_start:        b       resetreset:	// Mask All interrupt         ldr     r12, =INTERRUPT_CONTROL_BASE        ldr     r0, =0x00000000        str     r0, [r12, #ICMR]        str     r0, [r12, #ICLR]	// Initialize GPIO        bl      gpio_init	// Initialize SDRAM        bl      init_sdram	// Copy Bootloader from Flash to SDRAM	bl	copy_to_ram		// Loading kernel image        ldr	r4, =KERNEL_SRAM_BASE        ldr	r5, =KERNEL_DRAM_BASE        ldr	r6, =KERNEL_MAX_SIZE        add	r6, r6, r4repeat:        ldmia   r4!, {r0-r3, r7-r10}        stmia   r5!, {r0-r3, r7-r10}        cmp             r4, r6        blt             repeat	ldr	sp, =_ld_stack_address	// Jump to c_main	ldr	r0, =c_main	mov	pc, r0die:	b	die//////////////////////////////////////////////////////////////////////////////////////////		Initialize GPIO				//////////////////////////////////////////////////////////////////////////////////////////////gpio_init:	ldr     r12, =GPIO_BASE    ldr     r0, =GAFR0L_VALUE //0x80000000    str     r0, [r12, #GAFR0_L]//0x54    ldr     r0, =GAFR0U_VALUE		//0xA5000010    str     r0, [r12, #GAFR0_U]	//0x58    ldr     r0, =GAFR1L_VALUE		//0x60008018    str     r0, [r12, #GAFR1_L]    ldr     r0, =GAFR1U_VALUE		// 0xAAA5AAAA    str     r0, [r12, #GAFR1_U]    ldr     r0, =GAFR2L_VALUE		//0xAAA0000A    str     r0, [r12, #GAFR2_L]    ldr     r0, =GAFR2U_VALUE		//0x00000002    str     r0, [r12, #GAFR2_U]    ldr     r0, =GPSR0_VALUE    str     r0, [r12, #GPSR0]    ldr     r0, =GPSR1_VALUE    str     r0, [r12, #GPSR1]    ldr     r0, =GPSR2_VALUE    str     r0, [r12, #GPSR2]    ldr     r0, =GPCR0_VALUE    str     r0, [r12, #GPCR0]    ldr     r0, =GPCR1_VALUE    str     r0, [r12, #GPCR1]    ldr     r0, =GPCR2_VALUE    str     r0, [r12, #GPCR2]    ldr     r0, =GPDR0_VALUE    str     r0, [r12, #GPDR0]    ldr     r0, =GPDR1_VALUE    str     r0, [r12, #GPDR1]    ldr     r0, =GPDR2_VALUE    str     r0, [r12, #GPDR2]        // Clear the peripheral control register bits	ldr     r1, =PSSR	ldr     r2, =(PSSR_RDH | PSSR_PH)	str     r2, [r1]        	mov     pc, lr//////////////////////////////////////////////////////////////////////////////////////////	 	Initialize SDRAM			//////////////////////////////////////////////////////////////////////////////////////////////init_sdram:	mov	r10, lr        ldr     r12, =CLOCK_MANAGER_BASE        ldr     r0, =CKEN_VALUE        str     r0, [r12, #CKEN]        ldr     r0, =OSCC_VALUE        str     r0, [r12, #OSCC]#if 1//TODO: Issuing a FCS on a B1 seems to make it crash//shortly after. Figure out why...        ldr     r0, =CCCR_VALUE        str     r0, [r12, #CCCR]        mov     r1, #3        mcr     p14, 0, r1, c6, c0, 0	ldr	r1, =OSCR	ldr	r0, =0	str	r0, [r1]        ldr     r0, =0x300wait_for_clock:        ldr	r2, [r1]        cmp     r0, r2        bne     wait_for_clock#endif        //Step 1 in Intel's code        ldr     r12, =MEM_CTL_BASE        ldr     r0, =MSC0_VALUE        str     r0, [r12, #MSC0]        //Intel's code reads it back to make sure it works...    //    ldr     r0, [r12, #MSC0]        ldr     r0, =MSC1_VALUE        str     r0, [r12, #MSC1]        ldr     r0, [r12, #MSC1]        ldr     r0, =MSC2_VALUE        str     r0, [r12, #MSC2]        ldr     r0, [r12, #MSC2]        ldr     r0, =MECR_VALUE        str     r0, [r12, #MECR]        ldr     r0, =MCMEM0_VALUE        str     r0, [r12, #MCMEM0]        ldr     r0, =MCMEM1_VALUE        str     r0, [r12, #MCMEM1]        ldr     r0, =MCATT0_VALUE        str     r0, [r12, #MCATT0]        ldr     r0, =MCATT1_VALUE        str     r0, [r12, #MCATT1]        ldr     r0, =MCIO0_VALUE        str     r0, [r12, #MCIO0]        ldr     r0, =MCIO1_VALUE        str     r0, [r12, #MCIO1]        //according to Intel's comments, we're extracting the DRI	// Loading the MDREFR in a way that will make it configure	// correctly is a multi-step process.  Please read Section	// 6.12 of the PXA Developers Manual For more Details	// 1.	// The first step requires that we set K0RUN and E0PIN while	// configuring DRI and clearing KXFREE.  All other values	// MUST be left alone        ldr     r0, =MDREFR_VALUE        ldr     r3, [r12, #MDREFR]        ldr     r1, =0xFFF        and     r0, r0, r1	// Make the DRI we read from MDREFR what MDREFR_VALUE says it is.	// We also Free KXFREE the free running bits.        bic     r3, r3, r1	bic	r3, r3, #0x03800000        orr     r3, r3, r0        //Write it back        str     r3, [r12, #MDREFR]	// 2.	// We don't have Synchronous Static Memory and don't want to	// mess with SXCNFG or the like so we are leaving out this	// step.	// 3.	// We don't bother to do this step as it does not seem to have	// been done previously (actually maybe Self-Refresh Disable should	// be here.)        // 4.	// Here we will setup the SDCLK's but WILL NOT enable them.  We	// need to reload MDREFR for this.        ldr     r0, =MDREFR_VALUE	ldr	r1, =0xF6000	// Mask of SDCLK's settings minus EXPIN	and	r0, r0, r1        bic     r3, r3, r1	orr	r3, r3, r0        str     r3, [r12, #MDREFR]	ldr	r3, [r12, #MDREFR]	// 4.        // Although I think that this should be at #3 It is here cause this	// is where it was originally.  This will turn off Self-Refresh.        bic     r3, r3, #0x00400000        str     r3, [r12, #MDREFR]	// 5.	// Finally, we Enable the Various SDCLK's and let it run.	// Also, enable the free-running clocks (not mentioned in the manual).	ldr	r0, =MDREFR_VALUE	ldr	r1, =0x03809000	and	r0, r0, r1	orr	r3, r3, r0        str     r3, [r12, #MDREFR]        nop        nop        //Step 4 in Intel's code        ldr     r0, =MDCNFG_VALUE        //disable all sdram banks        bic     r0, r0, #0x00000003        bic     r0, r0, #0x00030000        //program banks 0/1 for 32 bit bus width        bic     r0, r0, #0x00000004	//test with 16 bit bus width//	orr	r0, r0, #0x00000004        //write MDCNFG, without enabling SDRAM banks        str     r0, [r12, #MDCNFG]        //Step 5 in Intel's code        ldr     r0, =OSCR	mov	r1, #0	str	r1, [r0]        //pause for approx 200 usecs        ldr     r4, =0x300sdram_dly:        ldr     r1, [r0]        cmp     r4, r1        bgt     sdram_dly        //Step 6 in Intel's code        //turn everything off        mov     r0, #0x78        mcr     p15, 0, r0, c1, c0, 0        //Step 7 in Intel's code        //Access memory that has not been enabled for CBR refresh cycles (8)	ldr	r0, =SDRAM_BASE        str     r0, [r0]        str     r0, [r0]        str     r0, [r0]        str     r0, [r0]        str     r0, [r0]        str     r0, [r0]        str     r0, [r0]        str     r0, [r0]        //Step 8 is blank in Intel's code, though they mention dcache should        //be enabled here if it is desired (we don't care)        //Step 9        ldr     r0, [r12, #MDCNFG]        //enable bank 0 (what about bank 1?)        orr     r0, r0, #0x00000001        str     r0, [r12, #MDCNFG]        //Step 10        //write MDMRS again        ldr     r0, =MDMRS_VALUE        str     r0, [r12, #MDMRS]        //Step 11        //are we A1_Cotulla?        ldr     r0, [r12, #MDREFR]	ldr	r11, =0xFFEFFFFF	and	r0, r0, r11        str     r0, [r12, #MDREFR]        mov     pc, r10//////////////////////////////////////////////////////////////////////////////////////////	 Copy Bootloader from Flash to SDRAM		//////////////////////////////////////////////////////////////////////////////////////////////copy_to_ram:	mov	r8, lr	ldr	r0, =0	ldr	r1, =_ld_text_start	ldr	r2, =_ld_text_and_data_sizecopy_loop:	ldr	r3, [r0]	str	r3, [r1]	add	r0, r0, #4	add	r1, r1, #4	subs	r2, r2, #4	bne	copy_loop	mov	pc, r8

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲成aⅴ人片在线观看| 国产精品网站一区| 国产精品久久久久一区二区三区共| 一区二区三区欧美日韩| 久久综合综合久久综合| 色哟哟一区二区在线观看| 日韩精品一区二区三区在线播放 | 五月天一区二区| 国产aⅴ精品一区二区三区色成熟| 欧美亚男人的天堂| 国产精品色在线| 狠狠色丁香婷婷综合久久片| 91精品国产丝袜白色高跟鞋| 99久久伊人精品| 国产一区在线精品| 精品午夜一区二区三区在线观看 | www.性欧美| 日韩精品中文字幕一区| 亚洲综合色网站| 成人a区在线观看| 久久久久久久久久久久久夜| 六月丁香婷婷色狠狠久久| 欧美性生活一区| 亚洲老妇xxxxxx| 91色乱码一区二区三区| 久久久国产精华| 国产二区国产一区在线观看| 亚洲精品在线观| 国产最新精品免费| 成人va在线观看| 成人午夜在线视频| 国产美女娇喘av呻吟久久| 91精品国产一区二区| 午夜免费久久看| 欧美精品123区| 日韩二区三区四区| 制服丝袜日韩国产| 欧美aaaaa成人免费观看视频| 欧美久久一二区| 日韩综合在线视频| 日韩欧美国产小视频| 麻豆91在线看| 久久欧美中文字幕| 成人性生交大片免费| 亚洲品质自拍视频网站| 欧美综合欧美视频| 日韩激情一二三区| 日韩一区二区在线观看视频| 免费在线观看视频一区| 久久免费视频一区| 97精品电影院| 欧美日韩在线播放| 亚洲免费观看在线视频| 欧美怡红院视频| 日韩高清国产一区在线| 欧美videossexotv100| 国产成a人亚洲精品| 国产精品美女久久久久高潮| 91福利在线导航| 视频一区二区国产| 国产精品免费看片| 欧美日韩午夜精品| 国产精品一区二区无线| 亚洲精品成人在线| 日韩欧美精品在线| 99精品国产热久久91蜜凸| 同产精品九九九| 亚洲精品成人天堂一二三| 欧美日韩三级一区二区| 国内精品免费**视频| 亚洲免费观看高清完整版在线观看 | 国产精品久久久久久妇女6080| 一色屋精品亚洲香蕉网站| 精品一区二区三区在线观看国产| 国产美女精品在线| 国产资源精品在线观看| 中文字幕一区二区三区在线播放| 欧美日韩国产美| kk眼镜猥琐国模调教系列一区二区| 亚洲综合一区二区三区| 久久综合成人精品亚洲另类欧美| 色综合久久综合| 国产真实乱对白精彩久久| 亚洲小少妇裸体bbw| 国产丝袜欧美中文另类| 欧美高清视频不卡网| 97久久超碰精品国产| 国产伦精一区二区三区| 日韩在线一区二区| 亚洲裸体在线观看| 国产无人区一区二区三区| 欧美丰满嫩嫩电影| 色婷婷一区二区| 处破女av一区二区| 日韩一区二区在线观看视频| 国产99久久久精品| 成人亚洲一区二区一| 中文字幕乱码一区二区免费| 伦理电影国产精品| 午夜亚洲国产au精品一区二区| 亚洲国产精品成人综合色在线婷婷| 91麻豆精品91久久久久同性| 91在线免费看| 成人国产精品免费观看| 国产一区二区三区不卡在线观看| 首页国产欧美日韩丝袜| 午夜精品成人在线视频| 亚洲国产欧美日韩另类综合| 亚洲免费在线电影| 亚洲视频网在线直播| 欧美国产激情二区三区| 国产精品日产欧美久久久久| 久久久精品免费网站| 久久综合久色欧美综合狠狠| 精品国产污网站| 日韩精品专区在线影院重磅| 91精品国产综合久久精品麻豆| 在线观看av不卡| 久久久影视传媒| 成人精品电影在线观看| 国产日产亚洲精品系列| 日韩一二在线观看| 国产精品一区在线观看你懂的| 久久99久久99小草精品免视看| 午夜精品视频一区| 日韩av电影免费观看高清完整版 | 日韩码欧中文字| 国产精品狼人久久影院观看方式| 国产女主播在线一区二区| 欧美国产97人人爽人人喊| 国产精品乱人伦一区二区| 中文字幕av一区二区三区| 国产精品免费av| 亚洲色图欧洲色图婷婷| 精品一区二区三区香蕉蜜桃| 日韩不卡一二三区| 亚洲综合一区二区| 蜜桃免费网站一区二区三区| 国产精品久久久久aaaa| 亚洲欧美综合另类在线卡通| 亚洲制服欧美中文字幕中文字幕| 亚洲国产成人tv| 日本vs亚洲vs韩国一区三区| 国产美女视频91| 99国产精品一区| 欧美日韩色综合| 久久久国际精品| 一区二区成人在线视频| 毛片一区二区三区| 成人app在线观看| 欧美日韩国产精品自在自线| 久久嫩草精品久久久久| 椎名由奈av一区二区三区| 一区二区三区不卡视频| 久久99精品久久久久| 99久久久精品免费观看国产蜜| 欧美日韩精品久久久| 国产精品免费视频网站| 香蕉影视欧美成人| 处破女av一区二区| 欧美一区二区三区视频免费播放 | 国产精品一区三区| 色悠久久久久综合欧美99| 欧美高清www午色夜在线视频| 久久精子c满五个校花| 午夜激情久久久| 成人激情免费视频| 精品日韩一区二区三区 | 性做久久久久久免费观看欧美| 国产精品一品二品| 69成人精品免费视频| 国产精品免费看片| 国产老肥熟一区二区三区| 欧美巨大另类极品videosbest| 国产精品国产三级国产aⅴ入口| 日韩制服丝袜先锋影音| 91黄色免费网站| 国产精品网站在线观看| 国产综合色在线视频区| 在线综合+亚洲+欧美中文字幕| 亚洲人成精品久久久久| 处破女av一区二区| 久久久久久亚洲综合影院红桃| 全国精品久久少妇| 91福利在线免费观看| 亚洲桃色在线一区| 成人黄页毛片网站| 久久九九久久九九| 国产一区二区0| 精品盗摄一区二区三区| 日本中文字幕一区| 欧美日本韩国一区| 亚洲国产中文字幕在线视频综合| 99精品视频一区二区三区| 国产精品美女久久久久久久久久久 | 91免费观看在线| 国产精品成人一区二区艾草 | 日韩精品一区二区三区在线播放| 午夜国产精品影院在线观看| 欧美视频一区二区三区|