[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [microblaze-uclinux] Microblaze bootloop question
Aloha David,
It seems you are loading the exe to 0x81800000. If so, when you tell it
to simply 'run' it starts at 0x0000_0000. Try 'run 0x81800000'. If you
want to have it automatically jump to your sdram, you'll have to put
something in bram to tell it where to go. Take a look at John's
bootloader. All you really need is the jump line (kernel_start I
think). This will get it to jump to your sdram address. I'm not sure
if toying with the linker script will let you start at a different
address but if you could get the bri 0 to be bri 0x81800000 then it may
work. I don't think this is how other folks are getting their code in
external memory running though.
/ks
|-----Original Message-----
|From: owner-microblaze-uclinux@itee.uq.edu.au
|[mailto:owner-microblaze-uclinux@itee.uq.edu.au] On Behalf Of
|david moloney
|Sent: Friday, September 03, 2004 11:27 AM
|To: microblaze-uclinux@itee.uq.edu.au; David Moloney
|Subject: [microblaze-uclinux] Microblaze bootloop question
|
|
|The following simple program works fine when downloaded to BRAM either
|from the EDK as part of the bitstream or via XMD as a file using dow
|simple/executable.elf.
|
|main() {
| int i=1;
| while (i) {
| xil_printf("hello world! %d\n\r",i++);
| }
|}
|
|Downloading the bitstream via XMD into the external SDRAM with
|bootloader rather than application initialization in BRAM as suggested
|in Chapter 9 of the Xilinx User Guide and executing the following
|sequence of XMD commands below results (see end of mail) in
|the program
|being stuck in a loop in the bootloader (look at the rrd and stp
|commands below) code created automatically by the BSB for the
|NuHorizons
|Spartan3 board.
|
|.section ".boot","ax"
|
|_boot: bri 0
|
|Would I be right in that I need to change the bootloader from the
|default one in C:\EDK\sw\lib\microblaze\src called
|mb_bootloop.s and/or
|the associated linker script mb_bootloop.linkerscript?
|
|If so does anyone have such a bootloop or can you suggest how I can
|modify the existing one to work with my board which has its SDRAM
|located at 0x81800000.
|
|Regards,
|
|- David
|
|
|XMD trace below:
|
|Xilinx Microprocessor Debug (XMD) Engine
|Xilinx EDK 6.2 Build EDK_Gm.11
|Copyright (c) 1995-2002 Xilinx, Inc. All rights reserved.
|XMD% mbconnect mdm
|Connecting to cable (Parallel Port - LPT1).
|Checking cable driver.
|Driver windrvr6.sys version = 6.0.3.0. LPT base address =
|0378h. ECP base address = 0778h. Cable connection established.
|
|JTAG chain configuration
|--------------------------------------------------
|Device ID Code IR Length Part Name
|1 05046093 8 XCF04S
|2 0141c093 6 XC3S400
|Assuming, Device No: 2 contains the MicroBlaze system
|Connected to the JTAG MicroBlaze Debug Module (MDM)
|No of processors = 1
|
|MicroBlaze Processor 1 Configuration :
|-------------------------------------
|Version............................2.00.a
|No of PC Breakpoints...............2
|No of Read Addr/Data Watchpoints...1
|No of Write Addr/Data Watchpoints..1
|Instruction Cache Support..........off
|Data Cache Support.................off
|WARNING:: MHS file not specified..
| Cannot Check Microblaze-MDM FSL Connectivity !!
|INFO:: No MHS,Assuming No MDM-FSL-MB Connection
|JTAG MDM Connected to Mircoblaze 1
|Connected to MicroBlaze "mdm" target. id = 0
|Starting GDB server for "mdm" target (id = 0) at TCP port no
|1234 XMD% dow -data simple/executable.elf 0x81800000 XMD% rrd
| r0: 00000000 r8: 00000000 r16: 00000000 r24: 00000000
| r1: 00000000 r9: 00000000 r17: 00000000 r25: 00000000
| r2: 00000000 r10: 00000000 r18: 00000000 r26: 00000000
| r3: 00000000 r11: 00000000 r19: 00000000 r27: 00000000
| r4: 00000000 r12: 00000000 r20: 00000000 r28: 00000000
| r5: 00000000 r13: 00000000 r21: 00000000 r29: 00000000
| r6: 00000000 r14: 00000000 r22: 00000000 r30: 00000000
| r7: 00000000 r15: 00000000 r23: 00000000 r31: 00000000
| pc: 00000000 msr: 00000000
|XMD% stp
|BREAKPOINT at
| 0: B8000000 bri 0
|XMD% stp
|BREAKPOINT at
| 0: B8000000 bri 0
|XMD% stp
|BREAKPOINT at
| 0: B8000000 bri 0
|XMD% rrd
| r0: 00000000 r8: 00000000 r16: 00000000 r24: 00000000
| r1: 00000000 r9: 00000000 r17: 00000000 r25: 00000000
| r2: 00000000 r10: 00000000 r18: 00000000 r26: 00000000
| r3: 00000000 r11: 00000000 r19: 00000000 r27: 00000000
| r4: 00000000 r12: 00000000 r20: 00000000 r28: 00000000
| r5: 00000000 r13: 00000000 r21: 00000000 r29: 00000000
| r6: 00000000 r14: 00000000 r22: 00000000 r30: 00000000
| r7: 00000000 r15: 00000000 r23: 00000000 r31: 00000000
| pc: 00000000 msr: 00000000
|XMD% run
|Processor started. Type "stop" to stop processor
|RUNNING> stop
|XMD%
|Processor stopped at PC: 0x00008000
|XMD% rrd
| r0: 00000000 r8: 00000000 r16: 00000000 r24: 00000000
| r1: 00000000 r9: 00000000 r17: 00000000 r25: 00000000
| r2: 00000000 r10: 00000000 r18: 00000000 r26: 00000000
| r3: 00000000 r11: 00000000 r19: 00000000 r27: 00000000
| r4: 00000000 r12: 00000000 r20: 00000000 r28: 00000000
| r5: 00000000 r13: 00000000 r21: 00000000 r29: 00000000
| r6: 00000000 r14: 00000000 r22: 00000000 r30: 00000000
| r7: 00000000 r15: 00000000 r23: 00000000 r31: 00000000
| pc: 00008000 msr: 00000000
|___________________________
|microblaze-uclinux mailing list
|microblaze-uclinux@itee.uq.edu.au Project Home Page :
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/