This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: console Vs GUI gdb on i386 target
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