8127启动时,检测不到nand,以下为现象:
1)仿真器连接时,可烧写flash,由于烧进去的mlo可能有问题,无法通过nand启动
2)同样的代码,编译为通过串口引导,mlo可以起来,第二阶段无法检测到nand;编译为nand引导,通过仿真器烧录进去,第一阶段都起不来
3)flash的配置,是完全按照烧写程序nand-flash-writer.out代码里面的配置数据
问题:
除了nand gpmc的配置外,还有什么影响nand的检测,现在nand_get_flash_type函数中NAND_CMD_READID读出的数据连续4个都是3
Chris Meng:
你好,
bootmode引脚的上下拉是否配置正确?
cajviewer:
回复 Chris Meng:
1)启动的问题:
nand空的时候,串口可打出cccccc,应该是nand启动
ccs调试,一直是停在串口打印信息那块
void NS16550_putc (NS16550_t com_port, char c){ while ((serial_in(&com_port->lsr) & UART_LSR_THRE) == 0);//停在这里 serial_out(c, &com_port->thr);}
2)串口启动后,uboot检测问题
在board_init函数里面增加了nand_pad_config_mux
set_muxconf_regs();//按照模式1配置的gpmc D0-D16
//nor_pad_config_mux();nand_pad_config_mux();//新增,类似 GPMC_D0, MODE(1) | INPUT_EN | PULL_DIS},内部的上下拉都未使用
时钟是检测不出nand
cajviewer:
回复 Chris Meng:
1)启动的问题:
nand空的时候,串口可打出cccccc,应该是nand启动
ccs调试,一直是停在串口打印信息那块
void NS16550_putc (NS16550_t com_port, char c){ while ((serial_in(&com_port->lsr) & UART_LSR_THRE) == 0);//停在这里 serial_out(c, &com_port->thr);}
2)串口启动后,uboot检测问题
在board_init函数里面增加了nand_pad_config_mux
set_muxconf_regs();//按照模式1配置的gpmc D0-D16
//nor_pad_config_mux();nand_pad_config_mux();//新增,类似 GPMC_D0, MODE(1) | INPUT_EN | PULL_DIS},内部的上下拉都未使用
始终检测不出nand
cajviewer:
回复 cajviewer:
哦,自己有点东西搞错了
中间加了些打印,nand启动时,串口还没初始化,打印就停在那里了
还是原版程序,基本没动