TI中文支持网
TI专业的中文技术问题搜集分享网站

omapl138 ARM核 准备运行linux系统,谁有合适的linux源文件

准备在omapl138的ARM和运行linux系统,找了一个linux3_3的,每次运行的时候只运行到

## Booting kernel from Legacy Image at c0700000 …
Image Name: Linux-3.3.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2384864 Bytes = 2.3 MiB
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Uncompressing Linux… done, booting the kernel.   //  运行到此处就不运行了,不知道是什么原因,请教下各位,如何解决,

如果有现成的linux,可以给我一份,谢谢

shuo wang10:

回复 Shine:

谢谢,我是自己的板子,现在可以向下执行了, 我对linux menuconfig配置去掉了多媒体驱动配置,去掉了LED等,就可以像下执行了(应该是我的板子上没有这些外设的缘故),现在又遇到的问题是linux内核启动,网络模块没有启动成功:【我们的OMAPL138开发板是的网卡芯片是ksz8893,  这个芯片还是用在TI官方提供的OMAPL137开发板的网卡芯片】

[    2.096413] davinci_mdio davinci_mdio.0: detected phy mask fffffff1[    2.107743] davinci_mdio.0: probed[    2.111605] davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio-0:01, driver unknown  //在这里有问题[    2.119866] davinci_mdio davinci_mdio.0: phy[2]: device davinci_mdio-0:02, driver unknown[    2.128281] davinci_mdio davinci_mdio.0: phy[3]: device davinci_mdio-0:03, driver unknown[    2.137188] PPP generic driver version 2.4.2[    2.143236] PPP BSD Compression module registered在linux内核中的代码应该是以下:        // 注册mii_bus        /* register the mii bus 2.   注册mii bus 2*/        ret = mdiobus_register(data->bus);        if (ret)                goto bail_out;        /* scan and dump the bus 扫描和转储总线*/        for (addr = 0; addr < PHY_MAX_ADDR; addr++) {                phy = data->bus->phy_map[addr];   // 应该从 phy_map下手  phy_map[0] 没有数据                if (phy) {                        dev_info(dev, "phy[%d]: device %s, driver %s\n",                                 phy->addr, dev_name(&phy->dev),                                 phy->drv ? phy->drv->name : "unknown");                }        }最终在后面 网络启动有问题[    2.387752] PHY davinci_mdio-0:00 not found[    2.392184] net eth0: could not connect to phy davinci_mdio-0:00[    2.398254] IP-Config: Failed to open eth0[    2.402589] IP-Config: No network devices available.1,请问下,这是什么原因造成的?2,phy模块 和网络驱动开发的过程 是什么样的关系?

谢谢

Shine:

回复 shuo wang10:

pinmux有没有配置对?

shuo wang10:

回复 Shine:

请问下,我的linux内核可以支持MII的接口,我有一个板子是mii接口的。

然后,我另一个板子的PHY芯片是RMII接口的,我没找到在哪里修改为RMII,我就在最初配置的时候将rmii_en设置为1

void __init davinci_common_init(struct davinci_soc_info *soc_info)

{

             davinci_soc_info.emac_pdata->rmii_en = 1;  //在后面验证了一下是没有被清零,一直为1,说明使用的是rmii接口

}

//XXX 在这里问题[ 2.111605] davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio-0:01, driver unknown  // 这里我发现是device davinci_mdio-0:01[ 2.119866] davinci_mdio davinci_mdio.0: phy[2]: device davinci_mdio-0:02, driver unknown[ 2.128281] davinci_mdio davinci_mdio.0: phy[3]: device davinci_mdio-0:03, driver unknown

在后面

[ 2.387752] PHY davinci_mdio-0:00 not found                    //  这里应该是没有和前面匹配好。[ 2.392184] net eth0: could not connect to phy davinci_mdio-0:00

请问下这是什么原因?

我百度了一下相关的问题:有介绍的说

由于TI的SDK包中使用的general PHY driver,所以修改很简单,更明确地说,是确认配置。

建议调试在u-boot中进行,方便确认问题。

u-boot下主要确认三点:

1)Program GMII_SEL in control module with 0x5 for RMII Interface    // 请问下对于omapl138 如何操作

2)Pinmux configuration to support rmii interface                                //这个我应该已经满足

3)Phy ID setting in Platform data(由PHY的硬件电路决定,通过在PHY_ID的三个管脚上下拉来决定)  //这里我一直没有找到配置的具体地方??

Linux下调试也是确认以上三点。

可以指点下吗?

赞(0)
未经允许不得转载:TI中文支持网 » omapl138 ARM核 准备运行linux系统,谁有合适的linux源文件
分享到: 更多 (0)