RepositoryC
elehobica

elehobica/pico_fatfs

FatFs library for Raspberry Pi Pico / Pico 2 with SPI interface

69sao
17fork
2issue
0lượt xem

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: fatfs

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: exfat

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: raspberry-pi-pico-2

#1 Repository Của Tuần

📦 FatFs cho Raspberry Pi Pico/Pico 2 — SPI & SPI PIO双模式, hỗ trợ exFAT

Thư viện FatFs chính thống R0.15 được port sẵn cho RP2040/RP2350, cho phép chọn SPI hardware (tốc độ cao) hoặc SPI PIO (gán chân tự do) chỉ bằng một lệnh cấu hình.

pico_fatfs là bản port của thư viện FatFs nổi tiếng của Elm-Chan (phiên bản R0.15) lên nền tảng Raspberry Pi Pico (RP2040) và Pico 2 (RP2350). Dự án cung cấp sẵn lớp trừu tượng SPI hai chế độ: dùng khối SPI hardware gốc của vi điều khiển khi chân gán tuân theo quy ước, hoặc tự động chuyển sang SPI PIO (lập trình I/O có thể lập trình) khi cần gán chân tùy ý. Hỗ trợ đầy đủ các loại thẻ SD/SDHC/SDXC và hệ thống tệp FAT16, FAT32, exFAT — phù hợp cho ghi log dữ liệu, lưu hình ảnh, firmware update hoặc bất kỳ ứng dụng nhúng nào cần lưu trữ cục bộ tin cậy. Mã nguồn đi kèm project test benchmark tốc độ đọc/ghi, sơ đồ mạch tham chiếu và hướng dẫn build chi tiết cho cả Linux/macOS và Windows.

✨ Điểm nổi bật

  • Hai chế độ SPI: SPI hardware (spi0/spi1) cho hiệu năng tối đa, SPI PIO (NULL) cho gán chân tự do — chuyển đổi tự động qua pico_fatfs_set_config().
  • Hỗ trợ exFAT: Bổ sung định dạng exFAT bên cạnh FAT16/FAT32, cho phép lưu tệp >4 GB trên thẻ SDXC.
  • Tương thích Pico & Pico 2: Đã test trên RP2040 (Pico/Pico W) và RP2350 (Pico 2/Pico 2W).
  • Cấu hình clock linh hoạt: clk_slow 100 kHz (khởi tạo) và clk_fast 50 MHz (vận hành), tần số thực tế tối đa 31.25 MHz (RP2040) / 37.5 MHz (RP2350) cho SPI hardware, 20.83 / 25 MHz cho SPI PIO.
  • Pull-up nội bộ/ngoài: Bật/tắt pull-up cho MISO/MOSI qua tham số pullup trong cấu hình.
  • GPIO yếu tố yếu: Cảnh báo độ dài dây nối Pico–thẻ SD rất nhạy cảm, khuyến nghị dây ngắn để tránh lỗi Mount/Preallocation/Write fail.
  • Benchmark sẵn có: Project test đo tốc độ đọc/ghi thực tế giúp đánh giá hiệu năng trước khi tích hợp.
  • Build hệ thống Pico SDK chuẩn: Hướng dẫn clone pico-sdk, pico-examples, pico-extras cùng cấp, biến môi trường PICO_SDK_PATH/EXTRAS_PATH/EXAMPLES_PATH, xác nhận với Pico SDK 2.1.1.

💡 Vì sao đáng chú ý

Khác với việc tự port FatFs thủ công — thường mất thời gian xử lý driver SPI, timing, và port layer disk I/O — pico_fatfs đã gói gọn mọi thứ thành một thư viện CMake sẵn sàng add_subdirectory(). Điểm mạnh nhất là cơ chế tự chọn SPI hardware hoặc SPI PIO dựa trên gán chân: bạn chỉ khai báo chân mong muốn, thư viện tự quyết định dùng khối SPI cứng (nhanh hơn) hay PIO (linh hoạt hơn) và trả về kết quả qua giá trị trả về của pico_fatfs_set_config(). Điều này cho phép thiết kế PCB tự do bố trí chân SD card mà không lo hiệu năng bị giảm sút khi vẫn dùng được SPI hardware. Hỗ trợ exFAT out-of-the-box cũng loại bỏ rào cản 4 GB tệp tin của FAT32 — rất quan trọng cho ứng dụng ghi video, audio hoặc dataset lớn trên thiết bị nhúng. Dự án phù hợp cho firmware data logger, camera trap, bộ thu GPS, hoặc bất kỳ dự án RP2040/RP2350 nào cần lưu trữ tin cậy, hiệu năng cao, và dễ tích hợp vào quy trình build Pico SDK hiện có.


#FatFs #RaspberryPiPico #RP2040 #RP2350 #EmbeddedStorage #exFAT #SPI #PIO #TiniX

Dự án tương tự

Khám phá các dự án và mô hình AI khác có sự tương đồng.

RepositoryC++
elehobica/RPi_Pico_WAV_Player

Hi-Res WAV player for Raspberry Pi Pico / Pico 2

226
Aug 26, 2026
RepositoryC
earlephilhower/BackgroundAudio

Arduino library for easy, interrupt driven speech, MP3, AAC, and WAV playback on the Raspberry Pi Pico RP2040, Pico 2 RP2350, and ESP32

151
Oct 8, 2026
RepositoryForth
tabemann/zeptoforth

A not-so-small Forth for Cortex-M

357
Oct 27, 2026
RepositoryC
polpo/picogus

Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support

803
Oct 2, 2026
RepositoryC
tuupola/hagl

Hardware Agnostic Graphics Library for embedded

474
Oct 12, 2026
RepositoryC
jblanked/Picoware

Open-source custom firmware for PicoCalc, Cardputer ADV, Flipper Zero, POOM, and other ESP32/Raspberry Pi Pico devices

358
Oct 25, 2026
RepositoryC
xrip/pico-286

RP2040/RP2350 286 PC emulator for MURMULATOR dev board

321
Aug 21, 2026
RepositoryC
steve-m/Pico-100BASE-TX

Bit-banged 100 MBit/s Fast Ethernet transmitter and UDP framer for Raspberry Pi RP2040/RP2350

296
Dec 3, 2025
RepositoryC
polpo/rp2040-psram

A header-only C library to allow access to SPI PSRAM via PIO on the RP2040 microcontroller.

193
Apr 13, 2026