查看: 17189|回复: 18

[已解决] help imx6q_sabesd 如何配置从sata启动(已解决)

[复制链接]

该用户从未签到

1

主题

25

帖子

0

新手上路

Rank: 1

积分
48
最后登录
1970-1-1
发表于 2014-3-14 10:24:06 | 显示全部楼层 |阅读模式
现在已经可以从sata硬盘加载u-boot了,也可以将u-boot 环境变量存储到sata中了,
尝试配置bootcmd env 参数,总是无法启动系统,希望给点指导,小弟先谢过大家了。
我试过sata read 0x10800000 0x800 0x2800 
           bootm  0x10800000
 
我知道答案 目前已有18人回答
回复

使用道具 举报

该用户从未签到

1

主题

25

帖子

0

新手上路

Rank: 1

积分
48
最后登录
1970-1-1
 楼主| 发表于 2014-3-14 10:50:24 | 显示全部楼层

回复:help imx6q_sabesd 如何配置从sata启动

U-Boot 2009.08-dirty (Mar 10 2014 - 19:30:06)
CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 187
Temperature:   28 C, calibration data 0x5a04db7d
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock     : 528000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SABRESD: RevC Board: 0x63312 [POR ]
Boot Device: SATA
I2C:   ready
DRAM:   1 GB
MMC:   usdhc_gpio_init() fail!FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
SATA Device Info:
S/N:       TE9B113QKWKGWP
Product model number: Hitachi HTS545032A7E380
Firmware version: GGBOA7A0
Capacity: 625142448 sectors
In:    serial
Out:   serial
Err:   serial
unsupported boot devices
Found PFUZE100! deviceid=10,revid=10
Net:   got MAC address from IIM: 00:04:9f:02:62:3b
FEC0 [PRIME]
Hit any key to stop autoboot:  0
SATA read: device 0 block # 2048, count 8192 ... 8192 blocks read: OK
SATA read: device 0 block # 12288, count 768 ... 768 blocks read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
MX6Q SABRESD U-Boot > print
bootdelay=3
baudrate=115200
ipaddr=192.168.1.103
serverip=192.168.1.101
netmask=255.255.255.0
netdev=eth0
ethprime=FEC0
splashimage=0x30000000
splashpos=m,m
lvds_num=1
ethact=FEC0
fastboot_dev=/dev/sda
bootargs_base=setenv bootargs console=ttymxc0,115200
bootargs_sata=setenv bootargs ${bootargs} console=tty1 root=/dev/sda1 rootwait rw video=mxcdi1fb:GBR24,VGA-XGA dil_primary vga
bootcmd=run bootcmd_sata;bootm ${loadaddr} ${rd_loadaddr}
bootcmd_sata=sata read ${loadaddr} 0x800 0x2000;sata read ${rd_loadaddr} 0x3000 0x300;
bootargs=console=ttymxc0 init=/init androidboot.console=ttymxc0 vide=mxcdi1fb:RGB666,XGA ldb=di1 di1_primary ip=dhcp gpu_nommu,gpu_memory=64M
loadaddr=0x10800000
rd_loadaddr=0x11000000
stdin=serial
stdout=serial
stderr=serial
Environment size: 753/8188 bytes
MX6Q SABRESD U-Boot >
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2014-3-14 12:59:07 | 显示全部楼层

回复:help imx6q_sabesd 如何配置从sata启动

楼主你好,请问BSP你用的是哪个版本?
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

25

帖子

0

新手上路

Rank: 1

积分
48
最后登录
1970-1-1
 楼主| 发表于 2014-3-14 16:42:58 | 显示全部楼层

回复:help imx6q_sabesd 如何配置从sata启动

回复第 3 楼 于2014-03-14 12:59:07发表:
楼主你好,请问BSP你用的是哪个版本?
消灭0回复啦,哈哈
使用的是android-4.2.2 使用的官方的开发板,BSP版本不太清楚哦
 
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-3-19 15:24:33 | 显示全部楼层

RE:help imx6q_sabesd 如何配置从sata启动

楼主,你好!
我会将你的问题转给我们的I.MX工程师。
请耐心等待。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

25

帖子

0

新手上路

Rank: 1

积分
48
最后登录
1970-1-1
 楼主| 发表于 2014-3-19 19:04:02 | 显示全部楼层

RE:help imx6q_sabesd 如何配置从sata启动

大家好,问题初步得到解决了,android 使用boot.img,使用的命令应该是booti,使用sata很难知道应该从硬盘读取的偏移地址,经过思考,
使用
setenv  cmd_sata 'sata  init;sata dev 0;ext2load sata 0:1 0x10800000 /uImage ;'
set env bootcmd 'run cmd_sata;bootm 0x10800000'
解决了加载内核的问题
ramdisk 本来想使用同样的方式
ext2load sata 0:1 0x21800000 /ramdisk.img
使用 bootm 0x10800000 0x21800000 启动
发现提示ramdisk格式错误,试过boot.img-ramdisk.gz 和ramdisk(cpio 格式)均提示不识别的ramdisk文件
最开始使用的rd_loadaddr 为 0x11000000  效果是一样的
最后的解决方案是,把ramdisk的内容解压出来放到/dev/sda1下
配置参数 root  /dev/sda1
现在已经可以启动了,
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

25

帖子

0

新手上路

Rank: 1

积分
48
最后登录
1970-1-1
 楼主| 发表于 2014-3-19 19:07:08 | 显示全部楼层

RE:help imx6q_sabesd 如何配置从sata启动

现在还不明白的是rd_loadaddr应该是多少?0x11000000还是0x21800000呢,还有u-boot起来的时候,存在sata初始化失败问题,表现为有时可以启动,有时间失败,sata使用外接电源会好一些!
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

25

帖子

0

新手上路

Rank: 1

积分
48
最后登录
1970-1-1
 楼主| 发表于 2014-3-19 19:12:32 | 显示全部楼层

RE:help imx6q_sabesd 如何配置从sata启动

http://boundarydevices.com/u-boot-on-i-mx6/
参考了这个网站,芯片间的关系。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

25

帖子

0

新手上路

Rank: 1

积分
48
最后登录
1970-1-1
 楼主| 发表于 2014-3-19 19:25:50 | 显示全部楼层

回复:help imx6q_sabesd 如何配置从sata启动

U-Boot 2009.08-dirty (Mar 10 2014 - 19:30:06)
CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 187
Temperature:   32 C, calibration data 0x5a04db7d
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock     : 528000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SABRESD: RevC Board: 0x63312 [POR ]
Boot Device: SATA
I2C:   ready
DRAM:   1 GB
MMC:   usdhc_gpio_init() fail!FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
No port device detected!
In:    serial
Out:   serial
Err:   serial
unsupported boot devices
i2c: I2C3 SDA is low, start i2c recovery...
I2C3 Recovery success
Found PFUZE100! deviceid=10,revid=10
Net:   got MAC address from IIM: 00:04:9f:02:62:3b
FEC0
MX6Q SABRESD U-Boot >
U-Boot 2009.08-dirty (Mar 10 2014 - 19:30:06)
CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 187
Temperature:   37 C, calibration data 0x5a04db7d
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock     : 528000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SABRESD: RevC Board: 0x63312 [POR ]
Boot Device: SATA
I2C:   ready
DRAM:   1 GB
MMC:   usdhc_gpio_init() fail!FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
SATA Device Info:
S/N:       TE9B113QKWKGWP
Product model number: Hitachi HTS545032A7E380
Firmware version: GGBOA7A0
Capacity: 625142448 sectors
In:    serial
Out:   serial
Err:   serial
unsupported boot devices
i2c: I2C3 SDA is low, start i2c recovery...
I2C3 Recovery success
Found PFUZE100! deviceid=10,revid=10
Net:   got MAC address from IIM: 00:04:9f:02:62:3b
FEC0
Hit any key to stop autoboot:  0
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

25

帖子

0

新手上路

Rank: 1

积分
48
最后登录
1970-1-1
 楼主| 发表于 2014-3-19 19:26:38 | 显示全部楼层

回复:help imx6q_sabesd 如何配置从sata启动

./drivers/block/dwc_ahsata.c
int init_sata(int dev)
{
        int i;
        u32 linkmap;
        struct ahci_probe_ent *probe_ent = NULL;
        if (dev < 0 || dev > (CONFIG_SYS_SATA_MAX_DEVICE - 1)) {
                printf("The sata index %d is out of ranges\n\r", dev);
                return -1;
        }
        ahci_init_one(dev);
        probe_ent = (struct ahci_probe_ent *)sata_dev_desc[dev].priv;
        linkmap = probe_ent->link_port_map;
        if (0 == linkmap) {
                printf("No port device detected!\n");
                return 1;
        }
        for (i = 0; i < probe_ent->n_ports; i++) {
                if ((linkmap >> i) && ((linkmap >> i) & 0x01)) {
                        if (ahci_port_start(probe_ent, (u8)i)) {
                                printf("Can not start port %d\n", i);
                                return 1;
                        }
                        /* ahci_set_feature(dev, (u8)i); */
                        probe_ent->hard_port_no = i;
                        break;
                }
        }
        return 0;
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 09:12 , Processed in 0.106788 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表