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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

S905系列的uboot分析

發布時間:2023/12/19 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 S905系列的uboot分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ubuntu18.04通過PL2303HX連接TTL

接線的連接

PL2303的3.3V懸空, TX接盒子RX, RX接盒子TX, GND接盒子GND

終端選擇

系統自帶pl2303的驅動, 可以通過dmesg看到對應的設備, 例如 /dev/ttyUSB0,

留意一下設備的用戶組, 例如我這個是dialout, 需要把自己這個用戶加入這個用戶組, 然后通過id檢查是否生效, 不生效的話試試退出, 或者重啟

sudo usermod -a -G dialout milton

連接TTL可以直接通過screen 命令, 例如下面的命令, 如果已經添加過dialout用戶組, 就不需要sudo, 后面的115200是波特率, 要退出要使用組合鍵Ctrl + A, K 會提示是否退出

screen /dev/ttyUSB0 115200

但是screen命令在默認的terminal里面布局是亂的, 換成putty后就好了(如果同時開著screen和putty, 也是亂的), 但是putty無法粘貼復制. 最后換成了GtkTerm

進入UBOOT

R3300L的uboot是通過空格鍵<space>進入, 別的鍵不起作用, Ctrl+C也不起作用

如果以上鍵都不起作用, fw_printenv檢查 bootdelay 的值, 如果為0, 需要改成大于0的值, 例如3

fw_setenv bootdelay 3

 

Win7連接TTL

Win7下PL2302會自動安裝驅動, 連接軟件用putty, securecrt, xshell都可以, 如果用putty出現藍屏的話, 可以換成其他的軟件.

基礎信息

啟動日志輸出

GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0;
TE: 270602
no sdio debug board detected 
 
BL2 Built : 13:55:05, Jan 28 2016. 
gxb g3625dd5 - xiaobo.gu@droid05
 
Board ID = 1
set vcck to 1100 mv
set vddee to 1000 mv
CPU clk: 1536MHz
DDR channel setting: DDR0 Rank0+1 diff
DDR0: 1024MB(auto) @ 912MHz(2T)-13
DDR1: 1024MB(auto) @ 912MHz(2T)-13
DataBus test pass!
AddrBus test pass!
Load fip header from eMMC, src: 0x0000c000, des: 0x01400000, size: 0x00004000
New fip structure!
Load bl30 from eMMC, src: 0x00010000, des: 0x01000000, size: 0x0000a9b0
Sending bl30...........................................OK. 
Run bl30...
Load bl301 from eMMC, src: 0x0001c000, des: 0x01000000, size: 0x00001c20
Wait bl30...Done
Sending bl301........OK. 
Run bl301...
Load bl31 from eMMC, src: 0x00020000, des: 0x10100000, size: 0x00012130
 
 
--- UART initialized after reboot ---
[Reset cause: unknown]
[Image: unknown, amlogic_v1.1.3054-53e549c 2016-03-31 20:40:25 xing.xu@droid05]
bl30: check_permit, count is 1
bl30: check_permit: ok!
chipid: ef be ad de d f0 aLoad bl33 from eMMC, src: 0x00034000, des: 0x01000000, size: 0x0009fd60
d ba ef be ad de not ES chip
efuse init ops = 13
efuse init hdcp = c, cf9=7
[0.401121 Inits done]
secure task start!
high task start!
low task start!
NOTICE:  BL3-1: v1.0(debug):4c66217
NOTICE:  BL3-1: Built : 17:13:36, Jan 28 2016
INFO:    BL3-1: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL3-1: Preparing for EL3 exit to normal world
INFO:    BL3-1: Next image address = 0x1000000
INFO:    BL3-1: Next image spsr = 0x3c9
 
 
U-Boot 2015.01-ga9e9562-dirty (May 26 2016 - 20:33:11)
 
DRAM:  2 GiB
Relocation Offset is: 76ed3000
register usb cfg[0][1] = 0000000077f62120
register usb cfg[0][2] = 0000000077f62140
register usb cfg[2][0] = 0000000077f62160
vpu detect type: 5
vpu clk_level = 7
set vpu clk: 666667000Hz, readback: 666660000Hz(0x300)
boot_device_flag : 1
Nand PHY Ver:1.01.001.0006 (c) 2013 Amlogic Inc.
init bus_cycle=6, bus_timing=8, system=5.0ns
reset failed
get_chip_type and ret:fffffffe
get_chip_type and ret:fffffffe
chip detect failed and ret:fffffffe
nandphy_init failed and ret=0xfffffff1
MMC:   aml_priv->desc_buf = 0x0000000073ec3770
aml_priv->desc_buf = 0x0000000073ec5900
SDIO Port B: 0, SDIO Port C: 1
emmc/sd response timeout, cmd8, status=0x3ff2800
emmc/sd response timeout, cmd55, status=0x3ff2800
[mmc_init] mmc init success
mmc read lba=0x14000, blocks=0x400
      Amlogic multi-dtb tool
      Single dtb detected
start dts,buffer=0000000073ec7ff0,dt_addr=0000000073ec7ff0
parts: 11
00:      logo	0000000002000000 1
01:  recovery	0000000002000000 1
02:       rsv	0000000000800000 1
03:       tee	0000000000800000 1
04:     crypt	0000000002000000 1
05:      misc	0000000002000000 1
06: instaboot	0000000020000000 1
07:      boot	0000000002000000 1
08:    system	0000000040000000 1
09:     cache	0000000020000000 2
10:      data	ffffffffffffffff 4
get_dtb_struct: Get emmc dtb OK!
overide_emmc_partition_table: overide cache 
[mmc_get_partition_table] skip partition cache.
Partition table get from SPL is : 
        name                        offset              size              flag
===================================================================================
   0: bootloader                         0            400000                  0
   1: reserved                     2400000           4000000                  0
   2: cache                        6c00000          20000000                  2
   3: env                         27400000            800000                  0
   4: logo                        28400000           2000000                  1
   5: recovery                    2ac00000           2000000                  1
   6: rsv                         2d400000            800000                  1
   7: tee                         2e400000            800000                  1
   8: crypt                       2f400000           2000000                  1
   9: misc                        31c00000           2000000                  1
  10: instaboot                   34400000          20000000                  1
  11: boot                        54c00000           2000000                  1
  12: system                      57400000          40000000                  1
  13: data                        97c00000         136500000                  4
mmc read lba=0x12000, blocks=0x2
mmc read lba=0x12002, blocks=0x2
mmc_read_partition_tbl: mmc read partition OK!
eMMC/TSD partition table have been checked OK!
mmc env offset: 0x27400000 
In:    serial
Out:   serial
Err:   serial
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
read emmc dtb
      Amlogic multi-dtb tool
      Single dtb detected
Net:   Meson_Ethernet
wipe_data=successful
wipe_cache=successful
upgrade_step=2
reboot_mode=cold_boot
hpd_state=0
[CANVAS]addr=0x3f800000 width=3840, height=2160
 
Not find '576cvbs' mapped VIC
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L504:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L504:key[deviceid] not programed yet
gpio: pin GPIOAO_3 (gpio 122) value is 1
saradc - saradc sub-system
 
Usage:
saradc saradc open <channel>		- open a SARADC channel
saradc close	- close the SARADC
saradc getval	- get the value in current channel
saradc get_in_range <min> <max>	- return 0 if current value in the range of current channel
 
Enter USB burn
Try connect time out 701, 700, 640
Hit any key to stop autoboot:  1  0 
Booting...
Unknown command 'unifykey' - try 'help'
Unknown command 'unifykey' - try 'help'
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
read emmc dtb
      Amlogic multi-dtb tool
      Single dtb detected
ee_gate_off ...
## Booting Android Image at 0x01080000 ...
reloc_addr =73f481c0
copy done
      Amlogic multi-dtb tool
      Single dtb detected
load dtb from 0x1000000 ......
   Uncompressing Kernel Image ... OK
   kernel loaded at 0x01080000, end = 0x01f00fb8
   Loading Ramdisk to 73c2c000, end 73ec1388 ... OK
   Loading Device Tree to 000000001fff4000, end 000000001ffff0ab ... OK
signature: 
fdt_instaboot: get header err
 
Starting kernel ...
 
uboot time: 2541079 us

從上面的輸出中可以得到uboot env的起始位置, 對于后面配置fw_env.config有重要的意義

Partition table get from SPL is : 
        name                        offset              size              flag
===================================================================================
   0: bootloader                         0            400000                  0
   1: reserved                     2400000           4000000                  0
   2: cache                        6c00000          20000000                  2
   3: env                         27400000            800000                  0
   4: logo                        28400000           2000000                  1
   5: recovery                    2ac00000           2000000                  1
   6: rsv                         2d400000            800000                  1
   7: tee                         2e400000            800000                  1
   8: crypt                       2f400000           2000000                  1
   9: misc                        31c00000           2000000                  1
  10: instaboot                   34400000          20000000                  1
  11: boot                        54c00000           2000000                  1
  12: system                      57400000          40000000                  1
  13: data                        97c00000         136500000                  4

uboot配置信息

baudrate=115200
bootargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.mem_address=0x20000000 ramoops.mem_size=0x
100000 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive logo=osd1,loaded,0x3f800000,576cvbs hdmimode=1080p60hz cvbsmode=57
6cvbs hdmitx= androidboot.firstboot=0 mac=c4:2f:ad:XX:XX:XX
androidboot.mac=c4:2f:ad:XX:XX:XX
bootcmd=run storeboot
bootdelay=1
bootmode_check=get_rebootmode; echo reboot_mode=${reboot_mode};if test ${reboot_mode} = factory_reset; then defenv_reserv aml_dt;setenv upgrade_step 2; save;fi;
bootup_offset=0x1080240
bootup_size=0x3f4c8
cmdline_keys=if keyman init 0x1234; then if keyman read usid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.serialno=${usid};fi;if keyman read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac} androidboot.mac=${mac};fi;if keyman read deviceid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.deviceid=${deviceid};fi;fi;
cvbsmode=576cvbs
display_bpp=16
display_color_bg=0
display_color_fg=0xffff
display_color_index=16
display_height=576
display_layer=osd1
display_width=720
dtb_mem_addr=0x1000000
edid.crcvalue=0xe2070000
ethact=Meson_Ethernet
ethaddr=00:15:18:01:81:31
factory_reset_poweroff_protect=echo wipe_data=${wipe_data}; echo wipe_cache=${wipe_cache};if test ${wipe_data} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; if test ${wipe_cache} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; 
fb_addr=0x3f800000
fb_height=1080
fb_width=1920
fdt_high=0x20000000
firstboot=0
gatewayip=10.18.9.1
hdmimode=1080p60hz
hostname=arm_gxbb
identifyWaitTime=750
init_display=hdmitx hpd;osd open;osd clear;vout output ${outputmode};imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale
initargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.mem_address=0x20000000 ramoops.mem_size=0x100000 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive
ipaddr=10.18.9.97
irremote_update=if irkey 0xe31cfb04 0xb748fb04 2500000; then echo read irkey ok!; if itest ${irkey_value} == 0xe31cfb04; then run update;else if itest ${irkey_value} == 0xb748fb04; then run update;fi;fi;fi;
loadaddr=1080000
mac=c4:2f:ad:xx:xx:xx
netmask=255.255.255.0
outputmode=576cvbs
preboot=run factory_reset_poweroff_protect;run upgrade_check;run bootmode_check;run init_display;run storeargs;run upgrade_key;run upgrade_sadckey;run switch_b
ootmode;
reboot_mode=cold_boot
recovery_from_flash=if imgread kernel recovery ${loadaddr}; then wipeisb; bootm ${loadaddr}; fi recovery_from_sdcard=if fatload mmc 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload mmc 0 ${loadaddr} recovery.img; then if fatload mmc 0
 ${dtb_mem_addr} dtb.img; then echo sd dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;
recovery_from_udisk=if fatload usb 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload usb 0 ${loadaddr} recovery.img; then if fatload usb 0 
${dtb_mem_addr} dtb.img; then echo udisk dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;
sdc_burning=sdc_burn ${sdcburncfg}
sdcburncfg=aml_sdc_burn.ini
serverip=10.18.9.113
set=environment variables
stderr=serial
stdin=serial
stdout=serial
storeargs=setenv bootargs ${initargs} logo=${display_layer},loaded,${fb_addr},${outputmode} hdmimode=${hdmimode} cvbsmode=${cvbsmode} hdmitx=${cecconfig} andro
idboot.firstboot=${firstboot}; run cmdline_keys;
storeboot=echo Booting...; if unifykey get usid; then  setenv bootargs ${bootargs} androidboot.serialno=${usid};fi;if unifykey get mac; then setenv bootargs ${
bootargs} mac=${ethaddr};fi;if imgread kernel boot ${loadaddr}; then store dtb read $dtb_mem_addr; bootm ${loadaddr}; fi;run update;
switch_bootmode=get_rebootmode;if test ${reboot_mode} = factory_reset; then run recovery_from_flash;else if test ${reboot_mode} = update; then run update;else 
if test ${reboot_mode} = cold_boot; then run try_auto_burn; fi;fi;fi;
try_auto_burn=update 700 750;
update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;
upgrade_check=echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display; run storeargs; run update;else if itest ${upgrade_step} 
== 1; then defenv_reserv; setenv upgrade_step 2; saveenv;fi;fi;
upgrade_key=if gpio input GPIOAO_3; then echo detect upgrade key; run update;fi;
upgrade_sadckey=saradc open 0; if saradc get_in_range 0 0x50; then sleep 1; if saradc get_in_range 0 0x50; then echo update by key...; run update; fi;fi;
upgrade_step=2
usb_burning=update 1000
wipe_cache=successful
wipe_data=successful

  

不同系統啟動后的uboot配置

以下信息均采集于在同一個Q7 (S905L, 8G eMMC) 上運行的系統

EmuELEC 3.1 - Kernel 3.14.29

fw_env.config

EmuELEC:~ # more /etc/fw_env.config 
# Configuration file for fw_(printenv/setenv) utility.
# Up to two entries are valid, in this case the redundant
# environment sector is assumed present.
# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
# Futhermore, if the Flash sector size is ommitted, this value is assumed to
# be the same as the Environment size, which is valid for NOR and SPI-dataflash

# Amlogic NAND
/dev/nand_env           0x000000        0x10000         0x10000

# Amlogic eMMC
/dev/env                0x000000        0x10000         0x10000

fw_printenv

EmuELEC:~ # fw_printenv
1080i_h=1037
1080i_w=1843
1080i_x=38
1080i_y=21
1080p_h=1037
1080p_w=1843
1080p_x=38
1080p_y=21
576i_h=576
576i_w=720
576i_x=0
576i_y=0
720p_h=691
720p_w=1229
720p_x=25
720p_y=14
baudrate=115200
boot_count=0
bootcmd=if test ${bootfromnand} = 1; then setenv bootfromnand 0; saveenv; else run bootfromsd; run bootfromusb; fi; run storeboot
bootcount_check=echo bootcounts=${boot_count}; if itest ${boot_count} == 0; then setenv boot_count 1;saveenv;else if itest ${boot_count} == 1; then setenv boot_count 2;saveenv;else if itest ${boot_count} == 2; then setenv boot_count 3;saveenv;else if itest ${boot_count} == 3; then setenv boot_count 4;saveenv;else if itest ${boot_count} == 4; then run recovery_from_flash;fi;fi;fi;fi;fi
bootdelay=0
bootfromnand=0
bootfromsd=mmcinfo; if fatload mmc 0 ${loadaddr} kernel.img; then run sddtb; setenv bootargs ${bootargs} bootfromsd; bootm; fi
bootfromusb=usb start 0; if fatload usb 0 ${loadaddr} kernel.img; then run usbdtb; setenv bootargs ${bootargs} bootfromusb; bootm; fi
bootmode_check=get_rebootmode; echo reboot_mode=${reboot_mode};if test ${reboot_mode} = factory_reset; then defenv_reserv;setenv upgrade_step 2; save;fi;
cmdline_keys=if keyman init 0x1234; then if sec_keyunify read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac} androidboot.mac=${mac};fi;fi;
cvbs_drv=0
cvbsmode=576cvbs
digitaudiooutput=HDMI&SPDIF PCM
display_bpp=24
display_color_bg=0
display_color_fg=0xffff
display_color_index=24
display_height=1080
display_layer=osd1
display_width=1920
dtb_mem_addr=0x1000000
factory_reset_poweroff_protect=echo wipe_data=${wipe_data}; echo wipe_cache=${wipe_cache};if test ${wipe_data} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; if test ${wipe_cache} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; 
fb_addr=0x3d800000
fb_height=1080
fb_width=1920
fdt_high=0x20000000
firstboot=1
gatewayip=10.18.9.1
hdmimode=720p50hz
hostname=arm_gxbb
init_display=osd open;osd clear;imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale
initargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive
ipaddr=10.18.9.97
irremote_update=if irkey 0xf8077748 0x7d824cb3 0x728ddd22 100000; then echo read irkey ok!; if itest ${irkey_value} == 0xf8077748; then run update;else if itest ${irkey_value} == 0x7d824cb3; then run update;else if itest ${irkey_value} == 0x728ddd22; then run update;
fi;fi;fi;fi;
jtag=apee
loadaddr=1080000
netmask=255.255.255.0
outputdefault=setenv outputmode 720p50hz;setenv 720p_w 1229;setenv 720p_h 691;setenv 720p_x 25;setenv 720p_y 14;setenv 1080i_w 1843;setenv 1080i_h 1037;setenv 1080i_x 38;setenv 1080i_y 21;setenv 1080p_w 1843;setenv 1080p_h 1037;setenv 1080p_x 38;setenv 1080p_y 21;setenv 576i_w 684;setenv 576i_h 547;setenv 576i_x 18;setenv 576i_y 14;
outputmode=720p50hz
preboot=run factory_reset_poweroff_protect;run upgrade_check;run bootmode_check;run init_display;run storeargs;run update_ir;run upgrade_key;run switch_bootmode;
recovery_from_flash=setenv bootargs ${bootargs} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then wipeisb; bootm ${loadaddr}; fi
recovery_from_sdcard=if fatload mmc 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload mmc 0 ${loadaddr} recovery.img; then if fatload mmc 0 ${dtb_mem_addr} dtb.img; then echo sd dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;
recovery_from_udisk=if fatload usb 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload usb 0 ${loadaddr} recovery.img; then if fatload usb 0 ${dtb_mem_addr} dtb.img; then echo udisk dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;
recovery_offset=0
recovery_part=recovery
screenmode=full
sdc_burning=sdc_burn ${sdcburncfg}
sdcburncfg=aml_sdc_burn.ini
sddtb=if fatload mmc 0 ${dtb_mem_addr} dtb.img; then else store dtb read $dtb_mem_addr; fi
serverip=10.18.9.113
storeargs=setenv bootargs ${initargs} logo=${display_layer},loaded,${fb_addr},${outputmode} vout=${outputmode},enable hdmimode=${hdmimode} cvbsmode=${cvbsmode} hdmitx=${cecconfig} cvbsdrv=${cvbs_drv} androidboot.firstboot=${firstboot} quiet jtag=${jtag}; setenv bootargs ${bootargs} androidboot.hardware=amlogic androidboot.boardid=${boardid};run cmdline_keys;
storeboot=if imgread kernel boot ${loadaddr}; then bootm ${loadaddr}; fi;run update;
switch_bootmode=get_rebootmode;if test ${reboot_mode} = factory_reset; then run recovery_from_flash;else if test ${reboot_mode} = update; then run update;fi;fi;
try_auto_burn=update 700 750;
update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;
update_ir=if irdetect; then run update; fi
update_sar=saradc open 0;if saradc get_in_range 0x0 0x100; then run update; fi
upgrade_check=echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display; run storeargs; run update;else if itest ${upgrade_step} == 1; then defenv_reserv; setenv upgrade_step 2; saveenv;else if itest ${upgrade_step} == 4; then defenv_reserv; run outputdefault; setenv upgrade_step 2; saveenv;fi;fi;fi;
upgrade_key=if gpio input GPIOH_6; then echo detect upgrade key; sleep 3; run update;fi;
upgrade_step=2
usb_burning=update 1000
usbdtb=if fatload usb 0 ${dtb_mem_addr} dtb.img; then else store dtb read $dtb_mem_addr; fi
wipe_cache=successful
wipe_data=successful

Armbian 19.11.3 - Kernel 5.3.0

fw_env.config 和3.14的kernel不一樣, mainline kernel 不再有/dev/nand這樣的設備了

root@aml:~# more /etc/fw_env.config 
# Configuration file for fw_(printenv/saveenv) utility.
# Up to two entries are valid, in this case the redundant
# environment sector is assumed present.
# Notice, that the "Number of sectors" is ignored on NOR.

/dev/mmcblk0  0x27400000 0x10000 0x10000

fw_printenv

root@aml:~# fw_printenv 
1080i_h=1037
1080i_w=1843
1080i_x=38
1080i_y=21
1080p_h=1037
1080p_w=1843
1080p_x=38
1080p_y=21
576i_h=576
576i_w=720
576i_x=0
576i_y=0
720p_h=691
720p_w=1229
720p_x=25
720p_y=14
baudrate=115200
boot_count=0
bootcmd=run start_autoscript; run storeboot
bootcount_check=echo bootcounts=${boot_count}; if itest ${boot_count} == 0; then setenv boot_count 1;saveenv;else if itest ${boot_count} == 1; then setenv boot_count 2;saveenv;else if itest ${boot_count} == 2; then setenv boot_count 3;saveenv;else if itest ${boot_count} == 3; then setenv boot_count 4;saveenv;else if itest ${boot_count} == 4; then run recovery_from_flash;fi;fi;fi;fi;fi
bootdelay=0
bootmode_check=get_rebootmode; echo reboot_mode=${reboot_mode};if test ${reboot_mode} = factory_reset; then defenv_reserv;setenv upgrade_step 2; save;fi;
cmdline_keys=if keyman init 0x1234; then if sec_keyunify read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac} androidboot.mac=${mac};fi;fi;
cvbs_drv=0
cvbsmode=576cvbs
digitaudiooutput=HDMI&SPDIF PCM
display_bpp=24
display_color_bg=0
display_color_fg=0xffff
display_color_index=24
display_height=1080
display_layer=osd1
display_width=1920
dtb_mem_addr=0x1000000
factory_reset_poweroff_protect=echo wipe_data=${wipe_data}; echo wipe_cache=${wipe_cache};if test ${wipe_data} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; if test ${wipe_cache} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; 
fb_addr=0x3d800000
fb_height=1080
fb_width=1920
fdt_high=0x20000000
firstboot=1
gatewayip=10.18.9.1
hdmimode=720p50hz
hostname=arm_gxbb
init_display=osd open;osd clear;imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale
initargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive
ipaddr=10.18.9.97
irremote_update=if irkey 0xf8077748 0x7d824cb3 0x728ddd22 100000; then echo read irkey ok!; if itest ${irkey_value} == 0xf8077748; then run update;else if itest ${irkey_value} == 0x7d824cb3; then run update;else if itest ${irkey_value} == 0x728ddd22; then run update;
fi;fi;fi;fi;
jtag=apee
loadaddr=1080000
netmask=255.255.255.0
outputdefault=setenv outputmode 720p50hz;setenv 720p_w 1229;setenv 720p_h 691;setenv 720p_x 25;setenv 720p_y 14;setenv 1080i_w 1843;setenv 1080i_h 1037;setenv 1080i_x 38;setenv 1080i_y 21;setenv 1080p_w 1843;setenv 1080p_h 1037;setenv 1080p_x 38;setenv 1080p_y 21;setenv 576i_w 684;setenv 576i_h 547;setenv 576i_x 18;setenv 576i_y 14;
outputmode=720p50hz
preboot=run factory_reset_poweroff_protect;run upgrade_check;run bootmode_check;run init_display;run storeargs;run update_ir;run upgrade_key;run switch_bootmode;
recovery_from_flash=setenv bootargs ${bootargs} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then wipeisb; bootm ${loadaddr}; fi
recovery_from_sdcard=if fatload mmc 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload mmc 0 ${loadaddr} recovery.img; then if fatload mmc 0 ${dtb_mem_addr} dtb.img; then echo sd dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;
recovery_from_udisk=if fatload usb 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload usb 0 ${loadaddr} recovery.img; then if fatload usb 0 ${dtb_mem_addr} dtb.img; then echo udisk dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;
recovery_offset=0
recovery_part=recovery
screenmode=full
sdc_burning=sdc_burn ${sdcburncfg}
sdcburncfg=aml_sdc_burn.ini
serverip=10.18.9.113
start_autoscript=if mmcinfo; then run start_mmc_autoscript; fi; if usb start; then run start_usb_autoscript; fi; run start_emmc_autoscript
start_emmc_autoscript=if fatload mmc 1 1020000 emmc_autoscript; then autoscr 1020000; fi;
start_mmc_autoscript=if fatload mmc 0 1020000 s905_autoscript; then autoscr 1020000; fi;
start_usb_autoscript=for usbdev in 0 1 2 3; do if fatload usb ${usbdev} 1020000 s905_autoscript; then autoscr 1020000; fi; done
storeargs=setenv bootargs ${initargs} logo=${display_layer},loaded,${fb_addr},${outputmode} vout=${outputmode},enable hdmimode=${hdmimode} cvbsmode=${cvbsmode} hdmitx=${cecconfig} cvbsdrv=${cvbs_drv} androidboot.firstboot=${firstboot} quiet jtag=${jtag}; setenv bootargs ${bootargs} androidboot.hardware=amlogic androidboot.boardid=${boardid};run cmdline_keys;
storeboot=if imgread kernel boot ${loadaddr}; then bootm ${loadaddr}; fi;run update;
switch_bootmode=get_rebootmode;if test ${reboot_mode} = factory_reset; then run recovery_from_flash;else if test ${reboot_mode} = update; then run update;fi;fi;
try_auto_burn=update 700 750;
update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;
update_ir=if irdetect; then run update; fi
update_sar=saradc open 0;if saradc get_in_range 0x0 0x100; then run update; fi
upgrade_check=echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display; run storeargs; run update;else if itest ${upgrade_step} == 1; then defenv_reserv; setenv upgrade_step 2; saveenv;else if itest ${upgrade_step} == 4; then defenv_reserv; run outputdefault; setenv upgrade_step 2; saveenv;fi;fi;fi;
upgrade_key=if gpio input GPIOH_6; then echo detect upgrade key; sleep 3; run update;fi;
upgrade_step=2
usb_burning=update 1000
wipe_cache=successful
wipe_data=successful

從上面輸出的對比可以看出, EmuELEC所在的系統會對uboot增加如下配置

bootcmd=if test ${bootfromnand} = 1; then setenv bootfromnand 0; saveenv; else run bootfromsd; run bootfromusb; fi; run storeboot
bootfromnand=0
bootfromsd=mmcinfo; if fatload mmc 0 ${loadaddr} kernel.img; then run sddtb; setenv bootargs ${bootargs} bootfromsd; bootm; fi
bootfromusb=usb start 0; if fatload usb 0 ${loadaddr} kernel.img; then run usbdtb; setenv bootargs ${bootargs} bootfromusb; bootm; fi
sddtb=if fatload mmc 0 ${dtb_mem_addr} dtb.img; then else store dtb read $dtb_mem_addr; fi
usbdtb=if fatload usb 0 ${dtb_mem_addr} dtb.img; then else store dtb read $dtb_mem_addr; fi

Armbian會對uboot增加如下配置

bootcmd=run start_autoscript; run storeboot
start_autoscript=if mmcinfo; then run start_mmc_autoscript; fi; if usb start; then run start_usb_autoscript; fi; run start_emmc_autoscript
start_emmc_autoscript=if fatload mmc 1 1020000 emmc_autoscript; then autoscr 1020000; fi;
start_mmc_autoscript=if fatload mmc 0 1020000 s905_autoscript; then autoscr 1020000; fi;
start_usb_autoscript=for usbdev in 0 1 2 3; do if fatload usb ${usbdev} 1020000 s905_autoscript; then autoscr 1020000; fi; done

Armbian從TF卡啟動的機制

初次啟動時, 是通過安卓命令行下的reboot update開始的, 這時候uboot以update模式啟動, 依次嘗試以下步驟, 進入burning模式或啟動recovery系統:

run usb_burning 線刷,
run sdc_burning 卡刷,
recovery_from_sdcard SD/TF卡載recovery,
recovery_from_udisk U盤卡載recovery,
recovery_from flash 本機的recovery

在卡槽中存在Armbian系統TF時, 會進入第二步, 因為TF卡上有aml_autoscript這個文件, 其源文件如下

root@aml:/# more /boot/aml_autoscript.cmd
defenv
setenv bootcmd 'run start_autoscript; run storeboot'
setenv start_autoscript 'if mmcinfo; then run start_mmc_autoscript; fi; if usb start; then run start_usb_autoscript; fi; run start_emmc_autoscript'
setenv start_emmc_autoscript 'if fatload mmc 1 1020000 emmc_autoscript; then autoscr 1020000; fi;'
setenv start_mmc_autoscript 'if fatload mmc 0 1020000 s905_autoscript; then autoscr 1020000; fi;'
setenv start_usb_autoscript 'for usbdev in 0 1 2 3; do if fatload usb ${usbdev} 1020000 s905_autoscript; then autoscr 1020000; fi; done'
setenv upgrade_step 2
saveenv
sleep 1
reboot

.執行此腳本會更新uboot env中的bootcmd, 然后重啟. uboot以normal啟動后, 會首先執行strart_autoscript, 會依次嘗試start_mmc_autoscript,start_usb_autoscript,start_emmc_autoscript, 在卡槽中存在Armbian系統TF時, 會進入第一步, 去執行卡上的s905_autoscript這個腳本, 其源文件內容如下

if fatload mmc 0 0x11000000 boot_android; then if test ${ab} = 0; then setenv ab 1; saveenv; exit; else setenv ab 0; saveenv; fi; fi;
if fatload usb 0 0x11000000 boot_android; then if test ${ab} = 0; then setenv ab 1; saveenv; exit; else setenv ab 0; saveenv; fi; fi;
setenv env_addr 0x10400000
setenv kernel_addr 0x11000000
setenv initrd_addr 0x13000000
setenv boot_start booti ${kernel_addr} ${initrd_addr} ${dtb_mem_addr}
setenv addmac 'if printenv mac; then setenv bootargs ${bootargs} mac=${mac}; elif printenv eth_mac; then setenv bootargs ${bootargs} mac=${eth_mac}; fi'
setenv try_boot_start 'if fatload ${devtype} ${devnum} ${kernel_addr} zImage; then if fatload ${devtype} ${devnum} ${initrd_addr} uInitrd; then fatload ${devtype} ${devnum} ${env_addr} uEnv.ini && env import -t ${env_addr} ${filesize} && run addmac; fatload ${devtype} ${devnum} ${dtb_mem_addr} ${dtb_name} && run boot_start; fi; fi;'
setenv devtype mmc
setenv devnum 0
run try_boot_start
setenv devtype usb
for devnum in 0 1 2 3 ; do run try_boot_start ; done

其產生的uboot log如下

...
Hit any key to stop autoboot:  0
card in
[mmc_init] mmc init success
Device: SDIO Port B
Manufacturer ID: 3
OEM: 5344
Name: SU16G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.8 GiB
Bus Width: 4-bit
reading s905_autoscript
1112 bytes read in 9 ms (120.1 KiB/s)
## Executing script at 01020000
reading boot_android
** Unable to read file boot_android **
** Bad device usb 0 **
reading zImage
27871744 bytes read in 1264 ms (21 MiB/s)
reading uInitrd
9994338 bytes read in 452 ms (21.1 MiB/s)
reading uEnv.ini
224 bytes read in 3 ms (72.3 KiB/s)
## Error: "mac" not defined
## Error: "eth_mac" not defined
reading /dtb/amlogic/meson-gxl-s905x-nexbox-a95x.dtb
25654 bytes read in 13 ms (1.9 MiB/s)
## Loading init Ramdisk from Legacy Image at 13000000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    9994274 Bytes = 9.5 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
      Single dtb detected
load dtb from 0x1000000 ......
## Flattened Device Tree blob at 01000000
   Booting using the fdt blob at 0x1000000
   Loading Ramdisk to 33534000, end 33ebc022 ... OK
   Loading Device Tree to 000000001fff6000, end 000000001ffff435 ... OK

Starting kernel ...

uboot time: 4023961 us
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.3.0-aml-g12 (root@os3-362-14133) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #5.99 SMP PREEMPT Wed Dec 4 21:34:52 JST 2019
...

參考

https://blog.lvu.kr/page/12/?page=15 很詳細的輸出記錄

總結

以上是生活随笔為你收集整理的S905系列的uboot分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

手机看片国产日韩 | www.午夜 | 黄色日批网站 | 久久久久久伊人 | 国产精品video爽爽爽爽 | 色偷偷88888欧美精品久久 | 欧美亚洲精品一区 | 美女av免费看 | 91精品久久久久久久91蜜桃 | 欧美另类高清 videos | 九九热在线观看视频 | 久久尤物电影视频在线观看 | 国产精品免费观看视频 | 国产一区二区综合 | 九九九热精品免费视频观看网站 | 久久婷婷亚洲 | 天天干天天操天天干 | 国产精彩视频一区 | 国产一区视频免费在线观看 | 在线探花 | 精品国产伦一区二区三区 | 制服丝袜天堂 | 日日夜夜天天干 | 欧美一级免费在线 | 天天干天天草天天爽 | 色天天| 亚洲国产成人在线观看 | 欧美美女激情18p | 国产精品免费在线播放 | 91天堂素人约啪 | 香蕉视频在线播放 | 一级黄色片毛片 | 亚洲一区二区三区在线看 | 欧洲一区二区三区精品 | 中文字幕精品三级久久久 | 丁香久久激情 | 免费高清看电视网站 | 九九九在线观看视频 | 午夜资源站 | 日韩视频 一区 | 欧美一级在线看 | 顶级欧美色妇4khd | 天天做天天爱夜夜爽 | 国产精品一区二区在线免费观看 | 欧美在线不卡一区 | 天天躁天天狠天天透 | 一区二区三区四区精品 | 亚洲国产精品成人精品 | 免费看网站在线 | 日本不卡123区 | 美女网站在线免费观看 | 国产在线色视频 | 中文字幕在线看视频国产中文版 | 国产一二三四在线视频 | 91一区二区三区久久久久国产乱 | av成人免费在线 | 69久久99精品久久久久婷婷 | 91精品一区二区三区久久久久久 | 五月婷婷在线视频观看 | 免费亚洲视频 | av资源免费看 | 激情婷婷在线 | 99国产在线 | 日韩在线观看第一页 | 波多野结衣电影久久 | 国产精品av久久久久久无 | 成人97人人超碰人人99 | 免费福利视频网站 | 久久资源总站 | 午夜视频在线瓜伦 | 久久综合五月婷婷 | av免费看在线 | 久草手机视频 | 粉嫩aⅴ一区二区三区 | 国产精品久久二区 | 91免费看黄 | 欧美日本高清视频 | 99久久精品免费看国产免费软件 | 99精品国产一区二区 | 日韩亚洲欧美中文字幕 | 2018好看的中文在线观看 | 狠狠色丁香婷婷综合橹88 | 国产精品18久久久久久vr | 黄色免费在线视频 | 成人国产精品免费 | 精品国精品自拍自在线 | 婷婷婷国产在线视频 | 久久成人国产精品 | 日韩a在线| www视频在线免费观看 | 精品 一区 在线 | av免费网站 | 在线影院中文字幕 | 免费日韩三级 | 激情综合久久 | 亚洲狠狠婷婷综合久久久 | 精品专区 | 国产在线免费观看 | 日韩电影一区二区在线观看 | 国产做aⅴ在线视频播放 | www.色在线| 91视频xxxx| 日韩网 | 久久国产精品久久精品 | 午夜国产一区二区 | 五月天婷婷在线视频 | 99视频网站 | 中文字幕永久 | 成人免费视频网站 | 日韩免费福利 | 亚洲精品国精品久久99热 | 欧美日韩另类在线 | 国产成人三级在线播放 | 国产专区视频 | 日韩中文在线视频 | 久久国产精品久久久久 | 黄毛片在线观看 | 91污污视频在线观看 | 亚洲日本精品视频 | 成人蜜桃视频 | 欧美日韩久久不卡 | 亚洲专区视频在线观看 | 国产精品一区二区三区99 | 91亚洲精品国偷拍 | 亚洲h在线播放在线观看h | 97在线观看视频免费 | 久久精品日本啪啪涩涩 | 国产麻豆精品一区二区 | 一级性生活片 | 黄色软件视频网站 | 808电影免费观看三年 | av免费观看在线 | a级国产片 | 国产综合91 | av中文字幕av | 国产精品黄色在线观看 | 日韩欧美一区二区三区黑寡妇 | 一级黄色片在线免费观看 | 成人h电影 | 在线观看精品一区 | 精品欧美一区二区在线观看 | 久精品一区 | 色婷婷视频在线观看 | 久久99网站 | 国产精品久久久久久欧美 | 月丁香婷婷 | 日韩免费观看一区二区 | 一区二区三区手机在线观看 | 欧美性生活一级片 | 国产精品正在播放 | av再线观看 | 亚洲精品一区二区三区四区高清 | 在线成人短视频 | 成年人电影免费看 | 欧美精品久久久久久久久久丰满 | 91精品欧美一区二区三区 | 天天插一插 | 碰超在线观看 | 色婷婷综合久久久 | 成人动漫精品一区二区 | 久久久国产精华液 | 亚洲.www| 久久久免费观看视频 | 免费在线观看av不卡 | 激情网五月婷婷 | 香蕉视频日本 | av黄色在线播放 | 伊在线视频 | 国产精品午夜在线观看 | 摸阴视频 | 黄色毛片视频免费 | 四虎国产精品免费 | 国产成人精品电影久久久 | 一区二区三区在线观看 | 国产999 | 国产日产在线观看 | 中文字幕91在线 | 成人国产电影在线观看 | 91亚洲国产成人久久精品网站 | 91在线播放综合 | 成年人黄色免费视频 | 久久免费视频5 | 天天操天天透 | 在线免费观看国产黄色 | 久久人人爽人人片 | 国产精品黄色av | 91亚洲激情 | 黄色大片日本 | 亚洲另类视频在线观看 | 天天干天天操天天 | 精品在线一区二区三区 | 日日夜夜综合网 | 精品国产乱码久久久久久三级人 | 天天操天天舔天天爽 | 一区二区三区四区在线免费观看 | 国产成人精品久 | 五月天激情视频在线观看 | 欧洲激情综合 | 99热在| 国产91精品一区二区麻豆网站 | 伊人伊成久久人综合网站 | 亚洲精品高清视频在线观看 | 亚洲午夜不卡 | 在线观看免费观看在线91 | 日韩精品不卡在线 | 久久人人爽视频 | 丁香电影小说免费视频观看 | 日韩最新理论电影 | 久久精品久久久精品美女 | 91干干干 | 国产视频一区二区三区在线 | www日韩视频 | 久要激情网 | 国产精品久久嫩一区二区免费 | 狠狠色丁香婷婷综合久久片 | 日韩簧片在线观看 | 免费观看性生交大片3 | 久久久麻豆| 天天做日日爱夜夜爽 | 久久视频免费观看 | 国产精品成人免费精品自在线观看 | 精品久久视频 | 亚洲国产精品99久久久久久久久 | 久久国产欧美日韩 | 国产福利91精品张津瑜 | av播放在线| 免费观看9x视频网站在线观看 | 99热这里| 亚洲精品国产综合99久久夜夜嗨 | 欧美综合色在线图区 | 日韩有码在线观看视频 | 久久9视频 | 日韩av在线免费播放 | 亚洲成人黄色av | 夜夜夜草| 天天曰天天爽 | 日韩精品一二三 | 国产999精品 | 伊人网综合在线观看 | 免费中文字幕视频 | 午夜视频在线观看一区二区 | 久久免费黄色 | 国产在线精品播放 | 在线观看一级 | 久久成| 精品在线不卡 | 中文字幕在线观看资源 | 99久久精品久久亚洲精品 | 免费看一级| 国产成视频在线观看 | 日韩艹 | 亚洲精品国偷拍自产在线观看蜜桃 | 日本在线观看一区二区 | 91成人免费 | 亚洲精品五月天 | 中文字幕成人 | 成人一区不卡 | 久久免费视频一区 | 日韩免费三区 | 激情六月婷婷久久 | 久久99精品国产99久久 | 在线免费av观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 欧美日韩视频精品 | 天天色天天操综合网 | 久久国产一区二区三区 | 91人人干 | 欧美日韩免费观看一区=区三区 | 精品国精品自拍自在线 | 天天搞夜夜骑 | 最新高清无码专区 | 亚洲精品网页 | 国产福利av在线 | 欧美成人va | 亚洲国产中文字幕 | 免费黄在线看 | 开心激情久久 | 人人爽人人片 | 亚洲三级在线播放 | 久久视了 | 成人羞羞免费 | 国产中年夫妇高潮精品视频 | 天天操天天操天天操 | 婷婷六月天在线 | 成人va天堂| 日韩免费一级a毛片在线播放一级 | 五月香婷 | 国产高清在线免费观看 | 国产视频精选 | 色视频网页 | 国产男女爽爽爽免费视频 | 亚洲国产理论片 | 亚洲午夜久久久久久久久久久 | 天天干天天草天天爽 | 伊人天天狠天天添日日拍 | 国产99久久久国产 | 伊人狠狠色 | 麻豆视频免费版 | 81国产精品久久久久久久久久 | 亚洲国内精品在线 | 欧美成人在线免费观看 | 亚洲日日日 | 成人a视频 | 一区二区欧美日韩 | 可以免费观看的av片 | 成人毛片100免费观看 | 激情av一区二区 | 91综合色| 91看片在线免费观看 | 97人人超 | 狠狠躁天天躁综合网 | 欧美一二区在线 | 亚洲天天综合 | 国产成人综合在线观看 | 国产一级精品视频 | 久久精品99国产国产 | 又黄又爽又刺激视频 | 香蕉视频4aa | 99热这里只有精品8 久久综合毛片 | a视频在线观看 | 国产手机在线观看视频 | 狠狠撸电影| 国产99久久久国产精品免费看 | 色综合久久88色综合天天人守婷 | 毛片基地黄久久久久久天堂 | 亚洲高清久久久 | 久久99久久99久久 | 久久福利精品 | 亚州国产视频 | 国产成人精品a | 久久dvd| 国产大片免费久久 | 婷婷激情五月综合 | 国产黄免费在线观看 | 二区在线播放 | 一区二区三区精品在线 | av免费试看| 丁香九月激情 | 亚洲视频在线免费看 | 亚洲少妇xxxx | 91网站在线视频 | 久久精品一 | 欧美日韩国产精品久久 | 亚洲 欧洲 国产 精品 | 国产成人精品一区在线 | 日韩免费高清在线 | 欧美大荫蒂xxx | 国产精品久久久久久久午夜片 | 久草久热 | 日韩欧美视频一区二区 | 一本一本久久aa综合精品 | 国产成人三级 | 国产精品夜夜夜一区二区三区尤 | 久久99久久99精品免观看软件 | 色偷偷人人澡久久超碰69 | 国产成人在线综合 | 久久精品亚洲精品国产欧美 | a级国产片 | 毛片在线网 | 天天操偷偷干 | 91麻豆国产福利在线观看 | av在线网站大全 | 日韩高清在线一区二区 | 欧洲亚洲精品 | 国产午夜一区二区 | 午夜精品福利一区二区 | 欧美另类网站 | 24小时日本在线www免费的 | 国产精品免费在线播放 | 免费在线观看黄网站 | 激情av资源 | 狠狠色丁香久久婷婷综合丁香 | 黄色亚洲在线 | 国产日韩中文字幕在线 | 成年人免费看片网站 | 日韩综合视频在线观看 | 国产精品久久久久久麻豆一区 | 去看片 | 色夜影院| 91桃色国产在线播放 | 国产黑丝一区二区三区 | 久久精品亚洲一区二区三区观看模式 | 久久黄色成人 | 91禁看片| 热久久最新地址 | 精品日韩在线 | 操操日| 精品久久久久国产免费第一页 | 免费中文字幕 | 五月色婷| 国产成人在线综合 | 精品国产欧美一区二区 | 97香蕉超级碰碰久久免费软件 | 丁香久久婷婷 | 日日夜夜添 | 观看免费av | 国产高清免费在线播放 | 久久久久久在线观看 | 成人av一区二区兰花在线播放 | 亚洲电影网站 | 久久久男人的天堂 | 尤物一区二区三区 | 亚洲精品久久在线 | 久久av网址| 国产黄色一级大片 | 在线一区av| 久久精品高清 | 亚洲精品国产精品99久久 | 欧美在线视频免费 | 黄色成人影院 | 日韩免费中文 | 日本激情视频中文字幕 | 久久图 | 久久国产品 | 在线免费观看黄色大片 | 欧美性精品 | 国产成视频在线观看 | 成人黄大片视频在线观看 | 久久精品播放 | 欧美一区二区三区在线看 | 精品视频免费观看 | 成年人黄色大片在线 | 亚洲无在线| 国产精品一区二区三区免费看 | 免费看的av片 | 中文字幕在 | 久久蜜桃av| 欧美色888 | 欧美日韩亚洲一 | 亚洲天堂精品 | 香蕉视频在线免费看 | 一区二区三区韩国免费中文网站 | 狠狠躁夜夜躁人人爽超碰91 | 日韩欧美网址 | 久草久视频 | 亚洲天堂在线观看完整版 | 91精品1区2区 | 久久综合色婷婷 | 精品国产乱码久久久久久1区二区 | 五月激情丁香婷婷 | 男女免费视频观看 | 日韩乱码在线 | 99资源网 | 色视频国产直接看 | 日本黄色免费在线观看 | 超碰在线公开免费 | 国产高清99 | 久久99精品一区二区三区三区 | 国产小视频你懂的在线 | 亚洲日本成人网 | 91av在线免费观看 | 国内精品福利视频 | 超碰在线天天 | 国产黄色片免费看 | 黄色影院在线免费观看 | 欧美夫妻生活视频 | 人人爽人人爽人人爽人人爽 | 成人观看 | 日本精品中文字幕 | 成年人免费观看在线视频 | 色婷婷视频 | 亚洲精品一区二区精华 | 久久激情婷婷 | 激情婷婷亚洲 | 97超碰在线资源 | 91在线欧美| 狠狠躁夜夜a产精品视频 | 超碰免费av| 国产区高清在线 | 国产精品3区 | 午夜视频欧美 | 在线播放视频一区 | 午夜精品久久 | 超碰97国产精品人人cao | 国产一线天在线观看 | 色婷婷www | 婷婷丁香九月 | 欧美黄色免费 | 日韩毛片精品 | 99在线视频观看 | 日韩在线视频不卡 | 这里只有精品视频在线 | 精品一区二区免费视频 | 成人在线视频在线观看 | 狠狠色狠狠综合久久 | 中文字幕 在线看 | 国产在线观看h | 97超碰精品 | 麻豆视频免费版 | 国产在线美女 | 91精品视频在线免费观看 | 天天av综合网 | 中文字幕 国产 一区 | 亚洲男男gaygayxxxgv | 在线观看久久 | 91在线观看视频 | 国产黄在线 | 中文在线免费一区三区 | 欧美午夜久久久 | 91在线国产观看 | 国产在线不卡 | 成人av高清在线观看 | 很污的网站 | 久久xx视频 | 亚洲理论片在线观看 | 国产精品av一区二区 | 午夜精品视频免费在线观看 | 狠狠狠狠狠狠 | 国产精品久久久 | 麻豆影视网 | 免费在线a| 国产伦理久久精品久久久久_ | 国产亚洲精品久久久久久大师 | 久综合网 | 日韩av一区二区在线影视 | 91av色| 日韩欧美在线一区 | 国产精品成人自产拍在线观看 | 亚洲精品午夜久久久 | av资源在线观看 | 天天射综合网站 | 国产精品一码二码三码在线 | 亚洲年轻女教师毛茸茸 | 91在线porny国产在线看 | av福利在线 | 亚洲午夜精品久久久 | 久艹在线观看视频 | 国产三级精品三级在线观看 | 99精品国产一区二区三区不卡 | www..com黄色片 | 欧美精品二 | 九九99| 免费看日韩 | 国产涩涩在线观看 | a√资源在线 | 精品久久九九 | 日韩黄色在线电影 | 国产a免费| 免费看一级特黄a大片 | 国产精品成人自拍 | 99麻豆久久久国产精品免费 | 日韩欧美精品在线视频 | 国产精品视频地址 | 男女精品久久 | 欧美日韩一级久久久久久免费看 | 日韩一区在线免费观看 | 国产精品爽爽久久久久久蜜臀 | 久久精品中文字幕少妇 | 丁香六月久久综合狠狠色 | 日韩r级电影在线观看 | 日韩高清一区在线 | 在线看污网站 | 免费特级黄色片 | 99精品在线直播 | 91日韩精品一区 | 国产在线观看你懂得 | 美女免费视频网站 | 九九久久精品 | 亚洲经典视频 | 久久视频99 | 激情五月婷婷综合 | 午夜体验区 | 97成人资源 | 黄色大片日本免费大片 | 国产精品免费观看网站 | 精品一区二区视频 | 亚洲免费av一区二区 | 99亚洲天堂 | 久久美女精品 | 国产黄色片免费 | 色在线高清 | a视频在线观看 | 国模视频一区二区 | 成年人精品 | 天天插天天 | 日韩一区二区三区在线看 | 日本精品一区二区三区在线观看 | 91av资源在线| 免费av影视 | 亚洲va男人天堂 | 亚洲精品国偷拍自产在线观看 | 日日操日日操 | 女女av在线 | 狠狠网站 | 久久99精品国产一区二区三区 | 天天曰| 亚洲一区二区高潮无套美女 | 欧美激情在线网站 | 日韩中文字幕免费在线观看 | 国产精品va在线观看入 | 激情文学综合丁香 | 日韩在线高清视频 | 中文字幕在线一区二区三区 | 国产在线精品一区二区不卡了 | 久久曰视频 | 国产一区观看 | 久久午夜视频 | 国产粉嫩在线观看 | 日韩精品中文字幕久久臀 | 天堂av免费| 91免费看片黄| 丁香狠狠 | 久久综合狠狠综合久久综合88 | 精品毛片在线 | 国产午夜剧场 | 久草在线中文视频 | 伊色综合久久之综合久久 | 久久看片| 日韩美在线 | 曰本三级在线 | 国产视频一级 | 亚洲视频1区2区 | 狠狠色丁香婷婷综合最新地址 | 丝袜美腿亚洲 | 最新日韩在线 | 又黄又爽又无遮挡的视频 | 玖玖视频网 | 久久综合婷婷国产二区高清 | 免费福利视频网站 | 国产在线视频不卡 | 国产手机在线播放 | 精品久久久久久久久久岛国gif | 国产福利在线不卡 | 精品三级av | 国产精品精品国产婷婷这里av | 最新国产中文字幕 | 精品一区二区av | aav在线 | 91av蜜桃 | 亚洲成人av电影在线 | 欧美一级免费 | 国产精品美女久久久久久久 | 亚洲久草网 | 久久久久久欧美二区电影网 | 中文字幕亚洲国产 | 久久久久久久精 | 在线不卡中文字幕播放 | 国产免费观看视频 | 亚洲在线资源 | 天天激情在线 | 欧美a影视 | 美女网站免费福利视频 | 欧美久久精品 | 国内偷拍精品视频 | 一级黄色av| 亚洲国产精品99久久久久久久久 | 日韩精品免费一区 | 久久久午夜视频 | av成人免费| 国产婷婷在线观看 | 国产黄免费在线观看 | 99热这里只有精品1 av中文字幕日韩 | 草久视频在线 | 99久久久久久久久久 | 91精品国产入口 | 亚洲色图激情文学 | www.xxxx欧美| 中文字幕在线看视频国产中文版 | 国产69久久精品成人看 | 成人香蕉视频 | 亚洲成人av一区二区 | 亚洲高清视频在线观看免费 | 97超碰免费在线 | 97精品国产一二三产区 | 久久精品视频观看 | 在线午夜| 福利一区在线视频 | 久久久久国产成人免费精品免费 | 免费在线观看成人av | www.五月婷| 久久午夜国产精品 | 美女在线观看网站 | 九九热只有这里有精品 | 欧美成人va | 在线观看免费福利 | 人人爽人人射 | 欧美日韩一区二区久久 | 狠狠干激情 | 国产小视频在线 | 黄色.com| 天天干天天操天天入 | 久久精品美女视频网站 | 免费看精品久久片 | 色婷婷av在线 | 国产精品一区免费观看 | 久久久私人影院 | 免费视频色 | 成人av动漫在线观看 | 国产成人一区二区精品非洲 | 国产伦理精品一区二区 | 91成人在线视频观看 | 日韩欧美精品一区二区三区经典 | 这里有精品在线视频 | 久久 在线| 超碰97人人干 | 天天躁天天狠天天透 | 91精品久久久久久久99蜜桃 | 亚洲国产资源 | 制服丝袜天堂 | 综合视频在线 | 久久久久观看 | 国产一区二区日本 | 天天综合操| 黄色在线观看www | 久久精品91视频 | 一区二区三区高清在线观看 | 在线韩国电影免费观影完整版 | 免费视频久久久久 | avwww在线| 日躁夜躁狠狠躁2001 | 手机av在线不卡 | 热久久99这里有精品 | 久久精品女人毛片国产 | 国产一区视频在线播放 | 五月网婷婷 | 成人h动漫在线看 | 黄色软件在线看 | 久久久久久久网站 | 狠狠干狠狠艹 | 欧美福利在线播放 | 亚洲成a人片77777kkkk1在线观看 | 国产精品免费视频观看 | 成人a v视频 | 麻豆视频免费网站 | 一本之道乱码区 | 27xxoo无遮挡动态视频 | 成人在线观看日韩 | 久久免费看 | 色婷婷狠狠五月综合天色拍 | 久久黄色影院 | 欧美一级电影 | 国产视频精品免费播放 | 久久久国产99久久国产一 | 91精品播放| 一二三四精品 | 日韩乱理| 午夜丁香视频在线观看 | 欧美xxxx性xxxxx高清 | 欧美日韩一区二区三区不卡 | 亚洲国产欧美在线看片xxoo | 91欧美视频网站 | 夜夜夜影院 | 欧美性粗大hdvideo | 怡红院成人在线 | 久久艹艹 | 在线 影视 一区 | 亚洲伊人第一页 | 免费观看特级毛片 | 国产又粗又猛又黄视频 | www国产亚洲 | 99久久这里只有精品 | 精品96久久久久久中文字幕无 | 一区二区视频在线免费观看 | 国产91免费看 | 综合色站导航 | 国产精品嫩草影视久久久 | 亚洲精品乱码久久久久久 | 激情综合国产 | 国产在线一区观看 | 国产人成精品一区二区三 | 欧美激情综合色 | 麻花豆传媒mv在线观看 | 日韩免费在线播放 | 免费观看黄 | 在线观看av大片 | 久久精品国产99国产 | 久草免费在线观看视频 | 天天拍天天色 | 99热精品在线 | 亚洲精品xx| 日韩最新在线视频 | 成年人在线看视频 | 精品久久久久久国产 | 五月天精品视频 | 黄色在线观看污 | 91精品区 | 亚洲婷婷丁香 | 97视频中文字幕 | 成人av观看| 国产精品久久久久久久久久 | 99婷婷狠狠成为人免费视频 | 91桃色在线观看视频 | 99精品国产免费久久久久久下载 | 欧美少妇xxxxxx | 在线播放国产精品 | 国产精品一区久久久久 | 日韩欧美视频一区二区三区 | 免费一级特黄录像 | 69精品视频在线观看 | 91精品视频免费观看 | 欧美 日韩 性 | 日本韩国精品一区二区在线观看 | 亚洲欧美一区二区三区孕妇写真 | 天天搞天天干 | 成 人 免费 黄 色 视频 | 最新高清无码专区 | 国产一级做a爱片久久毛片a | 国产黄色片久久 | 久久免费a | 久久久精品国产一区二区三区 | 一区二区网 | 麻豆视频在线播放 | 丁香六月中文字幕 | 黄色一级网 | 日韩精品视频在线观看网址 | 久久精品国产精品亚洲 | 亚洲欧美精品一区二区 | 日韩一二区在线观看 | 亚洲电影免费 | 精品不卡av | 最新中文字幕在线观看视频 | 国产一区二区三区网站 | 久久国产精品色av免费看 | 97在线观 | 99视频精品视频高清免费 | 开心色婷婷| 精品国产一区二区三区日日嗨 | 国产精品欧美激情在线观看 | 国产精品视频999 | 9999亚洲| 亚洲影院色 | 天天色天天操综合 | 免费看黄在线网站 | 色a网 | 日本最新一区二区三区 | 五月天婷亚洲天综合网精品偷 | 中文国产成人精品久久一 | 日韩高清精品免费观看 | 91亚洲网 | 国产一级视频在线 | 欧美va天堂在线电影 | 五月婷婷欧美视频 | 日日干综合 | 欧美在线观看禁18 | 免费观看午夜视频 | 91在线看黄 | 成人免费xxx在线观看 | 久久免费片 | 欧美精品做受xxx性少妇 | 99久久99久久免费精品蜜臀 | 97理论片| 黄网av在线 | 99精品久久久久 | 99精品视频免费 | 国产乱对白刺激视频不卡 | 日韩超碰在线 | 欧美一区二区精美视频 | 国产精品一区二区三区视频免费 | 国产91aaa| 伊人影院av | 99这里只有精品视频 | 日日夜夜操操操操 | 亚洲久草在线 | 伊人久久五月天 | 久久综合久久久 | 国产亚洲精品久久久久久电影 | 人人爽人人插 | 国产最新精品视频 | 四虎海外影库www4hu | 不卡av在线免费观看 | 午夜国产福利视频 | 国产中文字幕在线看 | 麻豆 videos | 国产视频在 | 久草电影在线观看 | 久久久久久久久久久久影院 | 日韩中文字幕a | 九九九在线观看视频 | 亚洲精品综合在线观看 | 91九色视频网站 | 亚洲男男gaygay无套同网址 | 激情丁香综合 | 伊人色综合网 | 日韩字幕在线观看 | 国产精品中文字幕在线观看 | a精品视频| 国产中文字幕大全 | 一区二区欧美日韩 | 九九免费在线视频 | 国内精品久久久久久久久久清纯 | 国产亚洲视频在线观看 | 蜜臀久久99精品久久久久久网站 | 久久女教师 | 99在线免费视频 | 国产精品欧美久久 | 操高跟美女 | 99久久视频| 久久久久9999亚洲精品 | 不卡的一区二区三区 | 国产精品观看视频 | 成人在线视频免费观看 | 欧美精品首页 | 热久久这里只有精品 | 四虎影院在线观看av | 美女在线国产 | 91九色性视频 | 麻豆国产精品永久免费视频 | 精品久久久一区二区 | 黄色a视频 | 亚洲三级精品 | 中文字幕 欧美性 | 91视频免费| 国产精品永久在线 | 二区三区在线观看 | 在线亚洲人成电影网站色www | 久久国产精品一国产精品 | 国产成人av电影在线 | 国产精品99久久久久 | 精品国产免费看 | 996久久国产精品线观看 | 欧美小视频在线观看 | 在线一区电影 | 亚洲激情 在线 | 在线观看网站你懂的 | 三级在线视频观看 | 91电影福利| 日韩欧美在线高清 | 欧美日韩一级在线 | 国产精品视频资源 | 午夜电影中文字幕 | 日韩精品在线观看av | 免费高清在线视频一区· | www天天干com | 亚洲视频,欧洲视频 | 精品美女国产在线 | 日韩免费b | 久久dvd| 97精品伊人 | 久艹在线观看视频 | 深爱激情亚洲 | 国产成人黄色片 | 国产精品午夜免费福利视频 | 免费人成网 | 中文字幕国产一区二区 | 国产一区二区不卡在线 | 九色精品免费永久在线 | 国产在线看一区 | 亚洲精品中文在线 | 免费视频一二三区 | 黄色小说在线观看视频 | 久久你懂得 | 国产精品久久久久久爽爽爽 | 欧美日韩免费网站 | 亚洲三级av | 91成人免费在线视频 | 超碰国产在线观看 | 成人免费一区二区三区在线观看 | 亚洲视频 在线观看 | 欧美韩国日本在线 | av中文国产 | 黄色视屏在线免费观看 | 国产黄色大片免费看 | 丁香六月婷婷开心婷婷网 | 91麻豆视频网站 | 亚洲精品一区二区在线观看 | 国产综合精品一区二区三区 | av手机版| 又爽又黄又无遮挡网站动态图 | 欧美国产一区在线 | 久久视频99 | 在线观看www. | 在线观看免费av片 | 97日日碰人人模人人澡分享吧 | 国产麻豆精品久久一二三 | 日本精品久久久久久 | 久久视频精品在线观看 | 亚洲 综合 国产 精品 | 亚洲午夜精品久久久久久久久 | 亚洲日本成人网 | 国产精品粉嫩 | 91精品亚洲影视在线观看 | 精品久久久久久久久久久久久久久久 | av一级网站 | 免费成视频 | 日本特黄特色aaa大片免费 | 国产精品毛片久久久久久久久久99999999 | 国产精品毛片久久蜜 | 国产一级片视频 | 日韩精品91偷拍在线观看 | 在线黄色免费av | 国产在线欧美在线 | 久久1电影院 | 国产精品美女视频 | 肉色欧美久久久久久久免费看 | 人人澡人人澡人人 | 亚洲高清在线 | 黄色三级在线观看 | 国产精品不卡一区 | 国产精品手机在线播放 | 久草视频2 | 又大又硬又黄又爽视频在线观看 | 黄色免费在线看 | 国产 日韩 欧美 自拍 | 日韩精品一区二区三区电影 | 国产精品国产自产拍高清av | 免费在线91 | 色综合综合 | 色综合久久久久 |