日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

imx6ul:uboot-2013.10启动过程解析

發布時間:2023/12/10 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 imx6ul:uboot-2013.10启动过程解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.源碼結構分析

???? 首先一個問題,老版本的u-boot是沒有SPL這個文件的,新版u-boot開始包含SPL文件,原來u-boot啟動比如放到nand中,在cpu內部有一個stepping stone,可以拷貝nand中的u-boot到ram中運行,然后u-boot自己再啟動第二階段在對應內存中好到系統的image啟動。現在加了這個SPL之后,我的理解這是一個u-boot的loader。及cpu上電后,首先運行這個spl,然后通過這個spl再將u-boot放到對應的位置運行,之后的操作就和老版本基本一樣了。至于為什么這樣做,暫時還不明白,后期再研究下。

編譯成功的u-boot-2013.10共有19個子目錄,大約15個有用的文件,其中各個子目錄和重要文件功能見下表:

名稱

類型

功能說明

api

通用

U-boot提供的一些接口函數

arch

平臺相關

當前U-BOOT重要的目錄,arch下每個子目錄代表一種處理器類型

board

平臺相關

里面有很多支持的開發板型號,這里關注具體開發板和config.mk

common

通用

主要跟U-BOOT的命令有關,cmd_xxx.c以及環境變量的處理代碼env_xxx.c

spl

平臺相關

u-boot的第一階段相關,搬運第二階段代碼到內存中

disk

通用

磁盤驅動的分區處理代碼

doc

說明文檔

可以用來做配置參考

drivers

通用

設備的驅動程序,每種類型一個子目錄包括網卡,USB,LCD等

dts

通用

設備樹的控制,主要是由于LINUX 3.X中去除了很多冗余的代碼,引入device tree,許多硬件細節可以直接傳遞給LINUX,是新的東西

examples

通用

一些示例程序

fs

通用

文件系統支持

include

通用

頭文件和開發板的配制,configs子目錄重要

lib

通用

通用的庫文件

Licenses

通用

可以忽略。。。

nand_spl

平臺相關

支持了部分平臺的nand啟動

net

通用

網絡相關的代碼,小型的協議棧

post

通用

加電自檢程序

scripts

通用

腳本程序

test

通用

測試程序

tools

通用

工具,mkimage就在這里

boards.cfg

文件,平臺相關

修改添加開發板配置現在在此處

Makefile

MAKEALL

config.mk

rules.mk

mkconfig

文件,通用

整個U-BOOT編譯過程的規則文件

kbuild

mkconfig

文件,通用

對Makefile功能的補充,使得編譯更加高效

其余

文件,通用

介紹文檔以及其他

??? 移植工作主要集中在一些編譯規則文件,還有board和arch目錄下。

2 Makefile分析

??? u-boot的README里面其實講的很清楚u-boot的移植過程,翻譯過來如下:

??? 第一步:在boards.cfg里面添加自己的開發板,必須按照現有的規則添加。

??? 第二步:為自己的開發板建立一個目錄,在目錄下添加你需要的文件,這目錄下必須要有以下幾個文件,Makefile,<board>.c,flash.c和u-boot.lds

???? 第三步:為你的建立一個新的配置文件“include/configs/<board>.h”

??? 第四步:輸入“make<board>_config”

??? 第五步:make

??? 第六步:調試并解決出現的問題(當然,這一步遠比聽起來的難很多)

??? Makefile的分析可以了解整個U-boot的代碼結構是怎樣的,文件是如何編譯、鏈接的。

2.1分析配置過程第一步

??? 在編譯的時候第一步是輸入:make wandboard_config,當輸入這個指令的時候,Makefile就會調用以下語句:

??? %_config:: unconfig

???????? @$(MKCONFIG) -A $(@:_config=)

??? %通配符匹配到執行xxx_config的時候,就調用下面的@$(MKCONFIG),這個MKCONFIG可以搜索在以下定義:

??? MKCONFIG := $(SRCTREE)/mkconfig

??? export MKCONFIG

2.2分析mkconfig文件

??? mkconfig為$(SRCTREE)/目錄下的mkconfig文件,就是我們源碼目錄下的mkconfig文件,也就是說,我們輸入了make wandboard_config之后,就執行了mkconfig。

??? mkconfig里面其實就是根據輸入的板子的型號,這里是wandboard,調用boards.cfg文件,將arch cpu soc vender board等信息全部讀出來,然后解析這些信息,進行通用頭文件和庫文件的自動配置,比如arm平臺,很多lib庫和頭文件都是可以共用的。就在這一步生成頭文件和很多宏,并將我們的板子的宏配置進去,如下所示為boards.cfg和Imx6平臺相關的內容:

boards.cfg文件與imx6相關配置?展開原碼

expand source?

cat << EOF >> config.h

#define CONFIG_BOARDDIR board/$BOARDDIR

#include <config_cmd_defaults.h>

#include <config_defaults.h>

#include <configs/${CONFIG_NAME}.h>

#include <asm/config.h> #include <config_fallbacks.h>

#include <config_uncmd_spl.h>

?

?? 這里調用了boards.cfg文件,切進去查看該文件,這個文件里面其實定義了u-boot可以支持的所有開發板,如下圖:

2.3分析建立軟連接過程

mkconfig建立軟連接?展開原碼

expand source?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

if?[?"$SRCTREE"?!=?"$OBJTREE"?] ; then?

mkdir -p ${OBJTREE}/include?

mkdir -p ${OBJTREE}/include2?

cd ${OBJTREE}/include2?

rm -f asm?

ln -s ${SRCTREE}/arch/${arch}/include/asm asm?

LNPREFIX=${SRCTREE}/arch/${arch}/include/asm/?

cd ../include?

mkdir -p asm

else

cd ./include?

rm -f asm?

ln -s ../arch/${arch}/include/asm asm

fi

rm -f asm/arch

if?[ -z?"${soc}"?] ; then?

ln -s ${LNPREFIX}arch-${cpu} asm/arch

else

ln -s ${LNPREFIX}arch-${soc} asm/arch

fi

if?[?"${arch}"?=?"arm"?] ; then?

rm -f asm/proc?

ln -s ${LNPREFIX}proc-armv asm/proc

fi

?

??? 以上是建立軟連接的過程,if [ "$SRCTREE" != "$OBJTREE" ] ; then? 表示判斷源碼目錄是不是我們目標文件生產的目錄,顯然是的,我們生成的目標文件是在u-boot源碼目錄下的,所以直接跳到else后面,執行下面的語句:

??? cd ./include

??? rm -f asm

??? ln -s ../arch/${arch}/include/asm asm

??? 切換到源碼目錄的include目錄下,刪除asm軟連接,然后將上一級目錄下arch/arm/include/asm目錄鏈接到這個目錄來,這是建立了第一個軟連接。可以看得到:

??? 接著rm -f asm/arch刪除asm目錄下的arch軟連接,下面的代碼:

建立軟連接2

?

1

2

3

4

5

6

7

8

9

if?[ -z?"${soc}"?] ; then?

ln -s ${LNPREFIX}arch-${cpu} asm/arch

else

ln -s ${LNPREFIX}arch-${soc} asm/arch

fi

if?[?"${arch}"?=?"arm"?] ; then

rm -f asm/proc?

ln -s ${LNPREFIX}proc-armv asm/proc

fi

?

??? 首先判斷soc是否為空,這里soc顯然不為空,執行ln -s ${LNPREFIX}arch-${soc} asm/arch ,這里LNPREFIX為空,所以這句其實就是ln -s ./arch-mx6 asm/arch,下面的同樣是將arm相關的proc鏈接進去。

結果可以通過ls -l來查看:

2.4生成config.mk和頭文件

生成config.mk文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

( echo?"ARCH?? = ${arch}"??

if?[ ! -z?"$spl_cpu"?] ; then?

echo?'ifeq ($(CONFIG_SPL_BUILD),y)'

echo?"CPU??? = ${spl_cpu}"

echo?"else"

echo?"CPU??? = ${cpu}"

echo?"endif"???

else

echo?"CPU??? = ${cpu}"???

fi????

echo?"BOARD? = ${board}"

????[?"${vendor}"?] && echo?"VENDOR = ${vendor}"??

[?"${soc}"????] && echo?"SOC??? = ${soc}"??

exit?0 ) > config.mk

?

???? 上面的代碼其實就是判斷有沒有定義spl_cpu如果定義了那就將spl_cpu信息輸出到CPU,這里沒有定義,因此依次就是確定了CPU.BOARD.SOC這些信息,最后一句> config.mk將以上信息輸出到config.mk后退出。可以切換到./include/目錄下,看到一個config.mk文件,打開看到如下內容:

??? 接著mkconfig文件還做了自動生成頭文件的工作,這部分代碼如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

if?[?"$APPEND"?=?"yes"?] # Append to existing config file then

echo >> config.h

else??> config.h? # Create?new?config file

fi

echo?"/* Automatically generated - do not edit */"?>>config.h

for?i in ${TARGETS} ;?do

i="`echo ${i} | sed '/=/ {s/=/ /;q; } ; { s/$/ 1/; }'`"

echo?"#define CONFIG_${i}"?>>config.h ; done

echo?"#define CONFIG_SYS_ARCH? \"${arch}\""??>> config.h

echo?"#define CONFIG_SYS_CPU?? \"${cpu}\""???>> config.h

echo?"#define CONFIG_SYS_BOARD \"${board}\""?>> config.h

[?"${vendor}"?] && echo?"#define CONFIG_SYS_VENDOR \"${vendor}\""?>> config.h

[?"${soc}"????] && echo?"#define CONFIG_SYS_SOC??? \"${soc}\""????>> config.h

cat << EOF >> config.h

#define CONFIG_BOARDDIR board/$BOARDDIR

#include <config_cmd_defaults.h>

#include <config_defaults.h>

#include <configs/${CONFIG_NAME}.h>

#include <asm/config.h>

#include <config_fallbacks.h>

#include <config_uncmd_spl.h>

EOF

exit?0

?

??? 首先檢查config.h存在否,如果不存在就建立一個config,h,然后依次定義宏到config.h中,最后加入一些arm平臺下通用的頭文件,最后保存退出。打開config.h文件,可以清晰看到如下內容:

??? 這里并未定義文件里面的前四行內容,應該是手動添加進去的,確定mxl是否是有SPL啟動,具體是哪個型號,然后根據具體型號再做一個配置,這里寫到imx6image.cfg文件里查看。

imx6img.cfg

?

1

2

3

4

5

6

7

8

9

/* image version */

IMAGE_VERSION 2

/*? * Boot Device : one of? * spi, sd (the board has no nand neither onenand)? */

BOOT_FROM????? sd

#define __ASSEMBLY__

#include <config.h>

#include "asm/arch/iomux.h"

#include "asm/arch/crm_regs.h"

#include "clocks.cfg"

?

這個文件加入了另外幾個頭文件,猜測這個文件是和啟動方式有關的配置文件,這里又加入了clocks.cfg文件,配置了啟動時候的時鐘,這部分代碼后面分析啟動過程的時候再分析。

2.5編譯

??? 這部分代碼比較多,但是主要完成了以下幾個剩余的工作:

??? 1.u-boot版本號確認及語言環境確認

??? 2.解析make后面傳入的參數,例如make -v=1之類的,這里我們沒有

??? 3.指定源碼目錄和目標目錄

??? 4.獲取machine號

??? 5.確定交叉編譯工具鏈,制定了我們的shell名稱:/bin/bash,編譯器套件名稱:gcc,以及一些編譯參數,-Wall表示要提示所有的warning。

??? 6.設置頭文件包含路徑,輸出目標制定目錄,添加平臺相關的頭文件到指定目錄。

??? 7.根據配置執行make以及depend的依賴關系分別調用各子目錄,生成所有的obj文件。

??? 8.交代了u-boot是如何組裝起來的,組裝規則是u-boot.lds這個文件,把start.o和各個子目錄makefile生成的庫文件按照LDFLAGS連接在一起,生成ELF文件u-boot 和連接時內存分配圖文件u-boot.map。這里,我們的u-boot.bin文件我理解的是從u-boot.elf拷貝過來的。

3.u-boot.lds

??? u-boot的代碼是根據u-boot.lds組裝起來的,由于u-boot.lds的代碼比較晦澀,不過不要緊,只要能找到每一個階段的入口就可以了,該文件內容如下:

第一啟動階段代碼入口

?

1

2

3

4

5

6

7

8

9

10

11

12

OUTPUT_FORMAT("elf32-littlearm",?"elf32-littlearm",?"elf32-littlearm")

OUTPUT_ARCH(arm)

ENTRY(_start)

SECTIONS {

??. = 0x00000000;

??. = ALIGN(4);

.text :?

{?

*(.__image_copy_start)???//這里指定了影響文件復制的起始地址

arch/arm/cpu/armv7/start.o (.text*)??//指明了啟動第一階段的文件為制定目錄下的start.s

*(.text*)?

}

?

??? 下面開始分析start.s和具體上電后的操作。

4.啟動分析

start.S

?

22

23

.globl _start

_start: b reset

?

??? 這里聲明一個連接入口_start,上電后或者復位后第一句就跳轉到reset,切過去:

start.S

?

110

111

112

113

114

115

116

117

118

reset:?

bl save_boot_params???

mrs r0, cpsr??//將當前狀態寄存器的值讀到r0

and r1, r0, #0x1f?//將r0的低五位狀態賦值r1,也就是cpsr的低五位狀態

teq r1, #0x1a??//比較CPSR的低五位狀態是否等于0x1a,該狀態說明對應HYP模式,一種非安全狀態行運行的新模式。

bicne r0, r0, #0x1f?//如果不等于那就清楚低五位?

orrne r0, r0, #0x13?//同樣設置低五位為0x13,也就是10011,對應的是ARM的SVC管理模式

orr r0, r0, #0xc0??//11000000,禁止IRQ和FIQ

msr cpsr,r0//將r0的值讀到CPSR,這時候am誰svc模式,中斷被禁止。

?

????

?????????????????????????????????????????????????????????????? CPSR寄存器

???? 這里先跳轉到save_boot_params,bl跳轉后會返回回來繼續執行,還是切過去看save_boot_params做了什么。

save_boot_params

?

179

180

181

182

ENTRY(save_boot_params)?

bx lr?? @ back to my caller

ENDPROC(save_boot_params)?

.weak save_boot_params

?

??? 這里bx lr就直接返回跳轉來之前的地址,也就是什么都不做,下面的.weak關鍵字作用是如果其他地方定義了save_boot_params那就調用,如果沒有定義,這就是個空函數。

??? 接著上面的代碼段,具體做了什么已經注釋的比較清楚了,接下來:

start.S

?

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

#if !(defined(CONFIG_OMAP44XX) && defined(CONFIG_SPL_BUILD))?

/* Set V=0 in CP15 SCTRL register - for VBAR to point to vector */

mrc p15, 0, r0, c1, c0, 0 @ Read CP15 SCTRL Register?

bic r0, #CR_V? @ V = 0

mcr p15, 0, r0, c1, c0, 0 @ Write CP15 SCTRL Register

/* Set vector address in CP15 VBAR register */

ldr r0, =_start?

mcr p15, 0, r0, c12, c0, 0 @Set VBAR

#endif

#ifndef CONFIG_SKIP_LOWLEVEL_INIT?

bl cpu_init_cp15?

bl cpu_init_crit

#endif

bl _main

?

???? 這里我們沒有定義CONFIG_OMAP44XX和CONFIG_SPL_BUILD,因此執行

??? mrc p15, 0, r0, c1, c0, 0,這是協處理器操作,只有mrc和mcr才能對arm的協處理器進行操作:

????????? MRC {條件}協處理器編碼,協處理器操作碼1,目的寄存器,源寄存器1,源寄存器2,{協處理器操作碼2}

????????? MCR {條件}協處理器編碼,協處理器操作碼1,源寄存器,目的寄存器1,目的寄存器2,{協處理器操作碼2}

??? 這兩個指令一般是成對使用,讀出來在寫進去,設置CP15協處理器的C1寄存器V位為0,查看寄存器手冊:

?? 設置地段一場中斷向量0x0~0x1c。

??? 然后將_start的地址給r0,再將該地址寫到c12寄存器,也就是設置異常向量的基地址:

???

??? 緊接著,這里沒有定義skip_lowlevel_init,跳入cpu_init_cp15 ,顧名思義還是對cp15協處理器的設置。代碼如下:

cpu_init_cp15?展開原碼

expand source?

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

ENTRY(cpu_init_cp15)

/*?

* Invalidate L1 I/D?

* 使無效整個數據和指令TLB,然后使無效整個指令cache,清空整個跳轉目標的cache,清空預取緩沖區,清空寫緩沖區???

*/

mov r0, #0?? @ set up?for?MCR?

mcr p15, 0, r0, c8, c7, 0 @ invalidate TLBs?

mcr p15, 0, r0, c7, c5, 0 @ invalidate icache?

mcr p15, 0, r0, c7, c5, 6 @ invalidate BP array?

mcr p15, 0, r0, c7, c10, 4 @ DSB?

mcr p15, 0, r0, c7, c5, 4 @ ISB

/*

* disable MMU stuff and caches??

* 設置低端異常中斷向量,禁止MMU,禁止地址對齊檢查,禁止數據Cache,前面已經禁止了指令cache。緊接著使能地址對齊檢查,使能跳轉預測功能???

*/

mrc p15, 0, r0, c1, c0, 0?

bic r0, r0, #0x00002000 @ clear bits 13 (--V-)?

bic r0, r0, #0x00000007 @ clear bits 2:0 (-CAM)?

orr r0, r0, #0x00000002 @ set bit 1 (--A-) Align?

orr r0, r0, #0x00000800 @ set bit 11 (Z---) BTB

#ifdef CONFIG_SYS_ICACHE_OFF?

bic r0, r0, #0x00001000 @ clear bit 12 (I) I-cache

#else?

orr r0, r0, #0x00001000 @ set bit 12 (I) I-cache?//這里沒有定義ICACHE_OFF,因此這里使能指令Cache

#endif?

mcr p15, 0, r0, c1, c0, 0

#ifdef CONFIG_ARM_ERRATA_716044?? //沒有定義該號碼的宏,跳過

mrc p15, 0, r0, c1, c0, 0 @ read?system?control?register

orr r0, r0, #1 << 11 @ set bit #11?

mcr p15, 0, r0, c1, c0, 0 @ write?system?control?register

#endif

/*

* 這里是對CP15的C15寄存器進行了操作,這里叫做診斷寄存器,然后將4,6,15都置位,這里我沒找到c15寄存器的手冊說明。

*/

#ifdef CONFIG_ARM_ERRATA_742230?

mrc p15, 0, r0, c15, c0, 1 @ read diagnostic?register

orr r0, r0, #1 << 4? @ set bit #4?

mcr p15, 0, r0, c15, c0, 1 @ write diagnostic?register

#endif

#ifdef CONFIG_ARM_ERRATA_743622?

mrc p15, 0, r0, c15, c0, 1 @ read diagnostic?register

orr r0, r0, #1 << 6? @ set bit #6?

mcr p15, 0, r0, c15, c0, 1 @ write diagnostic?register

#endif

#ifdef CONFIG_ARM_ERRATA_751472?

mrc p15, 0, r0, c15, c0, 1 @ read diagnostic?register

orr r0, r0, #1 << 11 @ set bit #11?

mcr p15, 0, r0, c15, c0, 1 @ write diagnostic?register

#endif

mov pc, lr?? @ back to my caller ENDPROC(cpu_init_cp15)

?

??? 這部分首先對r0清零,然后使無效整個數據和指令TLB,然后使無效整個指令cache,清空整個跳轉目標的cache,清空預取緩沖區,清空寫緩沖區, 設置低端異常中斷向量,禁止MMU,禁止地址對齊檢查,禁止數據Cache,前面已經禁止了指令cache。緊接著使能地址對齊檢查,使能跳轉預測功能 。然后后面有三個勘誤宏,這里定義了三個,分別作了以下事情:對CP15的C15寄存器進行了操作,這里叫做診斷寄存器,然后將4,6,15都置位,這里我沒找到c15寄存器的手冊說明,具體意義不明,不過應該不影響后面的啟動過程。

??? 具體CP15的C0到C15寄存器信息參考下面的鏈接。

????http://blog.sina.com.cn/s/blog_858820890102v1gc.html

??? 完了之后,跳回子函數,然后順序執行到函數cpu_init_crit:

cpu_init_crit?展開原碼

expand source?

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

#ifndef CONFIG_SKIP_LOWLEVEL_INIT

/*************************************************************************?

*

* CPU_init_critical registers?

*?

* setup important registers?

* setup memory timing?

* *************************************************************************/

ENTRY(cpu_init_crit)?

/*??

* Jump to board specific initialization...??

* The Mask ROM will have already initialized??

* basic memory. Go here to bump up clock rate and handle??

* wake up conditions.?? */

???b lowlevel_init? @ go setup pll,mux,memory

ENDPROC(cpu_init_crit)

#endif

?

???? 未定義SKIP_LOWLEVEL_INIT這部分代碼其實就是跳轉到lowlevel_init去了,lowlevel_init的作用就是引導加載c函數做進一步的初始化,切過去。

low_level_init.S

?

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

ENTRY(lowlevel_init)?

/*??

* Setup a temporary stack??

*/

ldr sp, =CONFIG_SYS_INIT_SP_ADDR?

bic sp, sp, #7?/* 8-byte alignment for ABI compliance */

#ifdef CONFIG_SPL_BUILD?

ldr r9, =gdata

#else?

sub sp, #GD_SIZE?

bic sp, sp, #7?

mov r9, sp

#endif?

/*??

* Save the old lr(passed in ip) and the current lr to stack??

*/

push {ip, lr}

/*??

* go setup pll, mux, memory??

*/

bl s_init?

pop {ip, pc}

ENDPROC(lowlevel_init)

?

??? 這里首先設置了一個臨時的堆空間,將CONFIG_SYS_INIT_SP_ADDR的地址送到SP,這個地址=(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET),CONFIG_SYS_INIT_RAM_ADDR 在

imx-regs.h里面定義了0x00900000,后面的CONFIG_SYS_INIT_SP_OFFSET未找到,忽略。

??? 設置SP八個字節對齊之后,這里定義了CONFIG_SPL_BUILD。將gdata賦值給r9,跳轉到s_init函數中去。

??? s_init在arch\arm\cpu\armv7\mx6的soc.c中,s_init主要是對IMX6的PFDs進行了板級設置。

??? 在調用結束s_init之后,程序跳轉到到_main函數里面,搜索定位該感受在arch/arm/lib/crt0.S下,這里是main函數的入口,主要做了以下工作:

  • 重新對SP賦值, 確認sp是8字對齊
  • 在棧頂保留一個global_data的大小, 這個global_data是uboot里面的一個全局數據, 很多地方都會用到. 俗稱 gd_t
  • 確認更新后的sp是8字對齊
  • r9指向global_data, 后面別的地方想用global_data時候, 可以直接從r9里面獲取地址.
  • r0賦值0
  • bl?board_init_f: 跳轉到board_init_f. 在編譯SPL時, 分析Makefile可以看出, 該函數的實現是在<arch/arm/lib/spl.c>.

??? board_init_f在arch/arm/lib/spl.c中,主要做了以下事情:

  • 對BSS段進行清零操作
  • gd = &gdata;
    • gd的定義在DECLARE_GLOBAL_DATA_PTR <arch/arm/include/asm/global_data.h>
      • #define DECLARE_GLOBAL_DATA_PTR???? register volatile gd_t *gd asm ("r9")
        • r9之前初始化了
    • gdata的定義在本文件中: gd_t gdata __attribute__ ((section(".data")));?
      • 它是一個 gd_t 也就是global_data類型的變量
      • __attribute__表示這個變量會被放到".data"這個輸入段中. 連接器會把輸入段按照鏈接腳本(u-boot-spl.lds)里面指定的規則存放到輸出段

??? 接著跳轉到board_init_r,在common/spl/spl.c下面,主要做了以下事情:

??? 對memory,timer初始化,選擇在什么介質啟動,最后判斷image的類型,是u-boot還是linux。

5.總結

????(reset) <arch/arm/cpu/armv7/start.S-> (b lowlevel_init: arch/arm/cpu/armv7/lowlevel_init.S) (b _main) --> <arch/arm/lib/crt0.S> (bl board_init_f) --> <arch/arm/lib/spl.c> (board_init_r) --> <common/spl/spl.c> (jump_to_image_no_args去啟動u-boot)

總結

以上是生活随笔為你收集整理的imx6ul:uboot-2013.10启动过程解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

九热在线 | 久久怡红院 | 国产一区高清在线观看 | 四虎影视成人永久免费观看亚洲欧美 | 国产精品va在线 | 六月激情丁香 | 欧美精品你懂的 | 人人插人人 | 2021国产在线 | 中文字幕在线免费看线人 | 亚洲国产手机在线 | 黄色小视频在线观看免费 | 玖玖在线播放 | 久久永久免费视频 | 国产精品免费观看久久 | 日韩h在线观看 | 久久av影视 | 国产短视频在线播放 | 日韩精品免费一区二区在线观看 | 91粉色视频 | 国产成人一区在线 | 久久国产精品99久久久久久老狼 | 亚洲精品在线一区二区 | 五月婷婷视频在线 | 久久久久久高清 | 午夜精品久久久久久久99 | 在线播放一区二区三区 | 成年人在线免费视频观看 | av在线收看| 国产日产在线观看 | 中文字幕在线人 | 亚洲永久精品在线观看 | 精品亚洲视频在线 | 色噜噜在线观看 | 婷婷久久五月 | 国模视频一区二区三区 | 欧美视频一区二 | 国产淫片 | 少妇按摩av | 色诱亚洲精品久久久久久 | 349k.cc看片app| 亚洲日韩中文字幕在线播放 | 久久99电影 | 久草在线欧美 | 久久精品一级片 | 日日操操操 | 亚洲精品小区久久久久久 | 在线观看播放av | 黄色av大片 | 久久国产一区二区三区 | 又黄又爽的免费高潮视频 | 91入口在线观看 | 在线 日韩 av | 欧美性色综合网站 | 免费看的黄色的网站 | 国产伦理一区二区 | 成人免费大片黄在线播放 | 国产精品成人一区二区三区吃奶 | 日韩精品免费一线在线观看 | 色婷婷影视 | 99热99热 | 国产视| 成人 亚洲 欧美 | 久久精品免视看 | 亚洲久草在线 | 999成人| 天天色欧美 | 97av在线视频 | 国产91九色蝌蚪 | 五月激情天 | 丁香花在线观看视频在线 | 2019中文在线观看 | 午夜av免费在线观看 | 激情偷乱人伦小说视频在线观看 | 免费麻豆视频 | 中文字幕不卡在线88 | 亚洲综合色av | 久久久久99精品成人片三人毛片 | 久草免费电影 | 国产精品va视频 | 久色小说 | 久久不射网站 | 久久av网 | 中文字幕av最新 | 激情视频一区 | 欧美伦理一区二区 | 美女国内精品自产拍在线播放 | 黄色资源网站 | 亚洲v欧美v国产v在线观看 | 美女视频免费精品 | 日韩久久视频 | 中文字幕在线观看2018 | 成人免费毛片aaaaaa片 | 中文字幕第一页在线 | 天天色天天综合网 | 高清中文字幕 | 2021国产在线视频 | 国产高清精品在线 | 国产精品av免费观看 | 草久在线观看视频 | 婷婷伊人五月天 | 在线91av| 国产精品美 | 久久精品人| 国产精品午夜免费福利视频 | 色婷婷激情网 | 999久久久久久久久6666 | 天天色成人网 | 三级a视频| 日本中文字幕免费观看 | 在线欧美中文字幕 | 婷婷在线免费观看 | 国产成人精品一区二区三区在线观看 | av在线播放快速免费阴 | 国内精品亚洲 | 天天操天天添 | 国产精品久久久久久电影 | 国产精品久久久99 | 国产一区二区在线视频观看 | 天天操夜夜曰 | 久一久久 | 久久精品女人毛片国产 | 韩国av一区二区三区在线观看 | 黄色三级免费片 | 波多野结衣电影一区二区 | 精品国产亚洲日本 | 在线观看一区视频 | 国产精品99久久久久久大便 | 免费久久99精品国产婷婷六月 | 国产手机精品视频 | 天天操 夜夜操 | 三级av在线| 亚洲精品乱码 | 国产青草视频在线观看 | 久久激五月天综合精品 | 蜜桃av综合网 | 国产成人精品亚洲a | 日韩最新在线视频 | 久久久91精品国产一区二区三区 | 91精品夜夜 | 日色在线视频 | 人人玩人人添人人澡超碰 | 久久精品视频在线播放 | 国产麻豆精品传媒av国产下载 | 国产综合在线观看视频 | 在线免费试看 | 久久99精品国产99久久6尤 | 亚洲在线| 97视频免费在线看 | www,黄视频 | 天天干天天摸 | 97国产在线观看 | 在线播放av网址 | 久久视频这里只有精品 | 婷婷视频在线播放 | 国产又粗又猛又黄又爽 | 久久久久日本精品一区二区三区 | 精品在线观 | 久久在线电影 | 黄色片网站大全 | 国产精品一区二区三区99 | 中文字幕免费一区二区 | 国产69久久久欧美一级 | av+在线播放在线播放 | 日韩精品久久一区二区三区 | 在线观看中文字幕亚洲 | 日本爱爱免费视频 | 日韩高清在线一区二区三区 | 免费一级毛毛片 | 一级片视频在线 | 天天爽天天碰狠狠添 | 日韩视频专区 | 叶爱av在线| 日韩精品久久久久久久电影99爱 | 亚洲精品白浆高清久久久久久 | 美女视频永久黄网站免费观看国产 | 这里只有精品视频在线观看 | 亚洲精品国久久99热 | 免费观看视频黄 | 国产专区在线播放 | 狠狠色狠狠色综合系列 | 国产亚洲欧美日韩高清 | 国产精品18毛片一区二区 | 国产一级免费av | 日韩三级在线 | 丁香婷婷激情五月 | av片在线观看 | 在线观看免费福利 | 久久国产电影院 | 欧美日韩一区二区三区免费视频 | 精品一区二区三区电影 | 黄色avwww | 国产精品久久久久久久久久久久午夜片 | 深夜成人av | av中文在线影视 | 久久国产精品精品国产色婷婷 | 国产日韩精品在线观看 | 日韩成人在线一区二区 | 国产成人福利在线 | 久久黄色小说 | 日韩在线大片 | 九九热免费在线视频 | 国产精品麻豆99久久久久久 | 超碰国产在线观看 | 天天操月月操 | 一级成人网 | 精品成人免费 | 九九九九热精品免费视频点播观看 | 免费看色视频 | 狠狠色综合网站久久久久久久 | 亚洲精品国产免费 | 亚洲欧洲日韩 | 69亚洲视频| 91污污 | 黄色免费视频在线观看 | 久草在线国产 | 中文视频一区二区 | 久久久黄色av | 久久成年人网站 | 久久精品亚洲一区二区三区观看模式 | 国产精品久久久久免费a∨ 欧美一级性生活片 | av中文天堂| 日韩精品免费一线在线观看 | 色诱亚洲精品久久久久久 | 国产999| 欧美久久久久 | 免费在线观看视频一区 | 国产精品高清av | av3级在线| 亚洲日日日 | 人人插人人 | 91成人在线免费观看 | 亚洲另类人人澡 | 91精品电影 | 狠狠躁日日躁夜夜躁av | 久久成人人人人精品欧 | 亚洲另类在线视频 | 天天干天天做 | 亚洲日日射 | 欧美一级裸体视频 | 91久久久久久久一区二区 | 午夜精品一区二区国产 | 日韩精品视频免费专区在线播放 | 中文字幕4 | 欧美久久久久久久久久久 | 中文字幕丝袜一区二区 | 91激情小视频 | 欧美精品久久久久久久久老牛影院 | 色综合天天做天天爱 | 91久久国产自产拍夜夜嗨 | 国产一区二区不卡在线 | 日韩二区三区在线 | 香蕉蜜桃视频 | 91精品秘密在线观看 | 天天色天天操综合网 | 日韩av免费一区二区 | 精品在线观看国产 | 深爱婷婷久久综合 | 国产精品日韩久久久久 | 91资源在线观看 | 久久国产精品一国产精品 | 久久人人艹 | 探花视频在线版播放免费观看 | 在线观看 国产 | 在线观看黄色av | 亚洲最大在线视频 | 国产精品永久久久久久久久久 | bbb搡bbb爽爽爽 | 亚洲免费国产视频 | 中文字幕亚洲欧美日韩2019 | 超碰精品在线 | 婷婷激情影院 | 亚洲人毛片 | 人人插人人艹 | 国产97av| 国产v亚洲v | 亚洲 成人 欧美 | 欧美亚洲久久 | 日韩欧美有码在线 | 激情久久久久 | 在线看黄网站 | 久久在线精品 | 国产一二三在线视频 | 99久e精品热线免费 99国产精品久久久久久久久久 | 超碰成人av| av福利电影| 亚洲爱视频 | 日韩精品一区二区三区在线播放 | 国产97av | 狂野欧美激情性xxxx欧美 | 成人资源在线播放 | 天堂在线视频免费观看 | 九九热99视频 | 91久久人澡人人添人人爽欧美 | 人人看人人 | 夜夜天天干 | 五月天婷亚洲天综合网精品偷 | 99久久99久久 | 久久这里只有精品23 | 激情丁香综合五月 | 国产麻豆成人传媒免费观看 | 日本高清免费中文字幕 | 色99久久| 精品国产一区二区三区久久久蜜臀 | 国内精品久久久久久久久久清纯 | 亚欧洲精品视频在线观看 | 毛片精品免费在线观看 | 午夜av不卡| 国产情侣一区 | 涩涩网站在线播放 | 69av视频在线 | 国产区在线看 | 精品黄色在线 | 大荫蒂欧美视频另类xxxx | 国产不卡网站 | 国产精品理论片在线播放 | 亚洲精品久久久久www | 福利视频| 99视频精品免费视频 | 精品久久久亚洲 | 国产精品免费人成网站 | 国产精品免费看 | 色综合久久精品 | 中文字幕电影高清在线观看 | 五月婷婷综合在线观看 | 日本精品视频免费 | 99欧美精品 | 手机在线小视频 | 久久视频网| 免费av高清 | 91网站在线视频 | 天天做日日做天天爽视频免费 | 国产精品永久免费 | 国产黄色一级片在线 | 97精品超碰一区二区三区 | 香蕉在线影院 | 91看片在线免费观看 | 99爱精品视频 | 国产亚洲精品久久 | 98久9在线 | 免费| 国产99久久99热这里精品5 | 91.精品高清在线观看 | 欧美日韩国产一区二区三区在线观看 | 中文字幕在线观看一区二区三区 | 欧美日韩调教 | 成人一级片在线观看 | 精品女同一区二区三区在线观看 | 韩国av免费观看 | 婷婷五月在线视频 | 又湿又紧又大又爽a视频国产 | 亚洲永久精品在线观看 | 天天看天天干 | 中文字幕在线国产精品 | www.av小说 | 天天婷婷| 国产国产人免费人成免费视频 | 久久天天拍 | 精品中文字幕视频 | 九九在线国产视频 | 久久99中文字幕 | 免费国产亚洲视频 | 国产一区二区不卡视频 | 特级毛片aaa | 天天干天天草天天爽 | 国产成人在线看 | 一本色道久久综合亚洲二区三区 | 在线导航av | 免费看黄视频 | 国产精品一区二区三区视频免费 | 免费亚洲黄色 | 奇米影音四色 | 国产欧美最新羞羞视频在线观看 | caobi视频 | 成人在线观看日韩 | a爱爱视频| 玖玖玖国产精品 | 91九色网址| 久久久久观看 | 久草网视频在线观看 | 麻豆视频免费在线播放 | 成人sm另类专区 | 久久婷婷亚洲 | av一级片网站 | 亚洲精品国产品国语在线 | 亚洲精品动漫成人3d无尽在线 | 超碰成人网 | 久久福利在线 | 9在线观看免费高清完整版在线观看明 | 在线观看黄色国产 | 国产亚洲精品v | 亚洲高清视频在线观看免费 | av中文天堂 | 久久8精品| 欧美午夜激情网 | 特级西西444www大胆高清无视频 | 二区三区在线视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 最新超碰在线 | 日韩在线观看av | 激情综合啪啪 | 91中文字幕永久在线 | 久久综合色一综合色88 | 国产精品免费观看网站 | 国产成人精品午夜在线播放 | 草草草影院 | 99热精品视 | 91免费版成人 | 精品一区二区在线免费观看 | 亚洲成a人片77777kkkk1在线观看 | 日韩在线欧美在线 | 99久久久国产精品免费99 | 开心色插 | 久久成人麻豆午夜电影 | 精品国产伦一区二区三区观看方式 | 97人人添人澡人人爽超碰动图 | 成人黄大片视频在线观看 | 在线日韩中文字幕 | 亚洲精品国产精品乱码不99热 | 人人澡人| 日韩在线视频观看 | 97视频免费观看2区 亚洲视屏 | 在线观看亚洲 | 日韩v欧美v日本v亚洲v国产v | 九九热中文字幕 | 色综合人人 | 在线中文字幕视频 | 国产第一福利 | 国产精品欧美久久 | 久久免费国产精品1 | 色婷婷狠狠五月综合天色拍 | 欧美男男激情videos | 九九视频网 | 日韩有码在线观看视频 | 亚洲人成在| 午夜精品久久久久久99热明星 | 手机av看片 | 91在线观看欧美日韩 | 精品国产伦一区二区三区观看说明 | 国产色综合 | 日本成人免费在线观看 | 精品成人a区在线观看 | 五月天久久 | 麻豆国产视频下载 | 国产精品自产拍在线观看 | 91在线亚洲 | 久久久18 | 免费在线观看日韩欧美 | 在线观看国产www | 久操中文字幕在线观看 | 91完整版 | 香蕉网在线播放 | 精品一二三区 | 天天色成人 | 午夜天使 | 毛片一区二区 | 久久久久久久久久久免费av | 婷婷午夜 | av电影在线观看 | 丁香五月亚洲综合在线 | 日韩电影在线视频 | 国产日本在线观看 | 国产一区影院 | av短片在线观看 | 日韩r级电影在线观看 | 一二三区在线 | 亚洲综合激情网 | 黄色性av| 国产欧美精品一区二区三区四区 | 久久精品精品电影网 | 久久免费视频国产 | 91麻豆精品国产91久久久使用方法 | 香蕉蜜桃视频 | 黄色av高清 | 欧美日韩中文在线观看 | 香蕉视频网址 | 国产免费久久 | 国产a视频免费观看 | 国产 欧美 日本 | 三级毛片视频 | 中文字幕高清有码 | 亚洲少妇自拍 | 欧美激情精品久久久久久变态 | 美女网站黄免费 | 色狠狠婷婷 | 免费成人av | 九色在线视频 | av成人亚洲 | 热久久国产 | 久久福利影视 | 伊人五月在线 | 西西444www大胆高清视频 | 黄色片网站 | 国产视频一区二区三区在线 | 香蕉视频网站在线观看 | 国产亚洲精品日韩在线tv黄 | 国产打女人屁股调教97 | 丁香午夜婷婷 | 日韩av视屏| 免费电影一区二区三区 | 中文字幕在线播放第一页 | 久久成人国产精品入口 | 亚洲精品午夜国产va久久成人 | 国产免费不卡 | 国产精品久久久一区二区 | av电影在线不卡 | 色多视频在线观看 | 亚洲二区精品 | 亚洲国产剧情 | 91亚洲精品久久久中文字幕 | 国产精品久久久久久模特 | 久久99九九99精品 | 久草网免费 | 久久久国产网站 | 久久婷婷开心 | 在线观看成人网 | 久久96国产精品久久99漫画 | 日韩欧美高清一区二区三区 | 国产精品一区二区久久国产 | 日韩在线免费视频观看 | 天天爱天天操天天干 | 亚洲一区视频在线播放 | 国产原创在线观看 | 啪一啪在线 | 黄色三级网站 | 久久精品亚洲精品国产欧美 | 久久嗨 | 欧美性视频网站 | 日韩免费观看一区二区三区 | 久久国产精品一二三区 | 爱av在线网 | 免费观看第二部31集 | 亚洲精品白浆高清久久久久久 | 最近中文字幕在线中文高清版 | 国产成人免费av电影 | 91视频首页 | 亚洲激情在线观看 | www.久久久 | 欧美韩国日本在线 | 最近免费中文字幕mv在线视频3 | 午夜性盈盈 | 亚洲va欧美va人人爽春色影视 | 久久免费视频在线观看6 | 亚洲视频久久久 | 午夜精品久久久久久久久久久 | 欧美二区视频 | 精品xxx| 在线观看韩日电影免费 | 在线香蕉视频 | 五月激情丁香 | 91视频免费看网站 | 97超级碰碰碰碰久久久久 | 一区二区三区四区免费视频 | 国产又粗又猛又黄 | 久久久久久久久久电影 | 999成人| 日韩欧美视频免费在线观看 | 国产不卡在线视频 | 91在线影院 | 精品a视频| 天天做综合网 | 免费a现在观看 | 成人久久久久久久久久 | 国产男女免费完整视频 | 国产午夜激情视频 | 天天操福利视频 | 黄色视屏在线免费观看 | 97视频在线免费观看 | 激情久久久久久久久久久久久久久久 | av一级片 | 午夜视频色 | 人人草人人草 | 国产精品刺激对白麻豆99 | 中文字幕中文字幕在线中文字幕三区 | 天天操天天操天天操天天操 | 最近中文字幕免费av | 中文字幕日韩在线播放 | 婷婷亚洲综合五月天小说 | 国产精品成人国产乱一区 | 91精品综合在线观看 | 在线视频精品播放 | 激情影院在线观看 | 麻豆久久久久久久 | 国产三级午夜理伦三级 | 日本成人免费在线观看 | 精品久久久久久亚洲综合网站 | 国产精品18久久久久久久久久久久 | www黄色大片| 久久久久久久久黄色 | 97超碰在线久草超碰在线观看 | 亚洲黄色片一级 | 日韩成人在线一区二区 | 久久国产经典视频 | av综合网址| 天天天干天天射天天天操 | 日韩免费高清在线观看 | 九九九免费视频 | 亚洲国内精品在线 | a视频免费 | 一区二区三区四区五区在线视频 | 日韩在线一区二区免费 | 国产精品 日韩 欧美 | 亚洲一级黄色大片 | 综合久久2023 | 国产精品永久久久久久久久久 | 欧美疯狂性受xxxxx另类 | 成人a免费看 | 国产剧情在线一区 | 国产精品久久久久久超碰 | 成人黄色影片在线 | 精品久久久久久国产91 | 欧美日韩首页 | 亚洲精品乱码久久久一二三 | 日韩精品一区二区三区水蜜桃 | 欧美精品久久久久久久亚洲调教 | www色| 一区二区不卡视频在线观看 | 97视频免费看 | 婷婷免费在线视频 | 免费看黄色大全 | 久久 地址 | 亚洲伦理一区二区 | 国产一区二区三区午夜 | 免费黄色在线网址 | 在线不卡a | 97精品电影院 | 国产亚洲一区二区在线观看 | 91九色在线视频观看 | 一区二区 不卡 | 久久国产露脸精品国产 | 黄色小说网站在线 | 91久久久久久国产精品 | 在线免费观看亚洲视频 | 337p欧美 | 在线观看成人毛片 | 欧美精品一级视频 | 久色婷婷 | 91免费观看视频在线 | 97视频免费观看2区 亚洲视屏 | 久要激情网 | av网站免费看| 亚洲日本精品视频 | 天天草天天操 | 色婷婷综合成人av | 99热这里只有精品在线观看 | 国产精品欧美 | 国产精品午夜8888 | 亚洲精品国产精品国自产观看 | 国产成年免费视频 | 叶爱av在线 | 欧美做受高潮 | 中文字幕亚洲五码 | 岛国av在线 | 久久精品99国产精品酒店日本 | 99精品在线免费视频 | 色偷偷88888欧美精品久久 | 欧美老人xxxx18 | 国产色区| 国产黄色在线 | 依人成人综合网 | 黄色网免费 | 人人澡人人爽欧一区 | 天天在线免费视频 | 99九九热只有国产精品 | 久久精品日产第一区二区三区乱码 | 日韩成人黄色 | 亚洲日b视频 | 国产美女精品久久久 | 亚州av网站大全 | 成人a视频在线观看 | 欧美激情精品久久 | 超碰人人在线观看 | 日本视频久久久 | 日日夜夜免费精品 | 日韩av中文字幕在线免费观看 | 欧美一级久久久久 | 99久久电影| 中文字幕免费观看视频 | 久久综合狠狠综合久久综合88 | 久久久久久电影 | 91自拍视频在线 | 草久视频在线观看 | 久久人人爽人人爽人人 | 色婷婷播放 | 国产成人精品一二三区 | 免费看v片 | 日本在线观看中文字幕 | 久久久久免费精品国产小说色大师 | 国产精品av一区二区 | 国产一区欧美一区 | 久久亚洲精品电影 | 亚洲一区 av| 视频在线在亚洲 | 日韩免费电影在线观看 | 91桃色在线免费观看 | 中文在线亚洲 | www五月天婷婷 | 最近中文字幕 | 国产精品久久久久av免费 | 久久av免费 | 97超在线视频 | 99国内精品久久久久久久 | 97在线观视频免费观看 | 国产日韩欧美在线播放 | 人人干人人做 | 精品影院一区二区久久久 | 黄色的网站免费看 | av黄色一级片 | 免费99精品国产自在在线 | 精品国产诱惑 | 久九视频 | 色婷婷狠狠五月综合天色拍 | 国产精品96久久久久久吹潮 | 国产高清在线 | 婷婷六月丁 | 免费观看一级一片 | 天天看天天操 | 天天艹日日干 | 中文字幕免费久久 | 久久激情五月丁香伊人 | 最近免费中文字幕大全高清10 | 国产精品久久久久久久久久妇女 | 免费观看黄色12片一级视频 | 亚洲www天堂com | 国产综合精品久久 | 久久激情五月丁香伊人 | 天天操天天插 | 国产精品美女久久久久久久网站 | 日韩最新在线视频 | 夜夜天天干 | 久久97久久97精品免视看 | 国产精品久久久久国产精品日日 | 国产婷婷色 | 在线精品视频免费播放 | 香蕉在线视频观看 | 免费亚洲成人 | 欧美日韩国产二区 | 国产精品久久久久久久久免费 | 久要激情网 | 欧美日韩在线观看视频 | 亚洲精品视频在线观看免费 | 国产黄色网 | 久草网站在线 | 午夜视频一区二区三区 | 欧美日韩精品网站 | 国语自产偷拍精品视频偷 | 成年人免费在线观看 | 黄色av电影在线观看 | 亚洲精品激情 | 日韩久久影院 | 97激情影院 | 一区二区 不卡 | 国产精品va最新国产精品视频 | 精品国偷自产在线 | www.一区二区三区 | 伊人天天| 夜夜躁狠狠躁日日躁视频黑人 | 天天综合色网 | 欧美xxxxx在线视频 | 国产黄影院色大全免费 | 欧美日韩成人一区 | 国产成人一区二区在线观看 | 久久精品国产一区 | 日韩精品久久久久久 | 国产中文字幕在线观看 | 亚洲一区二区三区四区精品 | 久久综合狠狠综合久久激情 | 色综合久久精品 | 久久美女视频 | 欧美精品在线观看免费 | 激情五月激情综合网 | 亚洲小视频在线 | 久久艹人人 | 亚洲精品视频播放 | 中文在线www | 欧美成人精品三级在线观看播放 | 欧美一级性生活 | 久久私人影院 | 国产精品1区2区3区 久久免费视频7 | 一级黄色片网站 | 成年人在线免费看视频 | 黄色小网站免费看 | 日韩一区在线免费观看 | 五月天天av | 射综合网 | 成人免费毛片aaaaaa片 | 日韩a在线观看 | 97超视频免费观看 | 久久精品中文字幕免费mv | 欧洲不卡av | 天天舔天天搞 | 日韩免费中文 | 日日久视频 | 亚洲第一中文网 | 欧美韩日精品 | 美女视频免费一区二区 | 一区在线电影 | 成人蜜桃网 | 国产精品久久久久一区二区三区 | 三级av网站 | 韩日av在线 | 国产福利av | 久草在线在线精品观看 | 天天摸日日摸人人看 | 国产在线a免费观看 | www.色午夜| 欧美日韩免费观看一区二区三区 | 亚洲精品永久免费视频 | 亚洲女同ⅹxx女同tv | 日黄网站| 91av欧美 | 色网站国产精品 | 亚洲电影av在线 | 国产最新视频在线观看 | 日韩欧美视频二区 | 在线a人片免费观看视频 | 日韩欧美精品在线 | 人人爽人人爽人人片 | 91成人亚洲 | 激情久久综合 | av网站在线免费观看 | 国产精品毛片一区 | 色久天| 国产精品毛片久久久久久久 | 国产精品福利午夜在线观看 | 国产一区免费在线观看 | 91视频一8mav| 欧美性做爰猛烈叫床潮 | 国产久视频 | 精品在线小视频 | 一区二区视频免费在线观看 | 亚洲精品国偷自产在线91正片 | 最近久乱中文字幕 | 亚洲九九| 欧美性色综合网站 | 国产视频久久久久 | 激情伊人五月天 | 国产手机视频在线 | 欧美日本在线视频 | 精品亚洲视频在线 | 久久久国产精品电影 | www.99久久.com| 91精品国产乱码久久桃 | 超碰97在线人人 | 成人永久在线 | 最新精品视频在线 | 最近中文字幕 | 免费观看xxxx9999片 | 精品福利在线 | 欧美一区免费观看 | 亚洲精品在线免费 | 亚洲乱码国产乱码精品天美传媒 | 欧美日韩三区二区 | 五月天婷婷丁香花 | 国产99久久久国产精品免费看 | 99电影456麻豆 | 福利区在线观看 | 丁香五月亚洲综合在线 | 国产一线二线三线在线观看 | 精品一区二区影视 | 香蕉网在线播放 | 国产亚洲精品bv在线观看 | 日韩欧美aaa | 九九在线高清精品视频 | 91视频在线国产 | 黄色免费大片 | 亚洲v精品| 亚洲色视频 | 久久69精品| 91久久电影 | 国产国产人免费人成免费视频 | 国产96在线观看 | 精品国自产在线观看 | 国产成人精品在线播放 | 精品一区二区三区四区在线 | 国产精品久久久精品 | 国产在线国偷精品产拍 | 国产精品成人一区二区三区吃奶 | 麻豆国产在线播放 | 中文字幕在线观看不卡 | 国产亚洲精品久久久久久网站 | 综合久久精品 | 亚洲三级在线免费观看 | 久久99国产精品免费网站 | 99精品久久精品一区二区 | 欧美黑人xxxx猛性大交 | 玖玖玖在线 | 亚洲免费精品一区二区 | 日韩精品在线免费观看 | 日韩一级成人av | 一区二区欧美激情 | 久久免费视频99 | www.狠狠色.com | 国产乱对白刺激视频在线观看女王 | 18性欧美xxxⅹ性满足 | 亚洲精选在线观看 | 91色一区二区三区 | 91精品国产乱码久久 | 久久不射电影网 | 久久国产一二区 | 日韩欧美精品在线观看视频 | 国产精品九九视频 | 欧美精品xxx | 成人午夜精品 | 精品一区二区6 | 人人草在线视频 | 成人毛片在线视频 | 国产精品日韩精品 | 超碰人人国产 | 国产成人专区 | 国产精彩视频一区二区 | 亚洲精选在线观看 | 中文字幕免费观看全部电影 | 中文字幕中文字幕 | 国内精品久久久精品电影院 | 99 视频 高清| 亚洲影院天堂 | 国产精久久久久久久 | 嫩模bbw搡bbbb搡bbbb | 亚洲精品视频在线免费播放 | a级片在线播放 | 久久一区二区三区日韩 | 日韩av免费大片 | 亚洲欧美视频网站 | 精品综合久久久 | 欧美 日韩 视频 | 五月婷婷中文网 | 天天躁日日 | 天天爽网站| 欧美精品免费在线 | 亚洲va欧美va| 在线观看视频99 | 日韩理论在线观看 | 一级黄色片毛片 | 99久久超碰中文字幕伊人 | 亚洲精品1234区 | 91久久精品一区二区二区 | 久久久91精品国产一区二区三区 | 亚洲成av人片在线观看无 | 日本成人中文字幕在线观看 | 天天爽天天摸 | 精品日韩视频 | 色婷婷伊人 | 香蕉久久久久久av成人 | 操少妇视频 | 亚洲福利精品 | 婷婷五月在线视频 | 国产福利一区在线观看 | 黄色网大全| 午夜精品一区二区三区视频免费看 | 99久久精品国产毛片 | 亚洲天堂精品视频 | 丝袜美腿在线播放 | 黄色国产成人 | 永久免费精品视频 | 久久视频在线看 | 国产精品国产三级国产不产一地 | 一级一片免费视频 | 97在线视频免费 | 国产精品资源网 | 97在线观看免费 | 亚洲黑丝少妇 | 久久视讯 | 91新人在线观看 | 色综合久久88色综合天天免费 | 日日爱av | 久久久久女教师免费一区 | 久草电影在线观看 | 国产精品成人一区二区 | 国产精品久久综合 | 麻豆91在线播放 | 成人久久久久久久久久 | 日韩精品极品视频 | 欧美一区二区三区不卡 | 国产一区在线免费观看视频 | 日韩精品免费一区二区 | 久久久99国产精品免费 | 久久久午夜精品理论片中文字幕 | 欧美日韩高清在线一区 | 婷婷在线免费 | 久操中文字幕在线观看 | 久草资源在线 | 国精产品999国精产品视频 | 国产精品一区二区在线观看 | 在线观看日韩免费视频 | 国产一区在线视频观看 | 久久久国产精品一区二区三区 | 日本中文字幕高清 | 久青草电影 | 精品久久久久久亚洲综合网站 | 亚洲视频在线视频 | 天天操天天色天天 | 美女久久久久久久久久 | 精品久久久久久久久久久久久久久久 | 久草www| 亚洲精品视频在线观看免费 | 久久免费看 | 91大神免费在线观看 | 国产色黄网站 |