OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3518|回复: 1

使用FATFS把uni2oem写入Flash问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2012-7-21
在线时间
1 小时
发表于 2016-5-29 10:50:29 | 显示全部楼层 |阅读模式
5金钱
我在使用FATFS把SD卡里面的UNIGBK.bin写入到FLASH的时候,发现整个文件前面一段可以写进去,后面也能写进去。但是中间有一段写成0XFF。每次变为0xff的地方都是C255 FF08这边。如下图 微信截图_20160529100950.png 微信截图_20160529101030.png
问题分析
1:如果是中间一段没有那么意味着我的Flash读写程序没问题,同时我的flash读写地址也没有问题。
2:判读从SD读出来的数据有问题(尝试在FATFS读取SD卡之后写入Flash之前,发送从SD卡读出来的数据到串口,看到数据正常没有0XFF的数据。)
3:判断Flash有坏块(1:我的Flash是8M的,尝试把文件存在不同的地址里还是这种情况,2:不采用FATFS的方式写入FLASH,而是使用数组的方式,然后通过FLASH读写函数把数组写入FLASH的相应地址中,发现数据正常。说明没有FLASH没有坏块)
在验证这些问题的时候发现,我先使用FATFS把UNIGBK.bin写到FLASH之后再使用数组的方式写入,发现这一段一样没有办法写入数据。仅仅我使用了整片擦除的方式之后使用数组的方式才能把这段数据写入。
最后我的程序步骤是1:先进行整片擦除,2:跳过使用FATFS更新UNIGBK.bin程序//res=updata_fontx(x+20*size/2,y,size,pname,0);        3:进行数组方式更新。最后成功的完成了更新。
问题分析
4:我看到FATFS更新UNIGBK.bin时候就是把SD数据读出来之后直接写到FLASH,如果我读出来的数据没问题(问题分析2),那是由于什么原因导致我的FLASH读写不了了呢?为什么使用了FATFS之后,我使用数组的方式也没办法写入了呢?
我使用的FLASH是M25P64。




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-6-1 22:57:26 | 显示全部楼层
检查是不是批量写入的时候,地址计算有误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 08:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表