From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Salter To: tadams@theone.dnsalias.com Cc: ecos-discuss@sourceware.cygnus.com Subject: Re: [ECOS] program doesn't work with new redboot Date: Sat, 11 Aug 2001 18:05:00 -0000 Message-id: <200108120105.f7C152t29215@deneb.localdomain> References: <003d01c121d9$f0283030$090110ac@TRENT> X-SW-Source: 2001-08/msg00353.html >>>>> Trenton D Adams writes: > My program won't work with the new redboot I just compiled. It does the > following. > $ arm-elf-gdb.exe -nw RigSystem.exe > GNU gdb 5.0 > Copyright 2000 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-cygwin --target=arm-elf"... > (gdb) set remotebaud 115200 > (gdb) target remote com1 > Remote debugging using com1 > 0xe0006630 in ?? () > (gdb) load > Loading section .rom_vectors, size 0x40 lma 0x20000 > Loading section .text, size 0x389c0 lma 0x20040 > Loading section .rodata, size 0x1a1b8 lma 0x58a00 > Loading section .data, size 0x1194 lma 0x72bb8 > Start address 0x20040 , load size 343372 > Ignoring packet error, continuing... > Transfer rate: 80793 bits/sec, 306 bytes/write. Because you get the "Start address..." message, the download of code was successful. The only thing that happens between that message and the "Transfer rate..." message is the setting of the PC. That register setting packet must be the one that gets the packet error. The "Ignoring packet error..." message could be the result of any number of problems receiving a packet. After sending a set register packet, GDB expects the target to respond with an "OK" packet. Presumably, it is this OK packet (or perhaps lack of it) that is causing the problem. Turning on remote protocol debug is the best way to start tracking down these sorts of problems. So, turn on debugging with: (gdb) set remotedebug 1 or with newer GDBs: (gdb) set debug remote 1 Post the last bit of the debug output from the load command and we'll help you interpret it. You'll get a bunch of stuff from the load data, but the interesting part for this problem will start with GDB sending the "$P" packet to set the pc. --Mark