|
本帖最后由 flying1104 于 2021-10-20 15:32 编辑
MCU:STM32H743
系统:RTX5文件系统:FATFS V0.12C
卡:三星TF卡16G HC-I
测试FATFS读写的速度
现象:
写入
#define TEST_FILE_LEN (2*1024*1024)
大小的数据
#define BUF_SIZE (32*1024)
会出现Speed00.txt 无法读取的错误
然后修改
#define BUF_SIZE (512)
读写没有问题
继续修改
#define BUF_SIZE (768)
依然能够正确读写,不过过程中会卡顿一下
继续修改
#define BUF_SIZE (1024)
会出现Speed00.txt 无法读取的错误
环境:
- const osThreadAttr_t ThreadMsgPro_Attr =
- {
- .name = "osRtxMsgProThread",
- .attr_bits = osThreadDetached,
- .priority = osPriorityHigh3,
- .stack_size = 2048,
- };
复制代码- void AppTaskMsgPro(void *argument)
- {
- while(1)
- {
- DemoFatFS();
- }
- }
复制代码- MPU_InitStruct.Enable = MPU_REGION_ENABLE;
- MPU_InitStruct.BaseAddress = 0x24000000;
- MPU_InitStruct.Size = MPU_REGION_SIZE_512KB;
- MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
- MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
- MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
- MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
- MPU_InitStruct.Number = MPU_REGION_NUMBER0;
- MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
- MPU_InitStruct.SubRegionDisable = 0x00;
- MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE;
- HAL_MPU_ConfigRegion(&MPU_InitStruct);
复制代码- Stack_Size EQU 0x00005000
- Heap_Size EQU 0x0005800
复制代码
请问造成读写出错/读写慢的因数有哪些?
|
|