个别CC2530向SPI FLASH写入数据,程序跑飞。
时间:10-02
整理:3721RD
点击:
运行Z-stack,硬件为CC2530+华邦SPI FLASH。运行到向SPI FLASH写入数据时,除一个硬件出现异常,其余都成功。
出现异常的硬件如下:PC指针指向了一个不确定的位置。我的SPI采用CC2530的硬件SPI,驱动如下,速度4MHz。
/****************************************************************************** * @fn hal_SpiInit * * @brief SPI initial * * @param None. * * @return None. */ uint8 HalSpiWriteRead(uint8 wByte) { uint8 rByte = 0; U1CSR &= ~0x02; U1DBUF = wByte; while (!(U1CSR & 0x02)); rByte = U1DBUF; return rByte; }
通过断点调试,发现当CC2530快速擦除SPI FLASH后,如果立即写入数据,那么PC寄存器会指向一个不确定的位置。而且只出现在故障板上,我交换了一块正常板和一块故障板的FLASH芯片,发现故障板依然无法写入FLASH。
Aries,
从故障板会过去的SPI Flash是否可以正常工作,排除是CC2530的问题的还是SPI Flash的问题,
另外将故障板的CC2530和SPI Flash同时换到好的板子上面去,验证下是不是故障板的PCB板子有问题。
我们也是采用华邦的SPI flash 做OTA升级,但是数据读取不正常,数据全部是0。后在数据输入端增加上拉电阻,才可以读取正常。请问一下这个是什么问题?数据口是否必须上拉?有什么改善方法?
盼回复,谢谢