查看完整版本: YAMON学习的疑问080815

muzichuanye 2008-8-15 22:20

YAMON学习的疑问080815

各位大侠,小弟我正在学习YAMON,手上板子的CPU是RMI公司的AU1200-400MGD。
系统的配置如下:
Compilation time =            Aug 15 2008  21:09:34
MAC address =                 00.00.00.00.00.00
Processor Company ID =        0x03
Processor ID/revision =       0x02 / 0x01
Endianness =                  Little
CPU =                         324 MHz
Flash memory size =           32 MByte
SDRAM size =                  128 MByte
First free SDRAM address =    0x800a31e8

对于WINCE、MIPS、YAMON这些东西我都是初学者。我首先从YAMON入手开始学。
这里我有个疑问,就是当YAMON出现如下提示画面后:
Environment variable 'start' exists. After 2 seconds
it will be interpreted as a YAMON command and executed.
Press Ctrl-C to bypass this.

如果我没有按下CTRL-C,出现如下提示
AutoBoot Revision 1.02

但我在YAMON的程序内就是没有找到跳到“AutoBoot Revision 1.02”的程式。

static void
command_loop(
                         t_shell_line_buf *buf )
{
    char line[SHELL_MAX_COMMAND_LEN + 1];

        printf("lishun----->command_loop start!\n");
   
    while( TRUE )
    {
//        print_prompt( PROMPT_TARGET_DISPLAY, PROMPT_TEXT_ENV );
               
                if( !start )
                        {
           print_prompt( PROMPT_TARGET_TERMINAL, PROMPT_TEXT_ENV );
                        }
               
                if( !shell_get_line( line, SHELL_MAX_COMMAND_LEN, TRUE, TRUE, buf ) )
                {
                        printf( "lishun----->command_loop 1!\n" );
                }
                else
                {
                        /* Remove excess spaces */
                        remove_space( line );
                       
                        if( strlen(line) == 0 )
                                printf( "lishun----->command_loop 2!\n" );
                        else
                        {
                                /* Add line to stack (only "single" lines) */
                                if( !start && (strlen( line ) <= max_line_len) )
                                        add2buf( buf, line );
                               
                                        /*  Recursively split line in ";" separated commands and expand
                                        *  environment variables.
                                        *  Execute command(s).
                                */
                                newline_after_prompt = FALSE;
                                execute_line( line, TRUE );
           }
        }

                start = NULL;
    }

        printf("lishun----->command_loop end!\n");
}

我有设置打印信息,能够看到“lishun----->command_loop start!”,但没看到“lishun----->command_loop end!”
说明是在While(TRUE)里面运行,但我怎么找都没找到AutoBoot的入口函数。

不知道哪位大侠能帮帮我解答一下这个问题~~~~~

谢谢啦

muzichuanye 2008-8-16 00:01

autoboot

我看了份资料《AMD Alchemy™ Processors AutoBoot Boot Loader》
越看越晕,不知道是不是在FLASH内除了YAMON外,还有一个Auto Boot的程式
而这个AutoBoot的程式可以可以靠YAMON去更新的!!!

不知道哪位有这个AutoBoot的安装程式呢~~~~

muzichuanye 2008-8-16 16:31

哇~~~

哇~~后来找了资料看看终于高明白这个YAMON和AUTOBOOT的关系了
不过接下来又发生了可怕的事情

我把YAMON给弄没了:'( ,系统启动不了了

之前我有一个可以JFLASHMM.EXE的程序,可以通过电脑的并口转成JTAGE,去烧录板子上的FLASH,所以不怕YAMON弄丢。
可是~~~
目前我手上的板子是S29L256N的FLASH,而之前程式是烧录M29W160ET的。
所以在烧录过程中读取FLASH ID失败
我看JFLASH的目录下有一个M29W160ET.DAT的文档
我在想要烧录S29L256N的FLASH是不是得找到个S29L256N.DAT的档案
不知道这样想对不对~~~~
不知道哪位大侠知道这玩意儿怎么弄,不甚感激啊~~~~~

muzichuanye 2008-8-16 16:38

问题如下

[attach]97495[/attach]
页: [1]
查看完整版本: YAMON学习的疑问080815