请问一下,我使用dm8127芯片,使用spi flash,现在使用串口下载u-boot。但是设置为uart模式时,一直打印“CC”字符?设置为spi模式是,复位时打印8个‘c’字符。测试电平均正常,请问是可能是什么原因?
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.
Hi ,
没太看懂你的问题。
你觉得哪个不正常。
也请提供一下你说的每种模式下,BTMODE具体是设置为哪个值?
BR,
Eason
10110 这个bootmode, 启动顺序里面第一项是spi , 第三项是uart。所以如果spi没有启动起来的话,ROM里面等待超时就会尝试去从其他启动设备/接口去启动。你的可能是这种情况
你用的是pre_build 目录下面的uboot.min吗。
可以直接用u-boot.min.nand试试。。。 你用的是哪个RDK版本?
SPI启动不来,你的SPIflash烧写过么。。。里面有东西么。。。烧的是什么binary?
你好,第一阶段是要初始化ddr,但是在汇编里面有初始化吗?我是在start_armboot ()函数的开始打印的,这个函数前面都是汇编,ddr应该是在if ((*init_fnc_ptr)() != 0) 这里面初始化的吧。
void start_armboot (void)
{
init_fnc_t **init_fnc_ptr;
char *s;
unsigned long addr;
#if defined(CONFIG_VFD) || defined(CONFIG_LCD)
unsigned long addr;
#endif
//printf("ange start\n");
/* Pointer is writable since we allocated a register for it */
gd = (gd_t*)(_armboot_start - CONFIG_SYS_MALLOC_LEN - sizeof(gd_t));
//printf("anger start_armboot::::1\n");
/* compiler optimization barrier needed for GCC >= 3.4 */
__asm__ __volatile__("": : :"memory");
//printf("anger start_armboot::::2\n");
memset ((void*)gd, 0, sizeof (gd_t));
gd->bd = (bd_t*)((char*)gd - sizeof(bd_t));
memset (gd->bd, 0, sizeof (bd_t));
gd->flags |= GD_FLG_RELOC;
printf("anger-start_armboot::::3\n");
monitor_flash_len = _bss_start - _armboot_start;
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
if ((*init_fnc_ptr)() != 0) {
hang ();
}