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

Re: [microblaze-uclinux] Microblaze bootloop question



Hi David,

 > XMD% dow -data simple/executable.elf 0x81800000

The syntax for downloading Elf file in XMD is,
XMD% dow simple/executable.elf - This will download the elf and change 
PC to Elf start address
XMD% con - Continue execution of the program

- Raj

david moloney wrote:

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

-- 
  -- Raj
  _
/ /\/ Raj Nagarajan (raj.nagarajan@xilinx.com)
\ \   Xilinx
/ /   2100 Logic Drive
\_\/\ San Jose, CA 95124 USA
___________________________
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/