Hi, It's not problem with OpenOCD, but with arm-none-eabi-gdb.exe. Reference to the discussed topic "Problem with GDB 6.8". My log is similar with Ramon's.
I cut some information from his log: Debug: 653 9781 gdb_server.c:1997 gdb_input_inner(): received packet: 's' Debug: 654 9781 gdb_server.c:1296 gdb_step_continue_packet(): - Debug: 655 9781 gdb_server.c:1316 gdb_step_continue_packet(): step Debug: 656 9781 armv7m.c:134 armv7m_restore_context(): Debug: 657 9781 target.c:709 target_call_event_callbacks(): target event 6 (resumed) Debug: 658 9781 target.c:2995 target_handle_event(): event: 6 resumed - no action Debug: 659 9781 target.c:2995 target_handle_event(): event: 6 resumed - no action Debug: 660 9781 cortex_m3.c:667 cortex_m3_step(): target stepped dcb_dhcsr = 0x1030007 nvic_icsr = 0x0 Debug: 661 9781 cortex_m3.c:306 cortex_m3_debug_entry(): Debug: 662 9796 cortex_m3.c:114 cortex_m3_clear_halt(): NVIC_DFSR 0x1 Debug: 663 9812 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 0 value 0x20000068 Debug: 664 9812 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 1 value 0xdc0 Debug: 665 9828 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 2 value 0xdc0 Debug: 666 9843 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 3 value 0xe180 Debug: 667 9859 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 4 value 0xa4420001 Debug: 668 9874 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 5 value 0x1 Debug: 669 9874 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 6 value 0xdc0 Debug: 670 9890 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 7 value 0x0 Debug: 671 9906 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 8 value 0x200003da Debug: 672 9921 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 9 value 0xe000ed0c Debug: 673 9921 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 10 value 0x5fa0004 Debug: 674 9937 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 11 value 0x1000 Debug: 675 9953 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 12 value 0x1 Debug: 676 9968 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 13 value 0x2000040c Debug: 677 9968 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 14 value 0xffffffff // <<<<<<<<-------- here, lr = 0xffffffff Debug: 678 9984 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 15 value 0x444 Debug: 679 9999 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 16 value 0x1000000 Debug: 680 10015 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 17 value 0x2000040c Debug: 681 10031 cortex_m3.c:1159 cortex_m3_load_core_reg_u32(): load from core reg 18 value 0x80010410 Debug: 682 10031 cortex_m3.c:1185 cortex_m3_load_core_reg_u32(): load from special reg 19 value 0x0 Debug: 683 10046 cortex_m3.c:1185 cortex_m3_load_core_reg_u32(): load from special reg 20 value 0x0 Debug: 684 10062 cortex_m3.c:1185 cortex_m3_load_core_reg_u32(): load from special reg 21 value 0x0 Debug: 685 10078 cortex_m3.c:1185 cortex_m3_load_core_reg_u32(): load from special reg 22 value 0x0 Debug: 686 10078 cortex_m3.c:368 cortex_m3_debug_entry(): entered debug state in core mode: Thread at PC 0x444, target->state: halted Debug: 687 10078 target.c:709 target_call_event_callbacks(): target event 4 (early-halted) Debug: 688 10078 target.c:2995 target_handle_event(): event: 4 early-halted - no action Debug: 689 10078 target.c:2995 target_handle_event(): event: 4 early-halted - no action Debug: 690 10078 target.c:709 target_call_event_callbacks(): target event 5 (halted) Debug: 691 10078 target.c:2995 target_handle_event(): event: 5 halted - no action User: 692 10078 target.c:965 target_arch_state(): target state: halted User: 693 10078 armv7m.c:465 armv7m_arch_state(): target halted due to single-step, current mode: Thread xPSR: 0x01000000 pc: 0x00000444 Debug: 694 10078 target.c:2995 target_handle_event(): event: 5 halted - no action Debug: 695 10078 cortex_m3.c:672 cortex_m3_step(): target stepped dcb_dhcsr = 0x30007 nvic_icsr = 0x0 Debug: 696 10078 gdb_server.c:1997 gdb_input_inner(): received packet: 'g' Debug: 697 10078 gdb_server.c:1997 gdb_input_inner(): received packet: 'm444,4' Debug: 698 10078 gdb_server.c:1137 gdb_read_memory_packet(): addr: 0x00000444, len: 0x00000004 Debug: 699 10078 target.c:1057 target_read_buffer(): reading buffer of 4 byte at 0x00000444 Debug: 700 10078 gdb_server.c:1997 gdb_input_inner(): received packet: 'mfffffffe,4' Debug: 701 10078 gdb_server.c:1137 gdb_read_memory_packet(): addr: 0xfffffffe, len: 0x00000004 Debug: 702 10078 target.c:1057 target_read_buffer(): reading buffer of 4 byte at 0xfffffffe Error: 703 10078 target.c:1068 target_read_buffer(): address+size wrapped(0xfffffffe, 0x00000004) Error: 704 10078 gdb_server.c:1098 gdb_error(): unexpected error -4 On startup, reg 14(lr, link register) is 0xffffffff, so when step, arm-none-eabi-gdb will set a breakpoint at this position. On cortex-m3, this address will be anded(&) with 0xfffffffe, so arm-none-eabi-gdb will access 0xfffffffe. If OpenOCD return OK to this command "mfffffffe,4", arm-none-eabi-gdb will then send "Z0fffffffe,2" after some memory-reading commands. 2008-12-17 Best Regards, Simon Qian SimonQian([email protected]) ---- www.SimonQian.com 发件人: Rick Altherr 发送时间: 2008-12-17 12:08:18 收件人: SimonQian 抄送: openocd-development 主题: Re: [Openocd-development] About GDB sending "mfffffffe,4" On Dec 16, 2008, at 6:18 AM, SimonQian wrote: Hi all, I've setup a environment based on Eclipse and Codesourcery G++ Lite toolchain. My target MCU is STM32F101C6 chip. When start to debugging, openocd will report an error: Error: address+size wrapped(0xfffffffe, 0x00000004). In the remote log: Sending packet: $mfffffffe,4#fc...Packet received: 00000000. I traced the error, and find that it's caused by invalid value in lr when startup, which is 0xFFFFFFFF. I change the lr to 0xFFFFFF0F, and use run_to_line to run to another position in the same function. And received in the remote log: Sending packet: $mffffff0e,4#c6...Packet received: 00000000. 2008-12-16 Best Regards, Simon Qian SimonQian([email protected]) ---- www.SimonQian.com _______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development Can you provide steps to reproduce starting from a full target reset? Also, set debug_level 3 in OpenOCD and attach the output generated when doing those steps. That will help us understand what is happening. -- Rick Altherr [email protected] "He said he hadn't had a byte in three days. I had a short, so I split it with him." -- Unsigned
_______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development
