最近项目上使用到了SPI_Flash,使用的是
MX25L3206E,至于为什么不使用大家使用的W25QXX,我不知道,要问公司的硬件工程师
采用了FATFS文件系统进行文件管理,项目开发过程中一切都挺顺利,但是批量出产的时候发现了一个问题
100台设备里面出现了十几台设备系统跑不起来。
经过对设备的跟踪发现,是程序启动的时候会循环检查SPI_Flash的ID,一直是0xFF,所以系统停在这了,至于为什么会让程序死在这儿,工作需要,杠精请绕道
。
所以开始查找为什么会读不到ID,网上查找一通也没有找到具体原因,无非都是时序,硬件接口,这些问题大部分不存在。。。。
经过一天的看Datasheet,测试记录,发现是这个芯片有一个引脚NC/SIO3/HOLD,没有特殊要求,没有特别注意点,
但是这个引脚是连接到我们自己主板的CPU上了,但是并没有初始化它,
所以它在启动过程中是悬空的,电平状态不稳定,测试过程中当我每次把它连接到GND或者VCC或者只是触碰了一下,它就能正确读取到ID,
OK,原因找到了,那就把引脚初始化一个电平
问题解决!
总之,遇到问题还是需要多调试多测试,bug终究会解决的!
一周热门 更多>