[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [microblaze-uclinux] Trouble using ethernetlite peripheral with 1600E reference design



Hello,

 

I found my problem. The opb_ethernetlite_0 OPB_Clk port was not connected (and hidden) by default in XPS. Once I connected it to the system clock (as it is in the 500E reference design) everything worked great.

 

- Doug

 


From: owner-microblaze-uclinux@xxxxxxxxxxxxxx [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of Douglas Bruey
Sent: Wednesday, October 10, 2007 3:42 PM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: RE: [microblaze-uclinux] Trouble using ethernetlite peripheral with 1600E reference design

 

I am responding to my own post because I forgot to document the LibGen, Build User Apps, and Init BRAM steps that I took. So, I added them to the “What I did:” section below.

 

Thanks,

Doug

 


From: owner-microblaze-uclinux@xxxxxxxxxxxxxx [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of Douglas Bruey
Sent: Wednesday, October 10, 2007 2:10 PM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: [microblaze-uclinux] Trouble using ethernetlite peripheral with 1600E reference design

 

Hello,

 

I am attempting to replace the emac peripheral in the petalinux Xilinx-Spartan3E1600-RevA-edk91 reference design with the ethernetlite peripheral. I have already successfully built and run the reference design as it was distributed. I am switching to the ethernetlite peripheral because my final design will use that MAC.

 

Currently I can build the bitstream, and kernel but u-boot hangs. I get the following output at boot.

=================================================

FS-BOOT First Stage Bootloader (c) 2006 PetaLogix

=================================================

FS-BOOT: System initialisation completed.

FS-BOOT: Searching for U-Boot at address: 0x21100000

FS-BOOT: Booting from FLASH. Press 's' for image download.

FS-BOOT: Waiting for SREC image....

FS-BOOT: Image download successful.

FS-BOOT: Warning image location differ from default boot location. Image will not boot automatically after POR.

FS-BOOT: Press 'n' to boot old image.

FS-BOOT: Use new image.

FS-BOOT: Booting image...

 

I am new to microblaze, uboot, and petalinux development so I suspect I am missing a critical step. So, here is what I did and if someone can tell me where I went wrong, or point me in the direction of helpful documentation I would appreciate it.

 

What I did:

-         Deleted the emac peripheral from the EDK design (including all its ports).

-         Browsed the IP catalog for the OPB 10/100 Ethernet MAC Lite and dragged it into the EDK design as opb_ethernetlite_0.

-         Connected opb_ethernetlite_0 to the mb_opb bus.

-         Opened the properties dialog for the opb_ethernetlite_0 device and set System: OPB: OPB Clock Period to 20000ps (because that is how the core is configured in the 500E reference design and I don’t know any better yet).

-         Switched to the Ports page and selected Make External for all opb_ethernetlite_0 ports except for IP2INTC_lrpt, for which I selected opb_ethernetlite_0_IP2INTC_Irpt.

-         Under External Ports all external “opb-ethernetlite_0_PHY_xxx” signals are mapped to “opb-ethernetlite_0_PHY_xxx_pin”.

-         Under opb_intc_0 I selected the Intr text box and added opb_ethernetlite_0_IP2INTC_lrpt to the Connected Interrupts list at priority 3 (since that is how it is configured in the 500E reference design).

-         Switched to the Addresses page and locked the FLASH_16Mx8 address and DDR_SDRAM_32Mx16 address because I know that fs-boot is set to use these addresses (and I am used to my base addresses for ram and flash partitions using these addresses).

-         Pressed the “Generate Addresses” button which assigned new addresses for all peripherals other than flash and ram. It placed the opb_ethernetlite_0 peripheral at 0x40e00000-0x40e0ffff (size = 64k).

-         Opened data/system.ucf and replaced the old “fpga_0_Ethernet_MAC_PHY_xxx_pin” names with the new “opb_ethernetlite_0_PHY_xxx_pin” names. Commented out the Mii_clk and Mii_data ports that the ethernetlite mac does not support. Saved the new ucf file.

-         Generated the bitstream, which worked without errors. The block diagram shows the peripheral’s interrupts assigned the same as the 500E reference design.

-         Generated Libraries and Drivers compiled without errors

-         Build all user applications compiled without errors

-         Updated the bitstream with fs-boot (BRAM INIT).

-         Switched to petalinux-dist and ran “make clean”

-         Switched to the Xilinx-Spartan3E1600-RevA-edk91 directory and ran “petalinux-copy-autoconfig”

-         Switched back to the petalinux-dist directory and ran “make menuconfig”. Verified that the kernel was still linux-2.6.x.

-         Changed: Kernel Config -> Device Drivers -> Network Device Support -> Ethernet (10 or 100Mbit) to “Xilinx 10/100 OPB EMACLITE support”

-         Verified that build u-boot was selected and my flash partition table was still correct.

-         Ran “make all”. The build succeeded without errors.

-         Downloaded the new bitstream and interrupted fs-boot by pressing ‘s’.

-         Sent the new u-boot.srec file to fs-boot.

-         System hangs with the above output.

 

Any help would be greatly appreciated.

 

Thank you,

Douglas Bruey