野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10064|回复: 4

FATFS文件移植时有700多KbyteCC936.c时为什么不报错呢

[复制链接]
发表于 2018-10-18 00:09:49 | 显示全部楼层 |阅读模式
我用stm32f103RBT6 flash 128K
添加CC936.c时出现报错,提示space 不够;
发现CC936.c有711K大小;
指南者和霸道的flash空间 是512K,怎么会不报错呢?优化的原因?
大神指点
回复

使用道具 举报

 楼主| 发表于 2018-10-18 00:40:48 | 显示全部楼层
DRESULT disk_write (
        BYTE pdrv,                          /* 设备物理编号(0..) */
        const BYTE *buff,        /* 欲写入数据的缓存区 */
        DWORD sector,                  /* 扇区首地址 */
        UINT count                          /* 扇区个数(1..128) */
)这个函数里的
      /* 扇区偏移2MB,外部Flash文件系统空间放在SPI Flash后面6MB空间 */
                        sector+=512;
      write_addr = sector<<12;   
      SPI_FLASH_SectorErase(write_addr);
      SPI_FLASH_BufferWrite((u8 *)buff,write_addr,count<<12);

这里只扇区擦除一次,如果写入扇区多于一个  ,会不会出错;
回复 支持 反对

使用道具 举报

发表于 2018-10-18 08:44:27 | 显示全部楼层
文件711k,但它的数组应该不够512大,你可以用sizeof看看那个数组有多大
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-18 10:58:07 | 显示全部楼层
嗯 最大的数组有170K多 ,就是说 文件有那么大,编译器优化后就没那么大了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-18 10:58:35 | 显示全部楼层
flyleaf 发表于 2018-10-18 08:44
文件711k,但它的数组应该不够512大,你可以用sizeof看看那个数组有多大

多谢
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-21 10:58 , Processed in 0.042763 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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