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