Hi,

I found half of issue, I was configuring the board to boot from 16 bit
NAND flash, but it is a 8 bit one.

Now I can see the internal buffer memory and it is exactly equal to my binary.

This is the disassembled u-boot-nand.bin:

u-boot-nand.bin:     file format binary

Disassembly of section .data:

00000000 <.data>:
       0:       eafffffe        b       0x0
       4:       e59ff014        ldr     pc, [pc, #20]   ; 0x20
       8:       e59ff010        ldr     pc, [pc, #16]   ; 0x20
       c:       e59ff00c        ldr     pc, [pc, #12]   ; 0x20
      10:       e59ff008        ldr     pc, [pc, #8]    ; 0x20
      14:       e59ff004        ldr     pc, [pc, #4]    ; 0x20
      18:       e59ff000        ldr     pc, [pc, #0]    ; 0x20
      1c:       e51ff004        ldr     pc, [pc, #-4]   ; 0x20
      20:       a7ec0100        strgeb  r0, [ip, r0, lsl #2]!
      24:       12345678        eornes  r5, r4, #125829120      ; 0x7800000
      28:       12345678        eornes  r5, r4, #125829120      ; 0x7800000
      2c:       12345678        eornes  r5, r4, #125829120      ; 0x7800000
      30:       12345678        eornes  r5, r4, #125829120      ; 0x7800000
      34:       12345678        eornes  r5, r4, #125829120      ; 0x7800000
      38:       12345678        eornes  r5, r4, #125829120      ; 0x7800000
      3c:       12345678        eornes  r5, r4, #125829120      ; 0x7800000
      40:       a7ec0000        strgeb  r0, [ip, r0]!
      44:       a7ec0000        strgeb  r0, [ip, r0]!
      48:       a7ec0800        strgeb  r0, [ip, r0, lsl #16]!
      4c:       a7ec0804        strgeb  r0, [ip, r4, lsl #16]!
      50:       e10f0000        mrs     r0, CPSR
      54:       e3c0001f        bic     r0, r0, #31     ; 0x1f
      58:       e38000d3        orr     r0, r0, #211    ; 0xd3
      5c:       e129f000        msr     CPSR_fc, r0
      60:       eb000015        bl      0xbc

This is the gdb output:

$ arm-elf-gdb
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux".
(gdb) target remote :3333
Remote debugging using :3333
0xd8000000 in ?? ()
(gdb) x 0xd8000000
0xd8000000:     0xeafffffe
(gdb)
0xd8000004:     0xe59ff014
(gdb)
0xd8000008:     0xe59ff010
(gdb)
0xd800000c:     0xe59ff00c
(gdb)
0xd8000010:     0xe59ff008
(gdb)
0xd8000014:     0xe59ff004
(gdb)
0xd8000018:     0xe59ff000
(gdb)
0xd800001c:     0xe51ff004
(gdb)
0xd8000020:     0xa7ec0100
(gdb)
0xd8000024:     0x12345678
(gdb)
0xd8000028:     0x12345678
(gdb)
0xd800002c:     0x12345678
(gdb)
0xd8000030:     0x12345678
(gdb)
0xd8000034:     0x12345678
(gdb)
0xd8000038:     0x12345678
(gdb)
0xd800003c:     0x12345678
(gdb)
0xd8000040:     0xa7ec0000
(gdb)
0xd8000044:     0xa7ec0000
(gdb)
0xd8000048:     0xa7ec0800
(gdb)
0xd800004c:     0xa7ec0804
(gdb)
0xd8000050:     0xe10f0000
(gdb)
0xd8000054:     0xe3c0001f
(gdb)
0xd8000058:     0xe38000d3
(gdb)
0xd800005c:     0xe129f000
(gdb)
0xd8000060:     0xeb000015

Unfortunately I can't change the PC:

(gdb) set $pc=0xd8000050
Value being assigned to is no longer active.

(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0xd8000000 in ?? ()

(gdb) si
0xd8000000 in ?? ()
Infinite loop detected


Is there any other way to setup the PC to right position?


Best Regards,

Alan
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to