|

楼主 |
发表于 2022-5-21 13:35:46
|
显示全部楼层
本帖最后由 hpdell 于 2022-5-21 13:48 编辑
感谢感谢,确实是这样的,
之前的几个问题我也都搞定了,原来是我 把触摸屏的程序放在 定时器中断里面执行造成的后果,惭愧惭愧
另外还有个事情请教下,就是使用 格式化 后获取到的 信息很多时候都是不同的 ??
在格式化操作前都是整片芯片擦除的
_lx_nand_flash_fsmc_erase_all(); // 整片擦除的返回值都是 成功的
nand_total_block = (((_TOTAL_BLOCKS-1) * _PHYSICAL_PAGES_PER_BLOCK * _BYTES_PER_PHYSICAL_PAGE)
/ NAND_DISK_SECTOR_SIZE);
// 格式化一次即可
status = fx_media_format((FX_MEDIA *)&nand_disk, //指向媒体控制块的指针。 该参数仅用于提供驱动程序运行所需的一些基本信息
_fx_nand_flash_fsmc_driver, // Driver entry 指向此媒体的 I/O 驱动程序的指针。 这通常是提供给后续 fx_media_open 调用的同一个驱动程序。
FX_NULL, // Unused 指向 I/O 驱动程序可以使用的可选信息的指针
media_memory, // Media buffer pointer 指向媒体的工作内存的指针
MEDIA_MEMORY_SIZE, // Media buffer size 指定工作媒体内存的大小。 大小必须至少与媒体扇区的大小相同
"NAND_FLASH_DISK", // Volume Name 指向卷名称字符串的指针,最多为 11 个字符
1, // Number of FATs 媒体中的 FAT 数。 对于主 FAT,最小值为 1。 大于 1 的值会导致在运行时保留其他 FAT 副本。
32, // Directory Entries 根目录中目录条目的数目
0, // Hidden sectors 在此媒体启动扇区前隐藏的扇区数。 如果存在多个分区,则通常会出现这种情况
nand_total_block, // Total number of sectors 媒体中的扇区总数
4096, // Number of bytes per sector 每个扇区的字节数,通常为 512。 FileX 要求此数为 32 的倍数
1, // Sectors per cluster 每个群集中的扇区数。 群集是 FAT 文件系统中的最小分配单元
1, // Heads 物理磁头的数目
1); // Sectors per track 每个磁道的扇区数
输出信息 1:
User available NAND Flash disk space size before file is written: 17432576 bytes.
User available NAND Flash disk space size after file is written: 23612 bytes.
The test file occupied a total of 0 cluster(s) (0 per cluster).
输出信息2:
User available NAND Flash disk space size before file is written: 0 bytes.
User available NAND Flash disk space size after file is written: 604013280 bytes.
The test file occupied a total of 901111 cluster(s) (4096 per cluster).
输出信息3
User available NAND Flash disk space size before file is written: 0 bytes.
User available NAND Flash disk space size after file is written: 0 bytes.
The test file occupied a total of 0 cluster(s) (0 per cluster).
上述的 三种信息,貌似测试读写时时可以正常工作,就是不知道会有那些隐患没有啊 ??
按道理来说,条件都是 一样的情况下,怎么格式化后输出的 信息 差别那抹大啊 ???
|
|