|
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 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 |