This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

am5708 不能启动



 现在公司做的电路板,已经测试各路电源供电正常,上电时序安装手册中实线对应的时序上电(AM570x Sitara™ Processors ->Figure 5-4. Power-Up Sequencing)。

由于电路板上没有留调试接口,现在的现象如下

1.sysboot 设置为sd卡启动。

2.如果sd卡没有MLO文件,可持续测到arm给出的sd卡时钟脉冲串(我们理解为arm在不停的在sd卡中查找MLO文件);如果sd卡中有MLO文件,则arm只会在上电时给出200ms左右的sd卡时钟(我们理解为arm读到了MLO文件),之后arm就没任何响应(所以我们怀疑arm在执行板级初始化阶段死机)。

3.修改board_f.c 中的

void board_init_f(ulong boot_flags)
{
++my_fb_test( 10000 );//在gpio6_11输出10000方波

#ifdef CONFIG_SYS_GENERIC_GLOBAL_DATA
/*
* For some architectures, global data is initialized and used before
* calling this function. The data should be preserved. For others,
* CONFIG_SYS_GENERIC_GLOBAL_DATA should be defined and use the stack
* here to host global data until relocation.
*/
gd_t data;

gd = &data;

/*
* Clear global data before it is accessed at debug print
* in initcall_run_list. Otherwise the debug print probably
* get the wrong value of gd->have_console.
*/
zero_global_data();
#endif

........

在board_init_f()开始执行先输出10000个方波,开发板是可以。但是在我们自己做的电路板上没有输出。

我们对上诉现象的理解是arm可以读取MLO文件,但是不能执行最基本的初始化操作,现在不知道问题出在什么地方。

请了解的工程师指点一下,谢谢!