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]