Tool/software: Linux
Hi all,
I met a problem.
My hardware environment: 66AK2414's SGMII port0 is connected to SWITCH BCM5389's port0 and BCM5389's port7 is connected to 88E1111's SGMII port and 88E1111 is connected to PC through RJ45.
I used the DSP to send a packet to PC through BCM5389 and PC could receive the packet, so the hardware was OK.
Then I set the CONFIG_DM_ETH as n in k2hk_evm_defconfig in the UBOOT source codes directories. And rebuilt the UBOOT, flashed UBOOT into NOR FLASH, set the SOC as ARM SPI BOOT mode.
Then the UBOOT was up.
But when I typed the ping command to PC, the UBOOT showed me data abort and then reboot.
The messages from UBOOT is below.
U-Boot SPL 2016.05-00118-ga7b7639-dirty (Dec 24 2016 - 11:10:56) Trying to boot from SPI U-Boot 2016.05-00118-ga7b7639-dirty (Dec 24 2016 - 11:10:56 +0800) CPU: 66AK2Hx SR2.0 I2C: ready DRAM: DDR3 status: 0xb000001f Detected DDR3 [Four DDR3 Chips] DDR3 speed 1600 DRAM: 2 GiB (includes reported below) DDR3 status: 0xb0000fff ddr3_init done Clear entire DDR3 memory to enable ECC 1 GiB board_init done NAND: 512 MiB *** Warning - bad CRC, using default environment Net TEST: using eth_legacy.c Start to init NET Start to init EMAC net_serdes setup K2HK_EMAC_TEST Hit any key to stop autoboot: 0 => setenv ipaddr 192.168.1.105 => ping 192.168.1.101 Waiting for SGMII auto negotiation to complete. done Using K2HK_EMAC_TEST device data abort pc : [<bff55640>] lr : [<bff55305>] reloc pc : [<0c025640>] lr : [<0c025305>] sp : beee7928 ip : 00000000 fp : bffed58c r10: 6501a8c0 r9 : beeefee0 r8 : bffed060 r7 : bffeca40 r6 : 00000000 r5 : 00000000 r4 : 0000002a r3 : 00000001 r2 : ffffffff r1 : e59ff098 r0 : ea000047 Flags: nzCv IRQs off FIQs off Mode SVC_32 Resetting CPU ... resetting ...
I found the SGMII auto negotiation was done after I typed ping command, so the link was up.
But why UBOOT showed me data abort?
Could anyone help me have a loot at this question?
Regards,
Feng