# rp-pico-littlefs-flash-storage **Repository Path**: sndnvaps/pico-FlashStorage ## Basic Information - **Project Name**: rp-pico-littlefs-flash-storage - **Description**: 基于rp2040-hal@0.11.0 & littlefs2等rust crates构建的Littlefs-FlashStorage示例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-14 - **Last Updated**: 2026-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pico-FlashStorage Raspberry Pi Pico Flash 存储驱动,基于 LittleFS 文件系统。 ## 项目简介 pico-FlashStorage 是一个为 Raspberry Pi Pico 设计的嵌入式 Flash 存储驱动库,实现了 `littlefs2` 的 Storage trait,能够在 Pico 的外部 Flash 芯片上提供持久化存储功能。 ## 功能特性 - **LittleFS 文件系统支持**:基于 littlefs2 实现磨损均衡和掉电安全 - **Flash 驱动**:支持 PAGE/SECTOR/BLOCK32/BLOCK64 擦除命令 - **UF2 格式支持**:可将文件系统镜像转换为 UF2 格式用于 USB 烧录 - **Boot2 引导加载**:内置 RP2040 通用引导加载器 ## 硬件要求 - Raspberry Pi Pico / Pico H - 至少 512KB 可用 Flash 空间(推荐) ## 快速开始 ### 构建(需要安装clang 22.1 x64版本,rustup安装stable-x86_64-pc-windows-gnu之类的编译工具链) ```bash cargo build --release ``` ### 烧录固件 1. 将 Pico 进入 UF2 烧录模式(按住 BOOT 按钮上电) 2. 烧录pico-FlashStorage固件 ```bash $picotool load target\thumbv6m-none-eabi\release\rp2040-LittleFS-FlashStorage-example -t elf -f ``` 3. 烧录littlefs2_500kb.uf2文件 ```bash $picotool load littlefs\littlefs2_500kb.uf2 -f ``` 4. 重启设备 ```bash $picotool reboot ``` ### 在代码中使用 ```rust use pico_flash_storage::FlashStorage; let mut storage = FlashStorage::new(0x10180000, 2 * 1024 * 1024); // 使用 littlefs2_mount 进行文件系统挂载 ``` ## LittleFS 镜像生成 如需自定义 LittleFS 镜像,可使用 littlefs2-tool: ```bash $cargo install littlefs2-tool ``` ## 项目结构 ``` ├── src/main.rs # FlashStorage 驱动实现 ├── littlefs/ # LittleFS 镜像文件 │ ├── littlefs2_500kb.bin │ ├── littlefs2_500kb.uf2 │ ├── littlefs2.toml # Littlefs镜像文件的相关定义 ├── littlefs/uf2conv.py # UF2 格式转换工具 └── memory.x # 内存布局配置 ``` ## 依赖 - `rp2040-boot2` - RP2040 引导加载器 - `littlefs2` - LittleFS 文件系统 - `rp2040-hal` - Raspberry Pi Pico HAL ## 许可证 MIT License