经过几天煎熬,昨天终于将FLASH调通了。
出问题的主要原因是:在调试FLASH之前,没有仔细检查地址线是否正常。
因为先前已经调通了SDRAM,所以检查数据线是很好办的,只要写入和读出一致就表明数据线没问题。
而地址线可以一次写入地址移位读出的办法判断是否正常,这个工作稍麻烦一些,所以没有做。
当时把精力放在软件的定时及FLASH操作序列正确性上,后来肉眼发现焊接上有问题,有两根地址线短路了。
另外,没有想到一个2MB的FLASH进行整片擦除居然需要将进20秒的时间。以至于在调试时我怀疑程序进入死循环了。耐心等待一会,才发现这个问题。
调试通过后,我很轻松地又给加了一个读DEVICE ID的函数。
考虑到以后的工作并不需要建立文件系统,所以没有加按页擦除的函数。
文章评论(0条评论)
登录后参与讨论