LingYi 发表于 2013-11-28 09:30:49

请教compter 00 大哥以及各路豪杰。

本帖最后由 LingYi 于 2013-11-28 11:52 编辑

我使用LPC1768 + SPI FLASH 做U盘实验,使用的官方的例程移植的,目前基本成功了。但是出现了2个比较严重的问题。
1.在windows上格式化 U盘,不输入卷标 的时候,可以格式化成功。但是输入了 卷标,等很久后 windows提示无法格式化。
2.存储小的文件,500K左右的文件吧!读写都正常,但是文件一旦过大,文件就损坏了。 4M的盘格式化后有 3.78M 我存放 3.6M左右的 图片文件,存放进去,每次打开都提示图片损坏。

追问一个问题:
        计算机 是不是总是以扇区为单位来读取的数据,即使是要读取X扇区中的第Y字节,也必须把整个扇区的数据全部读走。

Halley 发表于 2013-11-28 09:51:09

compter 00不是哥

zgxcom123 发表于 2013-11-28 09:51:37

反复检查读写驱动部分
尤其要注意的是,spiflash通常4kb为一个读写扇区而其它介质例如tf卡则是512字节~ 因此相关的配置部分也得更改
我当时就因为驱动部分没做好,各种小错误,后来一点一点改正后跑得杠杠的

不过我是用stm32做的,所以没法再详细的给予指导,祝好运!

LingYi 发表于 2013-11-28 10:44:14

zgxcom123 发表于 2013-11-28 09:51
反复检查读写驱动部分
尤其要注意的是,spiflash通常4kb为一个读写扇区而其它介质例如tf卡则是512字节~ 因 ...

是的!使用的4K扇区读写,我写了个校验的,就是先格式化FLASH ,然后从0-255 写满FLASH ,再读出来比对,结果一个错误都没有。试过很多次了。我试试把速度给弄低一点呢。

LingYi 发表于 2013-11-28 10:59:45

zgxcom123 发表于 2013-11-28 09:51
反复检查读写驱动部分
尤其要注意的是,spiflash通常4kb为一个读写扇区而其它介质例如tf卡则是512字节~ 因 ...

问题好像我发现了
好像哪里可以配置设备是 直接存取(也就是给个地址 就可以直接读 写数据) 我移植的是 使用的内部RAM 来模拟的,很有可能是这样 配置的。
但是我忘记了 在哪里了。

LingYi 发表于 2013-11-28 15:36:11

zgxcom123 发表于 2013-11-28 09:51
反复检查读写驱动部分
尤其要注意的是,spiflash通常4kb为一个读写扇区而其它介质例如tf卡则是512字节~ 因 ...

把你的代码发我看一下吧!谢谢!

zgxcom123 发表于 2013-11-28 15:58:31

LingYi 发表于 2013-11-28 15:36
把你的代码发我看一下吧!谢谢!

我估计得周末回家才能发上来。。。而且我这个是st的库,你应该用不了的

LingYi 发表于 2013-11-29 10:06:17

zgxcom123 发表于 2013-11-28 15:58
我估计得周末回家才能发上来。。。而且我这个是st的库,你应该用不了的

谢谢!已经搞定了,上面描述的问题目前都OK!非常感谢支持!{:handshake:}

LingYi 发表于 2013-11-29 10:19:17

本帖最后由 LingYi 于 2013-11-29 10:20 编辑

结贴!所有的问题都是读写校验的问题。
确实是以扇区为单位读写的,以扇区地址开始,但是可以不是写满整个扇区。 读也一样。
页: [1]
查看完整版本: 请教compter 00 大哥以及各路豪杰。