This is the mail archive of the
ecos-devel@sources.redhat.com
mailing list for the eCos project.
Redboot console on ep93xx
- From: Manfred Gruber <gruber dot m at utanet dot at>
- To: ecos-devel at sources dot redhat dot com
- Date: Mon, 25 Oct 2004 16:37:26 +0200
- Subject: Redboot console on ep93xx
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