[ECOS] console Vs GUI gdb on i386 target

Pete Barrie peter@cis.strath.ac.uk
Sat Feb 23 09:22:00 GMT 2002


At 19:35 22/02/2002 +0000, Jonathan Larmour wrote:
>Pete Barrie wrote:
> >
> > At 14:36 13/02/2002 +0000, Jonathan Larmour wrote:
> > >Pete Barrie wrote:
> > > >
> > > > Running PC-host, Win2000, Cygwin and i386-elf-gdb
> > > > to PC target.
> > > >
> > > > I've spent some time with docs and site search but I'm
> > > > not clear about the following:
> > > >
> > > > Q1. On gdb console version standard output from tutorial programs
> > > > hello.c , twothreads.c, etc comes back to the gdb console. Good.
> > > > But...if I'm running Insight GUI where can I see the
> > > > output?  I've checked manuals but I'm not
> > > > clear on this.
> > >
> > >View->Console
> > >
> > > > Q2. Can I redirect output to other display's on host or PC video?
> > > >
> > > > CYGSEM_HAL_I386_PC_DIAG_SCREEN (Output to PC screen) _is_ enabled
> > > > within the i386 PC Target configuration in the 1.3.net configuration
> > > tool but
> > > > this does not seem to make any difference. Should output be going to
> > > > another device
> > > > (config tool help says that PC screen is a third virtual serial device.
> > > > What is this device
> > > > name ?)
> > >
> > >There should be _something_ on the attached screen, or at least, the
> > >RedBoot stuff.
> >
> > Yes, not a problem. PC screen shows usual
> > boot messages and "RedBoot>"  prompt
> >
> > Programs are running. I've got latest
> > ecos updates and have rebuilt redboot.
> >
> > >I think the issue is that RedBoot selects the default console once it has
> > >got input from it, so if you connect over serial, all console I/O goes to
> > >serial.
> > >
> > >You could change this in your application by disabling
> > >CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE in the Common HAL options, and
> > >setting the default console channel to that of the screen. Do that with
> > >CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL in the PC HAL config.
> >
> > I've changed both of these with 1.3net  Config Tool
> > 1. Within my i386 ecos build - no joy, everything comes back
> > via the serial line - still no printf output to PC screen
>
>What channel number did you choose for
>CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL ?

2

>
> > I did:  build|clean
> >           build|library
> > Did I miss anything else required for a new build?
>
>Probably not :-|. You did relink of course ;).

Yup!


>
> > 2. I've also changed these in Redboot build - no
> > success - printf still goes to debug serial line

Should the macros be changed in Redboot
as well?

*** See bottom of this mail for selective macro
settings from my .ecc file in case there is anything
that has been forgotten.

Thanks for any help

Pete

Thanks
Pete


>Hmm...
>
> > Are the PC screen/keyboard available through a separate device name
> > or should things really be working after these changes?
>
>It's not a device name as such - it's redirecting where the "diagnostic"
>output goes.



cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
     # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
     #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
     #   --> 1
     # ActiveIf constraint:  CYGPKG_HAL_ARM || 
CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || 
CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
     #     CYGPKG_HAL_ARM (unknown) == 0
     #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
     #     CYGPKG_HAL_V85X_V850 (unknown) == 0
     #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
     #   --> 1

     # Flavor: bool
     # No user value, uncomment the following line to provide one.
     # user_value 1
     # value_source default
     # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || 
CYG_HAL_STARTUP == "RAM") ? 1 : 0
     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
     #     CYG_HAL_STARTUP == RAM
     #   --> 1

     # The following properties are affected by this value
     # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
     #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && 
!CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
};


8<..........



cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
     # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 0
     # Flavor: bool
     # Current value: 0
};

# Console channel is configurable
# This option is a configuration hint - it is enabled
# when the HAL initialization code will make use
# of the console channel configuration option.
#
cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
     # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && 
!CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
     #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
     #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 1
     # Flavor: bool
     # Current value: 0
};


8<..........


cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
     # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
     #     CYGSEM_HAL_USE_ROM_MONITOR == GDB_stubs
     #   --> 1

     # Flavor: bool
     user_value 0
     # value_source user
     # Default 
value:  !CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED  && 
!CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
     #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_NOT_GUARANTEED == 0
     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 0
     #   --> 1

     # The following properties are affected by this value
     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
     #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
     # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
     #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && 
!CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
};

8<..........

cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
     # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && 
!CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
     #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
     #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 1
     # Flavor: bool
     # Current value: 0
};

8<..........

# Diagnostic serial port
# On PCs with two serial ports, this option
# chooses which port will be used for diagnostic output.
# Selecting port 2 will cause the PC screen to be used.
#
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
     # Flavor: data
     user_value 2
     # value_source user
     # Default value: 0
     # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
     #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
};

# Default console channel.
#
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
     # Flavor: data
     user_value 2
     # value_source user
     # Default value: 0
     # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
     #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
};

# Output to PC screen
# This option enables use of the PC screen and keyboard as a
# third virtual serial device.
#
cdl_option CYGSEM_HAL_I386_PC_DIAG_SCREEN {
     # Flavor: bool
     user_value 1
     # value_source user
     # Default value: 1
     # The following properties are affected by this value
     # option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS
     #     DefaultValue:  CYGSEM_HAL_I386_PC_DIAG_SCREEN ? 3 : 2
};


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list