Hi folks, I was fortunate enough to resuscitate my DNS323 (Feroceon board) after flashing a dodgy image to it.
Now I am trying to get it working in RAM first, before writing it to flash. I have configured CONFIG_SYS_TEXT_BASE to be 0x3000000, I then use OpenOCD to load the u-boot.bin file to that location, and start it using "resume 0x3000000". Unfortunately, it seems to get into an endless loop: > halt target state: halted target halted in ARM state due to debug-request, current mode: Supervisor cpsr: 0x600000d3 pc: 0x030123a4 MMU: disabled, D-Cache: disabled, I-Cache: disabled > arm disassemble 0x030123a4 0x030123a4 0xe3130020 TST r3, #0x20 > step target state: halted target halted in ARM state due to single-step, current mode: Supervisor cpsr: 0x600000d3 pc: 0x030123a8 MMU: disabled, D-Cache: disabled, I-Cache: disabled > arm disassemble 0x030123a8 0x030123a8 0x0afffffc BEQ 0x030123a0 > step target state: halted target halted in ARM state due to single-step, current mode: Supervisor cpsr: 0x600000d3 pc: 0x030123a0 MMU: disabled, D-Cache: disabled, I-Cache: disabled > arm disassemble 0x030123a0 0x030123a0 0xe5d03014 LDRB r3, [r0, #0x14] > resume > halt target state: halted target halted in ARM state due to debug-request, current mode: Supervisor cpsr: 0x600000d3 pc: 0x030123a4 MMU: disabled, D-Cache: disabled, I-Cache: disabled > It is apparently waiting for something to be equal to 0x20 before continuing. How can I determine which u-boot code this is, and what it is waiting for? I have tried connecting with gdb, but I can only step for a short distance before it gives problems setting the breakpoint: 0x03000000 in ?? () (arm-gdb)stepi Program received signal SIGINT, Interrupt. 0x03000054 in ?? () (arm-gdb)stepi Program received signal SIGINT, Interrupt. 0x03000058 in ?? () (arm-gdb)symbol-file u-boot-standalone-0x3000000 Reading symbols from /home/rogan/openocd/u-boot-standalone-0x3000000...BFD: /home/rogan/openocd/u-boot-standalone-0x3000000: invalid string offset 37 >= 0 for section `' BFD: /home/rogan/openocd/u-boot-standalone-0x3000000: invalid string offset 1 >= 0 for section `' BFD: /home/rogan/openocd/u-boot-standalone-0x3000000: invalid string offset 94 >= 0 for section `' BFD: /home/rogan/openocd/u-boot-standalone-0x3000000: invalid string offset 20 >= 0 for section `' BFD: /home/rogan/openocd/u-boot-standalone-0x3000000: invalid string offset 82 >= 0 for section `' BFD: /home/rogan/openocd/u-boot-standalone-0x3000000: invalid string offset 67 >= 0 for section `' BFD: /home/rogan/openocd/u-boot-standalone-0x3000000: invalid string offset 32 >= 0 for section `' BFD: /home/rogan/openocd/u-boot-standalone-0x3000000: invalid string offset 53 >= 0 for section `' done. (arm-gdb)stepi Program received signal SIGINT, Interrupt. reset () at start.S:167 167 orr r0,r0,#0xd3 Current language: auto; currently asm (arm-gdb)stepi Program received signal SIGINT, Interrupt. reset () at start.S:168 168 msr cpsr,r0 (arm-gdb) Program received signal SIGINT, Interrupt. reset () at start.S:175 175 bl cpu_init_crit (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:323 323 mov r0, #0 (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:324 324 mcr p15, 0, r0, c7, c7, 0 /* flush v3/v4 cache */ (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:325 325 mcr p15, 0, r0, c8, c7, 0 /* flush v4 TLB */ (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:330 330 mrc p15, 0, r0, c1, c0, 0 (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:331 331 bic r0, r0, #0x00002300 /* clear bits 13, 9:8 (--V- --RS) */ (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:332 332 bic r0, r0, #0x00000087 /* clear bits 7, 2:0 (B--- -CAM) */ (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:333 333 orr r0, r0, #0x00000002 /* set bit 2 (A) Align */ (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:334 334 orr r0, r0, #0x00001000 /* set bit 12 (I) I-Cache */ (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:335 335 mcr p15, 0, r0, c1, c0, 0 (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:340 340 mov ip, lr /* perserve link reg across call */ (arm-gdb) Program received signal SIGINT, Interrupt. cpu_init_crit () at start.S:341 341 bl lowlevel_init /* go setup pll,mux,memory */ (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:90 90 ldr r4, =ORION5X_REGS_PHY_BASE (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:94 94 ldr r3, =0xD0000000 (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:95 95 add r3, r3, #0x20000 (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:96 96 str r4, [r3, #0x80] (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:99 99 add r3, r4, #0x01000 (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:102 102 ldr r6, =0x00000001 (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:103 103 str r6, [r3, #0x480] (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:106 106 add r3, r4, #0x31000 (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:109 109 ldr r6, =0x00000030 (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:110 110 str r6, [r3, #0xd00] (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:113 113 add r3, r4, #0x01000 (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:116 116 mov r6, #0 (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:117 117 str r6, [r3, #0x504] (arm-gdb) Program received signal SIGINT, Interrupt. lowlevel_init () at lowlevel_init.S:118 118 str r6, [r3, #0x50C] (arm-gdb) lowlevel_init () at lowlevel_init.S:118 118 str r6, [r3, #0x50C] Could not insert single-step breakpoint at 0x30004c0 (arm-gdb) And it will not get past line 118, unfortunately. Does anyone have a suggestion for what else I can try? Thanks! Rogan _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot