我的板子上不用SD卡,从Flash启动。如果把SDC0相关的某些引脚(PF0-PF5)接上别的做IO口用,系统启动就要多花一两秒。如果完全不接这几个IO口,启动就很快。应该是F1C100s认为接了SD卡,先从SD启动,发现读不出数据再从Flash启动导致变慢。
所以我想问,SDC0的几个IO口要怎么接,才会不被当做接了SD卡?
离线
首先确认是不是brom的行为导致沿时,
如果是,普通用户只能瞎测试了,
估计原厂知道怎么避坑吧。
离线
我的板子上不用SD卡,从Flash启动。如果把SDC0相关的某些引脚(PF0-PF5)接上别的做IO口用,系统启动就要多花一两秒。如果完全不接这几个IO口,启动就很快。应该是F1C100s认为接了SD卡,先从SD启动,发现读不出数据再从Flash启动导致变慢。
所以我想问,SDC0的几个IO口要怎么接,才会不被当做接了SD卡?
首先要确定你的延时到底是在哪部分,说实话,BROM中多花1-2秒我是不信的。
离线
根据FLASH_MOSI上的信号来看,当PF1(SDC0_D0)接地时,上电后要1.x秒BROM才开始读SPI Flash。
当PF1接VCC或悬空时并没有问题,上电瞬间开始读Flash。
根据SD卡协议的资料 “……只要卡还在忙,DAT0线就会拉低,并且处于正在编程状态(Programming State)。”
所以推测是BROM根据SDC0_D0低电平判断SD卡正在忙,触发等待/重试,重试1s后放弃SD卡启动,才开始读Flash。
最近编辑记录 Quotation (2020-10-16 09:23:16)
离线