完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用了 FileX & Level_X
nor-flash 是 128MBit 扇区大小是 4096 字节。 但是我发现每个文件只能保存 512 字节的数据。 我读了 nor-flash 程序员写的 nor-flash。 超过 512 字节的数据丢失。有谁知道让fx_file_write可以将超过512字节或1K 2K~1M的数据写入一个文件的 正确方法吗? |
|
相关推荐
1个回答
|
|
要使用FileX_LevelX存储超过512字节的数据,需要了解以下几点:
1. FileX默认的块大小是512字节,因此单个文件最大只能存储512字节的数据。要存储更大的数据,需要在创建文件时指定更大的块大小。例如: ```c #define MAX_BLOCK_SIZE (4096) // 扇区大小 #define MAX_FILE_SIZE (1024*1024) // 最大1MB FX_FILE file1; char file_buffer[MAX_FILE_SIZE]; UINT status = fx_file_create(&g_file_system, &file1, "file1.txt", FX_OPEN_FOR_WRITE, FX_512_BYTE_TRANSFER, MAX_BLOCK_SIZE); ``` 上面的代码创建了一个名为"file1.txt"的文件,使用了最大块大小(MAX_BLOCK_SIZE),最大文件大小为1MB(MAX_FILE_SIZE)。 2. 在写入数据时,要保证写入的数据不超过所使用的块大小。例如: ```c UINT bytes_written; status = fx_file_write(&file1, file_buffer, 1024, &bytes_written); ``` 上面的代码将1024字节的数据写入到文件中。如果块大小为512字节,则要分两次写入。 3. 在读取数据时,同样要考虑所使用的块大小。例如: ```c UINT bytes_read; status = fx_file_read(&file1, file_buffer, 1024, &bytes_read); ``` 上面的代码将从文件中读取1024字节的数据。如果块大小为512字节,则要分两次读取。 综上所述,要使用FileX_LevelX存储超过512字节的数据,需要在创建文件时指定更大的块大小,并在读写数据时注意所使用的块大小。 |
|
|
|
只有小组成员才能发言,加入小组>>
1990个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36660 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
6155 浏览 1 评论
6358 浏览 1 评论
7001 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4403 浏览 0 评论
777浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
783浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
860浏览 2评论
966浏览 2评论
1131浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-4-6 23:48 , Processed in 0.566723 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191