Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

The FAT32 FS isn't working properly when writeback mode is turned on

Use 64M Flash to make FAT32 FS, open Writeback mode(NRF_BLOCK_DEV_QSPI_FLAG_CACHE_WRITEBACK), write 1M file "1.txt", "2.txt" in order, use Windows PC to check the prompt "1.txt" damaged.

Environment:SDK15 usbd_msc project

Parents
  • [00:00:00.041,076] <info> app:
    Creating filesystem...
    clst 32736
    sector 63, count 1
    addr 3000
    sector 69, count 1
    addr B000
    sector 70, count 1
    sector 64, count 1
    sector 95, count 2
    addr 8000
    addr 8200
    addr 8400
    ........
    addr 2B400
    addr 2B600
    addr 2B800
    addr 2BA00
    addr 2BC00
    addr 2BE00
    sector 0, count 1
    addr 30000
    [00:00:00.041,076] <info> app: Mounting volume...
    [00:00:00.041,076] <info> app: Done
    Creating random file: 000c.txt ...
    sector 351, count 1
    addr 4000
    sector 353, count 2
    addr 2B000
    addr 2B200
    addr 2B400
    addr 2B600
    .......
    addr 8800
    addr 8A00
    addr 8C00
    addr 8E00
    done

    This is part of my debugging information, "addr 3000" and "addr 4000" is caused by this problem, the next file will start with "addr c000", the file size is 1M Byte

Reply
  • [00:00:00.041,076] <info> app:
    Creating filesystem...
    clst 32736
    sector 63, count 1
    addr 3000
    sector 69, count 1
    addr B000
    sector 70, count 1
    sector 64, count 1
    sector 95, count 2
    addr 8000
    addr 8200
    addr 8400
    ........
    addr 2B400
    addr 2B600
    addr 2B800
    addr 2BA00
    addr 2BC00
    addr 2BE00
    sector 0, count 1
    addr 30000
    [00:00:00.041,076] <info> app: Mounting volume...
    [00:00:00.041,076] <info> app: Done
    Creating random file: 000c.txt ...
    sector 351, count 1
    addr 4000
    sector 353, count 2
    addr 2B000
    addr 2B200
    addr 2B400
    addr 2B600
    .......
    addr 8800
    addr 8A00
    addr 8C00
    addr 8E00
    done

    This is part of my debugging information, "addr 3000" and "addr 4000" is caused by this problem, the next file will start with "addr c000", the file size is 1M Byte

Children
No Data
Related