最近基于正点原子的RT1052核心板设计了一个新的PCB板子,但是在挂载flash的时候出问题,如下图所示:
spi是正常的,我用它挂载了其他的设备,是可以正常工作的。
然后我用正点原子的开发板试了一下代码,发现是能够成功识别header,并且成功挂载flash的,但是在新板子上就不能。
我比较奇怪的地方在于,外置flash就在原子家的核心板上,我是直接拿了核心板做的PCB,按理说是可以正常使用的。有没有大佬指导一下,为什么会出现这样的情况,万分感谢。
SFUD_USING_SFDP 这个可以不使用的,取消掉这个定义也能用
引脚外面有上拉电阻吗?
进 sfud_sfdp.c 文件的 read_sfdp_header 函数,断点看一下 header 数组的值是多少,是全 F 还是其它值。每次都是随机值,是硬件的原因的可能性还是比较大的。
每种 spi 设备对 miso mosi 电气特性要求不一样,其它 spi 设备能工作并不能保证所有总线上的设备都兼容电气特性。
同一块儿核心板,在开发板上能工作,换其它母版上不工作,唯一可怀疑的就是两块母板的电气特性差异。还是值得接个外接上拉电阻试试的。
亲身经历,用示波器看着好好的波形,可就是结果不对,接上拉电阻就搞定了
您好,原子的核心板上包含了rt1052芯片和外置flash(W25Q256),所以我直接拿原子的核心板过来用的话,就不用再重新设计flash的电路。具体您可以看一下下图。
@小啊小林宝 那比较奇怪呀,MCU和flash都在核心板上,是相对独立的,而你核心板是直接拿来的,跟用自己的PCB或者是开发板应该无关才对。是不是你的PCB给核心板的供电有问题?
@小小李sunny 您好,确实是因为flash型号问题,感谢您的建议。