[U-Boot] Problem running U-Boot in RAM on PPC440 (Avnet V5FX30T)
hamelin.philippe at ireq.ca
hamelin.philippe at ireq.ca
Fri Oct 29 19:26:00 CEST 2010
Hello,
This is my first steps in implementing a bootloader on this platform. My platform is the Virtex-5 Avnet V5FX30T with a PPC440 CPU. For the first tests, I would like to download and start directly U-Boot from the RAM. I'm using ELDK as the cross toolchain. Here is the detailed step that I did:
In EDK:
* Create project using the base system builder
* Activate cache on Flash and DDR RAM
* Set STDIN/STDOUT to Serial, Boot Memory to BRAM
* Modify base address of RAM from 0x04000000 to 0x0 (high address is now 0x03FFFFFF)
* Generate linux_2_6 BSP (xparameters.h)
* In the file xparameters.h, replace XPAR_FLASH_8MX16* with XPAR_FLASH*, and XPAR_DDR2_SDRAM_16MX32* with XPAR_DDR2_SDRAM*.
* Update the Bistream (put default bootloop in BRAM)
* Generate FPGA Bitstream
* Download FPGA Bitstream to the device
In linux console:
* Un-tar u-boot
* Copy the file xparameters.h generated with EDK in u-boot/board/avnet/v5fx30teval
* export ARCH=powerpc
* export CROSS_COMPILE=ppc_4xx-
* make v5fx30teval_config
* make
* Open a serial console at 115200,8,N,1 (seems to be the default according to xilinx-ppc.h)
In XMD:
* dow u-boot
* run
At this point, I see nothing in the console. After a couple of seconds I stop the processor and the PC register is at 0xFFFFFFFC. Does someone can give me some hints on how to find the problem?
Here is the address map:
Address Map for Processor ppc440_0
(0b0000000000-0b0011111111) ppc440_0
(0000000000-0x03ffffff) DDR2_SDRAM_16Mx32 ppc440_0_PPC440MC
(0x81000000-0x8100ffff) Ethernet_MAC plb_v46_0
(0x81800000-0x8180ffff) xps_intc_0 plb_v46_0
(0x83e00000-0x83e0ffff) RS232 plb_v46_0
(0xd8000000-0xd8ffffff) FLASH_8Mx16 plb_v46_0
(0xffff8000-0xffffffff) xps_bram_if_cntlr_1 plb_v46_0
Here is the log of my XMD session:
Xilinx Microprocessor Debug (XMD) Engine
Xilinx EDK 10.1.03 Build EDK_K_SP3.6
Copyright (c) 1995-2007 Xilinx, Inc. All rights reserved.
Overriding IP level properties ...
Address Map for Processor ppc440_0
(0b0000000000-0b0011111111) ppc440_0
(0000000000-0x03ffffff) DDR2_SDRAM_16Mx32 ppc440_0_PPC440MC
(0x81000000-0x8100ffff) Ethernet_MAC plb_v46_0
(0x81800000-0x8180ffff) xps_intc_0 plb_v46_0
(0x83e00000-0x83e0ffff) RS232 plb_v46_0
(0xd8000000-0xd8ffffff) FLASH_8Mx16 plb_v46_0
(0xffff8000-0xffffffff) xps_bram_if_cntlr_1 plb_v46_0
XMD%
Info:Connecting to cable (Usb Port - USB21).
Info:Checking cable driver.
Info: Driver file xusb_xlp.sys found.
Info: Driver version: src=1029, dest=1029.
Info: Driver windrvr6.sys version = 8.1.1.0.Info: WinDriver v8.11 Jungo (c) 1997
- 2006 Build Date: Oct 16 2006 X86 32bit SYS 12:35:07, version = 811.
Info: Cable PID = 0008.
Info: Max current requested during enumeration is 74 mA.
Info:Type = 0x0004.
Info: Cable Type = 3, Revision = 0.
Info: Setting cable speed to 750 KHz.
Info:Cable connection established.
Info:Firmware version = 1303.
Info:File version of C:/Xilinx/10.1/ISE/data/xusb_xlp.hex = 1303.
Info:Firmware hex file version = 1303.
Info:PLD file version = 0012h.
Info: PLD version = 0012h.
JTAG chain configuration
--------------------------------------------------
Device ID Code IR Length Part Name
1 63276093 10 XC5VFX30T_U
PowerPC440 Processor Configuration
-------------------------------------
Version.............................0x7ff21912
User ID.............................0x00f00002
No of PC Breakpoints................4
No of Addr/Data Watchpoints.........2
User Defined Address Map to access Special PowerPC Features using XMD:
I-Cache (Data)........0x70000000 - 0x70007fff
I-Cache (TAG).........0x70008000 - 0x7000ffff
D-Cache (Data)........0x78000000 - 0x78007fff
D-Cache (TAG).........0x78008000 - 0x7800ffff
DCR...................0x78020000 - 0x78020fff
TLB...................0x70020000 - 0x70023fff
Connected to "ppc" target. id = 0
Starting GDB server for "ppc" target (id = 0) at TCP port no 1234
XMD% dow u-boot
System Reset .... DONE
Downloading Program -- u-boot
section, .text: 0x03000000-0x0301fe9f
section, .bootpg: 0x0301fea0-0x03020167
section, .resetvec: 0x03020168-0x0302016b
section, .rodata: 0x0302016c-0x0302743b
section, .reloc: 0x03027500-0x03028e0b
section, .data: 0x03028e0c-0x03028fe7
section, .data.rel.ro.local: 0x03028fe8-0x03029113
section, .data.rel: 0x03029114-0x03029257
section, .data.rel.ro: 0x03029258-0x030292b3
section, .data.rel.local: 0x030292b4-0x03029a9f
section, .u_boot_cmd: 0x03029aa0-0x0302a183
section, .bss: 0x0302a200-0x0302c82f
Setting PC with Program Start Address 0x0301fea0
XMD% rrd
r0: 30000000 r8: 03fcd834 r16: 03ff86c0 r24: 03fccbfc
r1: 03f69d38 r9: 17d78400 r17: 03f5e5b8 r25: 03f69f28
r2: 03f69f28 r10: 00000030 r18: 00000000 r26: 03f69f08
r3: 00000001 r11: 05f5e100 r19: ffffffff r27: 03fca000
r4: 00000000 r12: 44000022 r20: 00000000 r28: 03f6a000
r5: 00000000 r13: 0000a5a5 r21: 03f69d90 r29: 03f69da0
r6: 00000000 r14: 03ff5d1c r22: 00000000 r30: 03ffe924
r7: 0401f6d8 r15: 00fca000 r23: 03fcc228 r31: a0800000
pc: 0301fea0 msr: 00000000
XMD% run
Info:Processor started. Type "stop" to stop processor
RUNNING> XMD% stop
XMD% Info:User Interrupt, Processor Stopped at 0xfffffffc
XMD% rrd
r0: 30000000 r8: 03fd6800 r16: 03ff86c0 r24: 03fd5bfc
r1: 03f72d28 r9: 17d78400 r17: 03f5e5b8 r25: 03f72f28
r2: 03f72f28 r10: 00000030 r18: 00000000 r26: 03f72f08
r3: 00000001 r11: 05f5e100 r19: ffffffff r27: 03fd3000
r4: 00000000 r12: ffffffff r20: 00000000 r28: 03f73000
r5: 00000000 r13: 0000a5a5 r21: 03f72d90 r29: 03f72da0
r6: 00000000 r14: 03ff5d1c r22: 00000000 r30: 04002524
r7: 03de91ff r15: 00fd3000 r23: 03fd5228 r31: a0800000
pc: fffffffc msr: 00000000
XMD%
------------------------------------
Philippe Hamelin, ing. jr, M. Ing
Chercheur / Researcher
T: 450-652-8499 x2198
F: 450-652-1316
Expertise robotique et civil
Institut de recherche d'Hydro-Québec (IREQ)
1740, boul. Lionel-Boulet
Varennes (QC) J3X 1S1, Canada
More information about the U-Boot
mailing list