On Mon, 2004-10-25 at 08:37, Manfred Gruber wrote:
Hi !
I use a ep9315 board
I want to change in in the redboot bootloader the console. Now it is
configured on the first serial port. How do i change this to the second
serial port?
I found out that this is done in
ecos-2.0/packages/hal/arm/arm9/ep93xx/v2_0/src/hal_diag.c:
I changed what i thought would be correct, but i does not work:
static void
cyg_hal_plf_serial_init(void)
{
hal_virtual_comm_table_t* comm;
int cur =
CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
// Init channels
// TODO shouldn't this be default value, not 0?
--> //cyg_hal_plf_serial_init_channel(&ep9312_ser_channels[0]);
--> cyg_hal_plf_serial_init_channel(&ep9312_ser_channels[1]);
// Setup procs in the vector table
// Set channel 0
--> //CYGACC_CALL_IF_SET_CONSOLE_COMM(0);
// Set channel 1
--> CYGACC_CALL_IF_SET_CONSOLE_COMM(1);
comm = CYGACC_CALL_IF_CONSOLE_PROCS();
//Contec hypercontrol micro9 change to 1
--> //CYGACC_COMM_IF_CH_DATA_SET(*comm, &ep9312_ser_channels[0]);
--> CYGACC_COMM_IF_CH_DATA_SET(*comm, &ep9312_ser_channels[1]);
CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);
CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);
CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);
CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);
CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);
CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm,
cyg_hal_plf_serial_getc_timeout);
// Restore original console
CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
}
Maybe someone has done this already, or there is a config option missing.
Thanks for help
regrds manfred
You should not have to make these changes at all. Simply set
CYGPKG_REDBOOT_ANY_CONSOLE to 0/false
so RedBoot will only use a single console device. Then set
CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL to 1
for your desired channel.
That's the whole idea behind the configuration system - source code
changes should not be required to make simple choices like this.
BTW - where did you get this port? It's not part of the public CVS.
Finally, this question really belongs on the eCos discussion list which
is for discussing questions and issues about using eCos. The eCos
development list is really for discussing changes to the eCos sources.
--
Gary Thomas <gary@mlbassoc.com>
MLB Associates
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss