This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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

Other Parts Discussed in Thread: BIOSLINUXMCSDK

准备在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,可以给我一份,谢谢

  • 是自己的板子还是EVM板?是用哪个uart口? linux驱动可以下载下面的McSDK。
    http://www.ti.com/tool/bioslinuxmcsdk
     

  • 谢谢,我是自己的板子,现在可以向下执行了, 我对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模块 和网络驱动开发的过程 是什么样的关系?


    谢谢

  • pinmux有没有配置对?

  • 请问下,我的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下调试也是确认以上三点。

    可以指点下吗?