GD32裸机移植FILEX ,levelx为nand flash的磨损均衡层 , fx_media_open返回值错误
fx_media_open(&nand , "GD_NAND" , fx_nand_flash_driver , NULL , work , sizeof(work));这一行代码为什么返回值是0x21FX_BUFFER_ERROR啊
这个错误应该是配置有点问题。 ret = fx_media_format(
&nand, //media pointer
fx_nand_flash_driver, //Driver Entry
FX_NULL , //Information Pointer
work , //media memory ptr
sizeof(work), //memory size
"MY_NAND" , //volume_name
1, //Number of FAT tables
32, //Number of directory entries
0, //Number of hidden sectors
65536, //Total number of sectors
2048 , //Number of bytes per sector
1 , //Number of sectors per cluster
1 , //Number of heads
1); //Number of sectors per track
我的nand flash是128MB的,一页是2048B,一块有64页,一共1024块,我这样子格式化对吗 eric2013 发表于 2022-10-17 10:39
这个错误应该是配置有点问题。
硬汉哥,我想问一下fx_media_format这个函数只需要调用一次就好了吗,之后就可以直接用fx_media_open来打开文件系统,不需要在format了 Ash1n 发表于 2022-10-17 13:42
ret = fx_media_format(
&nand, //media pointer
fx_nand_flash_driver, //Driver Entry ...
看着没什么问题。 Ash1n 发表于 2022-10-18 11:23
硬汉哥,我想问一下fx_media_format这个函数只需要调用一次就好了吗,之后就可以直接用fx_media_open来打 ...
对,仅需一次就行。不用每次上电都来一次。 eric2013 发表于 2022-10-18 13:11
看着没什么问题。
#ifndef FX_DISABLE_CACHE
/* Determine how many logical sectors can be cached with user's supplied
buffer area - there must be at least enough for one sector!*/
media_ptr -> fx_media_sector_cache_size =memory_size / media_ptr -> fx_media_bytes_per_sector;
/* Is there at least one?*/
if (media_ptr -> fx_media_sector_cache_size == 0)
{
/* Build the "uninitialize" I/O driver request.*/
media_ptr -> fx_media_driver_request = FX_DRIVER_UNINIT;
media_ptr -> fx_media_driver_status = FX_IO_ERROR;
/* If trace is enabled, insert this event into the trace buffer.*/
FX_TRACE_IN_LINE_INSERT(FX_TRACE_INTERNAL_IO_DRIVER_UNINIT, media_ptr, 0, 0, 0, FX_TRACE_INTERNAL_EVENTS, 0, 0)
/* Call the specified I/O driver with the uninitialize request.*/
(media_ptr -> fx_media_driver_entry) (media_ptr);
/* Error in the buffer size supplied by user.*/
return(FX_BUFFER_ERROR);
}
在fx_media_open.c文件里的343行下面的代码,fx_media_bytes_per_sector被设为FF,导致返回值为FX_BUFFER_ERROR,应该怎么解决啊,我的fx_user.h里的内容就设置了FX_STANDALONE_ENABLE、FX_SINGLE_THREAD、FX_NO_LOCAL_PATH、FX_NO_TIMER,还需要添加什么吗 您好,我现在也遇到这个问题了,请问您是怎么解决的
页:
[1]