[ECOS] Insight/gdb symbolic debug

Gary Thomas gthomas@redhat.com
Tue Apr 25 03:20:00 GMT 2000

On 24-Apr-00 Paul Kinzelman wrote:
> I'm using the latest 1.3.1 eCos (as of a couple of weeks ago)
> and an arm edb7xxx evaluation board.
> I was getting lcd_test and kbd_test to run and discovered that I had
> to add some extra -I clauses in the Makefile - to point to some more
> library header files. Am I missing something that I should have
> done to make them compile cleanly as-is from the release?
> Or are those files just out of date or something?

It should not be necessary to add anything to get these to build.  Here
are the steps I just used to do it:

  # ecosconfig new edb7211
  # ecosconfig tree
  # make
  # make -C hal/arm/edb72xxx/v1_3_1 tests TESTS=misc/kbd_test

Some of your details may differ, but the basic steps will apply.

> Secondly, I can compile a simple 'hello world' and as soon as I start
> up Insight:
>       arm-elf-gdb hello&
> I get a window with the source code which is fine.
> However, if I compile kbd_test, kbd_support, and lcd_support together
> (I've modified them to make a quick 'type a key, see it on the screen'),
> when I do:
>       arm-elf-gdb kbd_test&
> the window comes up without the source code, but the program
> runs mostly as I'd expect (I can type a character and it displays
> on the LCD.
> The Makefiles are virtually identical (except for the program name).
> The two test directories are both under the same directory.
> I use the same Linux window to compile both programs.
> Why does hello come up with source debug but the kbd_test doesn't?
> The main difference I can see is that hello uses 'main' and
> kbd_test creates a thread.

The key here is that Insight does a "load & run with breakpoint" when
you press the run button.  Notice that the "target selection" dialog
has buttons for where you want to place the initial breakpoint.  The
debugger cannot infer where the "start" of the program necessarily is.

I just tried this with the 'kbd_test', manually setting the startup
breakpoint at 'cyg_start'.  The program downloaded and the symbolic
display came up just fine when the program began at 'cyg_start'.

More information about the Ecos-discuss mailing list