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.

processor SDK 2.00.1.07 無EEPROM,RTC Uboot 一直 resetting CPU問題

Expert 2272 points


請問...我們的客製化板子

無EEPROM,使用processor SDK 2.00.1.07

我已修改了uboot 將EEPROM處理掉

/opt/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/u-boot-2015.07+gitAUTOINC+5922e09363/board/ti/am335x/board.c

static int __maybe_unused read_eeprom(struct ti_am_eeprom **header)

#if 1 
int i;
struct ti_am_eeprom *ep;
ep = TI_AM_EEPROM_DATA;

ep->header=0xEE3355AA;
#if 1
strcpy(ep->name, "A335X_SK");
strcpy(ep->version, "1.2B");
strcpy(ep->serial, "45124P196447");
#else
strcpy(ep->name, "A335BNLT");
strcpy(ep->version, "000C");
strcpy(ep->serial, "3614BBBK0996");
#endif

...

但還是會出現如下問題,一直重開機,請問大概是什麼問題呢???

pc : [<8ff656c4>] lr : [<8ff518b7>]
reloc pc : [<808166c4>] lr : [<808028b7>]
sp : 8ef2ee70 ip : 00000000 fp : 80800020
r10: 00000001 r9 : 8ef2eed8 r8 : 4030cdcc
r7 : 8ff98eb4 r6 : 8ff98e2c r5 : 8ff98eb8 r4 : 0f74f000
r3 : 44e3e000 r2 : b0010000 r1 : 8ff9b148 r0 : 00000000
Flags: nZcv IRQs off FIQs on Mode SVC_32
Resetting CPU ...

resetting ...

  • 请您查看errata http://www.ti.com/lit/er/sprz360g/sprz360g.pdf 中的 Advisory 1.0.6

  • 这是在U-boot下重启还是Linux下重启?

  • Dear Jian

    是在b-boot 重啟,

    我在SDK6.0,修改過後的UBOOT,KERNEL 是可以在我們的客製化板子正常啟動至 rootfs的

    但客製化板子在PROCESSOR SDK2.0.1.07  的修改過如下列表檔案,一樣會持續在UBOOT 重啟

    我們的板子是基於AM335X EVM SK ,但取消 EEPROM, 取消 RTC,MMC CD PIN改變,USB0 改為MUSB_PERIPHERAL

    /opt/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/u-boot-2015.07+gitAUTOINC+5922e09363/board/ti/am335x/board.c

    /opt/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/u-boot-2015.07+gitAUTOINC+5922e09363/include/configs/am335x_evm.h

    /opt/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/u-boot-2015.07+gitAUTOINC+5922e09363/board/ti/am335x/mux.c

    /opt/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/u-boot-2015.07+gitAUTOINC+5922e09363/arch/arm/cpu/armv7/omap-common/boot-common.c

    /opt/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/u-boot-2015.07+gitAUTOINC+5922e09363/arch/arm/cpu/armv7/am33xx/board.c

    /opt/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/u-boot-2015.07+gitAUTOINC+5922e09363/am335x_evm/include/asm/arch/ddr_defs.h

  • jjew,

    你能否加些打印语句,定位下u-boot走到哪一步重启的。

  • linux下解决rtc启动问题,改如下地方,从未整理的笔记里找到的,希望对你有用

    修改部分:
    arch/arm/mach-omap2/clockdomains33xx-data.c     最后注释掉rtc时钟域名
    Omap_hwmod_33xx_data.c     最后注释掉rtc
    Powerdomains33xx_data.c     最后注释掉rtc
  • Dear Jian

    uboot 打印訊息如下

    P/S: 我在此客製板使用之前移植好的SDK6.0 MLO,Uboot,UImage,rootfs 是可以正常運行的

    在PROCESSOR SDK2.0.107 則會如下一直重啟

    U-Boot SPL 2015.07-00080-gfa53e9d-dirty (Apr 12 2016 - 03:17:45)
    reading args
    spl_load_image_fat_os: error reading image args, err - -1
    reading u-boot.img
    reading u-boot.img


    U-Boot 2015.07-00080-gfa53e9d-dirty (Apr 12 2016 - 03:17:45 +0300)

    Watchdog enabled
    I2C: ready
    DRAM: 256 MiB
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    reading uboot.env

    ** Unable to read "uboot.env" from mmc0:1 **
    Using default environment

    Net: <ethaddr> not set. Validating first E-fuse MAC
    cpsw, usb_ether
    data abort
    pc : [<8ff656d4>] lr : [<8ff518c7>]
    reloc pc : [<808166d4>] lr : [<808028c7>]
    sp : 8ef2ee70 ip : 00000000 fp : 00000001
    r10: 00000000 r9 : 8ef2eed8 r8 : 4030cdcc
    r7 : 8ff98eb0 r6 : 8ff98e28 r5 : 8ff98eb4 r4 : 0f74f000
    r3 : 44e3e000 r2 : b0010000 r1 : 8ff9b144 r0 : 00000000
    Flags: nZcv IRQs off FIQs on Mode SVC_32
    Resetting CPU ...

    resetting ...

  • 最新SDK的U-boot肯定还是和SDK06有区别的,我看你的log定位到了网卡这块,你把网卡初始化注掉看看?

  • Dear Jian

    我們的客製板是使用KSZ9031 與 EVMSK AR8051不同,

    但這在SDK6.0  是不會引發重啟的

    新版的PROCESSOR SDK 2.0.107 是否PHY不同會引發重啟呢???

    我試著修改 gedit /opt/ti-processor-sdk-linux-am335x-evm-02.00.01.07/board-support/u-boot-2015.07+gitAUTOINC+5922e09363/board/ti/am335x/board.c

    board_eth_init  內的下列註釋掉,一樣會引發重新啟動

    rv = cpsw_register(&cpsw_data);

    ......

    if (board_is_evm_sk() || board_is_gp_evm()) {
    const char *devname;
    devname = miiphy_get_current_dev();

    miiphy_write(devname, 0x0, AR8051_PHY_DEBUG_ADDR_REG,
    AR8051_DEBUG_RGMII_CLK_DLY_REG);
    miiphy_write(devname, 0x0, AR8051_PHY_DEBUG_DATA_REG,
    AR8051_RGMII_TX_CLK_DLY);
    }

  • 我觉得有可能是PHY这部分驱动的不同引起的,你把PHY初始化这部分注掉试试。

  • Dear Jian

    網路查詢是有看到, PHY有問題,可能會導致重啟

    http://lists.denx.de/pipermail/u-boot/2013-September/162017.html

    不過我將 PHY初始化註釋掉,或如依照上列修改,一樣會重啟

    請問...若AM335X 要替換成KSZ9031 應該processor sdk 2.00.107 之Uboot 應該修改那些地方呢??

    下列driver/net/phy/phy.c 已修改確定會執行phy_micrel_init() ,一樣會重啟

    int phy_init(void)

    ...

    #ifdef CONFIG_PHY_MICREL
    phy_micrel_init();


    我若將此MLO+Uboot.img 放置AM335X EVM SK 開機,則可正常進入UBOOT 不會重啟 (EVM SK 使用AR8031)

    所以也不太像PHY錯誤問題