打印

STM32用DMA写外挂NORFLASH出错

[复制链接]
1942|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
feilusia|  楼主 | 2013-8-15 15:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是安福莱的开发板,CPU是STM32F103ZET6,NOR是S29GL128P10FAI01.
貌似在写NORFLASH之前,需要发送一些解锁命令,如以下这样的:
  NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA);
  NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055);
  NOR_WRITE(ADDR_SHIFT(0x0555), 0x00A0);
由于芯片文档是英文的,那几条指令也看不太明白。有没人写过NORFLASH,是否发送一个数据就要写这几条命令?那这样DMA不是就无法使用了?还是说把这些命令包含到DMA要发送的数据缓冲区里去?
沙发
bbstr| | 2013-8-15 15:48 | 只看该作者
写完这些命令了,你就DMA搬运就可以了

使用特权

评论回复
板凳
feilusia|  楼主 | 2013-8-15 15:51 | 只看该作者
bbstr 发表于 2013-8-15 15:48
写完这些命令了,你就DMA搬运就可以了

我试过了,我先擦除,然后写这些命令,然后开DMA,发现只有第一个字节是对的,后面都是FF

使用特权

评论回复
地板
bbstr| | 2013-8-15 17:01 | 只看该作者
调整下dma时序,nor的反映速度没那快

使用特权

评论回复
5
feilusia|  楼主 | 2013-8-16 16:14 | 只看该作者
bbstr 发表于 2013-8-15 17:01
调整下dma时序,nor的反映速度没那快

不是时序的问题。后来我用金山词霸一句一句翻译芯片文档,发现那几句指令是单字节发送的。还有一类指令是可以连续发送64个字节的,在DMA发送之前加那几句指令就可以发送最多64个字节了。接收的还在做。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:1、博客:http://blog.csdn.net/feilusia 2、QQ群:STM8/STM32群(164311667);职场交流群(450154342);CC2640R2F群(557278427) 3、淘宝店:https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

135

主题

1956

帖子

94

粉丝