[ECOS] redboot cyg_start routine

Michael Anburaj embeddedeng@hotmail.com
Mon Jul 14 07:13:00 GMT 2003


Hi Satish,

>
>the problem is i see a indefinite loop in the assembly code i.e at
>address 30004684 which branches to the address 30004648 always
>unconditionally..can some one justify this..?
>
>    and which is its equivalent source line..?


The equivalent in main.c at cyg_start():

    while (true) {
        if (prompt) {
            diag_printf("RedBoot> ");
            prompt = false;
        }
#if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
        cmd_history = true;  // Enable history collection
#endif
        res = _rb_gets(line, sizeof(line), CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT);
#if CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
        cmd_history = false;  // Enable history collection
#endif
        if (res == _GETS_TIMEOUT) {
            // No input arrived
        } else {


This is the redboot even loop that's waiting for Reboot or GDB commands. The 
call to _rb_gets() read the console & feeds the command strings to this 
loop.

-Mike.

_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8. 
http://join.msn.com/?page=features/junkmail


-- 
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