Commit Graph

246 Commits

Author SHA1 Message Date
Martin Vychodil
c17ec317ef Merge branch 'feat/generic_partition_bdl_example' into 'master'
feat(storage): Add generic partition BDL example

Closes IDF-15980

See merge request espressif/esp-idf!50305
2026-09-08 21:02:54 +08:00
Adam Múdry
98fee5a68a feat(storage): Add generic partition BDL example
Add an example under examples/storage/generic_partition_bdl that
partitions a raw block device at run time using only the Block Device
Layer (BDL) interface.

The example obtains a whole-disk BDL (SPI flash data partition by
default, or an SD/eMMC card via menuconfig), writes an MBR partition
table onto it with the esp_ext_part_tables managed component (fetched
via idf_component.yml), then creates a generic-partition BDL for each
MBR entry with esp_blockdev_generic_partition_get() and mounts FATFS on
the FAT slice and LittleFS on the LittleFS slice.
2026-09-08 14:38:16 +02:00
Martin Vychodil
4cce27e1cc Merge branch 'fix/sdmmc_dma_aligned_buffer_leak' into 'master'
fix(sdmmc): release aligned buffer on card deinit

Closes IDF-16031 and DOC-15562

See merge request espressif/esp-idf!51530
2026-08-28 13:57:05 +08:00
Adam Múdry
e0c094da69 fix(sdmmc): release aligned DMA buffer on card deinit 2026-08-27 12:00:24 +02:00
renpeiying
0a3f2d7ff2 docs(nvs_flash): update CN translation 2026-08-14 09:25:24 +02:00
sonika.rathi
5394a30873 docs(nvs_flash): add C++ NVS handle API documentation
Closes https://github.com/espressif/esp-idf/issues/10283
2026-08-13 15:42:18 +08:00
Marius Vikhammer
4d332f710e docs(kconfig): update kconfig ref links to use menuitem 2026-08-11 11:19:45 +02:00
Michael (XIAO Xufeng)
b12870c43d Merge branch 'sdio-example-4bit-bringup' into 'master'
example(sdio_slave): add docs and examples for SI testing

See merge request espressif/esp-idf!49371
2026-08-05 16:48:38 +08:00
Michael.B
0d9193fa98 feat(sdio): add hw_test example for signal integrity checks 2026-08-05 13:22:15 +08:00
Zhang Shuxian
f9ba81e396 docs: Update CN translation for nvs_flash.rst 2026-08-03 11:39:48 +08:00
radek.tandler
56a01ca822 docs(nvs_flash): improved description of NVS space consumption
- Improved description of space required to store data types into NVS partition
  - Example showing nvs statistics extended with a code demonstrating the fragmentation effect
2026-08-03 11:39:47 +08:00
Tomas Rohlinek
dfd2e6b6f7 fatfs: add read_only flag to esp_vfs_fat_mount_config_t 2026-06-26 09:16:26 +02:00
Tomáš Rohlínek
a9f545bcea feat(esp_blockdev): add build-time ioctl command reservation overlap checker 2026-06-16 11:38:22 +02:00
Guillaume Souchere
62a28e250f feat(lwip): replace --wrap linker hacks with proper VFS registration on linux builds
The Linux LWIP port was using --wrap linker flags to intercept read,
write, close, fcntl and select, routing socket FDs (>= LWIP_SOCKET_OFFSET)
to lwip_*() functions. This conflicted with the dlsym(RTLD_NEXT)
cooperative syscall interposition used by the new FreeRTOS Linux
simulator.

Replace the --wrap approach with esp_vfs_register_fd_range(), matching
how LWIP already integrates with VFS on bare-metal ESP32 targets.
The cooperative read()/write() wrappers in vfs_coop_syscalls.c check
VFS first, so LWIP FDs are dispatched to lwip_read() etc. before the
cooperative fallback path is reached.
2026-06-04 11:36:34 +02:00
Radek Tandler
5c8f5fc66d Merge branch 'feature/nvs_fd_support' into 'master'
feat(nvs_flash): Added support for storing flash and double types

Closes IDFGH-9857

See merge request espressif/esp-idf!47045
2026-04-15 11:03:57 +02:00
Zhang Shuxian
9263b4bdba docs: Update CN translation for partition 2026-04-13 11:05:19 +08:00
Adam Múdry
749c446a7e feat(esp_partition): Add esp_partition_flash_binary() CMake function
Add a new CMake function esp_partition_flash_binary() that provides a
unified API for registering partition data binaries to be flashed. It
replaces the direct esptool_py_flash_target calls scattered across
components (spiffs, fatfs, nvs_flash) with a single function that:

- Resolves partition offset from the partition table automatically
- Determines encryption requirements (auto-detect or ALWAYS_PLAINTEXT)
- Creates per-partition flash targets (e.g. idf.py <partition>-flash)
- Optionally includes the binary in `idf.py flash` via FLASH_IN_PROJECT

On the linux target, the function registers binaries for pre-loading
into the emulated flash. A build-time manifest (linux_flash_data.txt)
is generated via file(GENERATE), and partition_linux.c reads it at
runtime to copy each binary into the memory-mapped flash buffer at
the correct offset.

The partition_ops example is updated to use the new function and
includes a custom_partition with pre-built data to demonstrate the
full workflow, including on the linux target.
2026-04-10 15:22:50 +02:00
Martin Vychodil
7043fb0d14 feat(fatfs): Added BDL support to FatFS component 2026-04-07 07:11:21 +02:00
radek.tandler
a5443bbb94 feat(nvs_flash): Added support for storing flash and double types
- added backward compatibility test for unknown NVS entry types
 - axtended documentation with the support of double and float
2026-03-31 19:02:43 +02:00
Zhang Shuxian
0dd5d8f726 docs: Provide translation for fatfs docs 2026-03-31 10:24:48 +08:00
Tomáš Rohlínek
917e0fd255 docs(storage/fatfs): Fix problem with FatFs refactor 2026-03-31 10:20:49 +08:00
Tomáš Rohlínek
4af8f201b9 docs(storage/fatfs): Refactor FatFs documentation 2026-03-31 10:20:49 +08:00
Tomáš Rohlínek
a07d018409 docs(storage/fatfs): Update LFN default and dynamic buffers docs 2026-03-31 10:20:49 +08:00
Tomas Rohlinek
03086cb4a5 Merge branch 'feature/add_blockdev_docs' into 'master'
feat(storage/blockdev): Add documentation including contracts for operations

Closes IDF-12759

See merge request espressif/esp-idf!43156
2026-03-26 16:17:17 +01:00
Tomáš Rohlínek
d8e3106134 feat(storage/blockdev): Add documentation including contracts for operations 2026-03-26 12:20:35 +01:00
Zhang Shuxian
38fea8472a docs: Update CN translation for nvs_flash 2026-03-23 16:35:56 +08:00
radek.tandler
30e598a5a1 docs(storage/nvs_flash): Improved NVS documentation
- Added documentation of BDL support in NVS
 - Documentation structure was adjusted and refined for better clarity
2026-03-19 09:31:52 +01:00
Adam Múdry
653cea9c94 fix(sdmmc): Multi-block read/writes support refactor + tests and documentation added 2026-03-16 13:33:03 +01:00
Tomáš Rohlínek
405b82921d feat(storage/vfs): Document context-less API deprecation 2026-03-11 11:04:34 +01:00
radek.tandler
123de681bd fix(doc): Documentation of NVS HMAC encryption adjusted 2026-03-05 11:50:41 +01:00
Tomáš Rohlínek
96f820e535 feat(storage/fatfs): Allow fatfs buffers to be aligned for DMA access 2026-02-25 12:50:20 +01:00
radek.tandler
d50c7b4b6b feat(nvs_flash): Added purging of erased items at namespace level
- Added new option NVS_READWRITE_PURGE for nvs_open. All update and erase operations of
    the handle are wiping out the content erased items on top of just marking them erased.
  - Added new API call nvs_purge_all allowing to wipe out the existing erased items
    of the handle.
2026-02-05 11:07:43 +01:00
Zhang Shuxian
1ae27538a0 docs: Update translation for flash erase 2026-01-13 11:22:16 +08:00
radek.tandler
7dca5f208f feat(nvs_flash): Added option enabling verification of flash erase operation - doc 2026-01-09 11:14:09 +08:00
armando
3a50531dab fix(sdmmc): fixed header structure not shown in doc issue 2025-12-23 18:47:42 +08:00
Tomáš Rohlínek
8c9d62de98 feat(storage/vfs): Remove old API usage 2025-12-16 17:48:55 +08:00
Zhang Shuxian
f13c16e031 docs: Update CN translation for NVS statistics example 2025-11-10 12:18:31 +01:00
Martin Havlik
ca16bf9c68 docs(examples/storage): Add docs entries for 2 new NVS examples
Extend the existing mentions of NVS examples with 2 newly added
`nvs_statistics` and `nvs_iteration`.
2025-11-10 12:18:31 +01:00
Tomáš Rohlínek
4568f6c776 fix(storage/vfs): Fix typo in code snippet in docs 2025-10-15 10:08:52 +02:00
Peter Dragun
e3198fff3c feat: Update esptool to v5 2025-09-30 15:28:55 +02:00
Laukik Hase
f565fc2481 change(nvs_flash): Add a private dependency of the nvs_sec_provider component
- Closes https://github.com/espressif/esp-idf/issues/17256
2025-09-19 10:17:46 +05:30
Chen Jichang
5909a4d685 remove(essl): remove essl related files 2025-07-03 11:36:45 +08:00
armando
77ae2808b0 refactor(sd): port legacy sd driver with NG driver 2025-05-15 10:57:45 +08:00
Laukik Hase
c16fc04c2d docs(esp_tee): Revise TEE secure storage and related documentation 2025-05-04 18:22:22 +05:30
sonika.rathi
b077caeebc refactor(examples/storage): update document links 2025-04-03 14:21:11 +02:00
Adam Múdry
d8ebca368c feat(nvs): Allow read-only NVS partitions smaller than 0x3000
E.g. for factory settings data

Closes https://github.com/espressif/esp-idf/issues/15317
2025-03-27 15:50:27 +08:00
Adam Múdry
58fbcfb407 Merge branch 'feat/ff_fs_nofsinfo_kconfig' into 'master'
feat(fatfs): Add an option to set FF_FS_NOFSINFO value

Closes IDFGH-14467

See merge request espressif/esp-idf!36592
2025-03-20 20:18:52 +08:00
Zhang Shuxian
a080ce9fad docs: Provide CN translation for nvs bootloader and fix broken link 2025-02-28 19:09:52 +08:00
Zhang Shuxian
26078bbf9a docs: Update CN translation for fatfs 2025-02-26 10:04:26 +08:00
Zhang Shuxian
c9183973cc docs: Update CN translation for fatfs 2025-02-21 21:39:44 +08:00