915d3e77c2a2a3a913866ca32ffc92ede42aa06d
SDK-dat/ESP-SDK-dat/ESP32-SDK-dat/ESP32-SDK-dat.md
| ... | ... | @@ -8,6 +8,9 @@ |
| 8 | 8 | |
| 9 | 9 | - [[esptool-dat]] |
| 10 | 10 | |
| 11 | +- [[data-storage-dat]] |
|
| 12 | + |
|
| 13 | + |
|
| 11 | 14 | ## other reference |
| 12 | 15 | |
| 13 | 16 | - [Enabling ESP32 Secure Boot V2 (SBV2)](https://www.hackster.io/syncom/enabling-esp32-secure-boot-v2-sbv2-df32d5) |
SDK-dat/ESP-SDK-dat/ESP8266-SDK-dat/ESP8266-SDK-dat.md
| ... | ... | @@ -60,6 +60,12 @@ esptool --chip esp8266 --port COM8 --baud 460800 write-flash -z --flash-mode dio |
| 60 | 60 | |
| 61 | 61 | - https://github.com/Edragon/esp_firmware |
| 62 | 62 | |
| 63 | + |
|
| 64 | + |
|
| 65 | + |
|
| 63 | 66 | ## ref |
| 64 | 67 | |
| 68 | + |
|
| 69 | +- [[memory-dat]] |
|
| 70 | + |
|
| 65 | 71 | - [[ESP8266-dat]] |
| ... | ... | \ No newline at end of file |
SDK-dat/ESP-SDK-dat/SPIFFS-dat/SPIFFS-dat.md
| ... | ... | @@ -1,70 +0,0 @@ |
| 1 | - |
|
| 2 | -# SPIFFS-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## file system arduino ide |
|
| 6 | - |
|
| 7 | -- [[arduino-ide-dat]] |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -the most simple solution is to use Arduino IDE 1.x when you need to upload a filesystem to your ESP32 board. The download links for Arduino IDE 1.x are listed here: |
|
| 11 | - |
|
| 12 | -https://www.arduino.cc/en/software#legacy-ide-18x |
|
| 13 | - |
|
| 14 | -https://github.com/me-no-dev/arduino-esp32fs-plugin |
|
| 15 | - |
|
| 16 | -It does these things using two command line tools: |
|
| 17 | - |
|
| 18 | -- [mkspiffs](https://github.com/igrr/mkspiffs) |
|
| 19 | -- [[esptool-dat]] |
|
| 20 | - |
|
| 21 | - |
|
| 22 | -### arduino-littlefs-upload |
|
| 23 | - |
|
| 24 | -and more spiffs support (new) |
|
| 25 | - |
|
| 26 | -https://github.com/earlephilhower/arduino-littlefs-upload |
|
| 27 | - |
|
| 28 | - |
|
| 29 | -### ESP32FS |
|
| 30 | - |
|
| 31 | -https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/ |
|
| 32 | - |
|
| 33 | -Go to the sketchbook location, and create a tools folder. |
|
| 34 | - |
|
| 35 | -4) Unzip the downloaded .zip folder. Open it and copy the ESP32FS folder to the tools folder you created in the previous step. You should have a similar folder structure: |
|
| 36 | - |
|
| 37 | -<Sketchbook-location>/tools/ESP32FS/tool/esp32fs.jar |
|
| 38 | - |
|
| 39 | -### SPIFFS Download |
|
| 40 | - |
|
| 41 | -Here are the most common methods to download files from SPIFFS on ESP32: |
|
| 42 | - |
|
| 43 | -#### 1. Using a Web Server (Recommended) |
|
| 44 | -- Run a web server on your ESP32 and access files via your browser. |
|
| 45 | -- **ESPAsyncWebServer Library**: Popular for asynchronous web servers. |
|
| 46 | -- **Example Sketches**: "FSBrowser" (File β Examples β WebServer) demonstrates serving/downloading files from SPIFFS. |
|
| 47 | -- **File Manager Libraries**: ESPFMfGK offers drag-and-drop web interfaces for SPIFFS management. |
|
| 48 | - |
|
| 49 | -**Steps:** |
|
| 50 | -1. Set up ESP32 as Wi-Fi Access Point or connect to your network. |
|
| 51 | -2. Upload a sketch with a web server to ESP32 (serves SPIFFS files). |
|
| 52 | -3. Open your browser and go to ESP32's IP address. |
|
| 53 | -4. Download files directly from the web interface. |
|
| 54 | - |
|
| 55 | -#### 2. Using a Dedicated File System Downloader |
|
| 56 | -- Projects like [`maxgerhardt/pio-esp32-esp8266-filesystem-downloader`](https://github.com/maxgerhardt/pio-esp32-esp8266-filesystem-downloader) let you download the entire SPIFFS image over serial. |
|
| 57 | -- Useful for debugging and backup. |
|
| 58 | - |
|
| 59 | -#### 3. Accessing Files via Serial Port (Text/Debug) |
|
| 60 | -- Read SPIFFS file contents and print to Serial Monitor. |
|
| 61 | -- Good for debugging or small text files. |
|
| 62 | -- Open Serial Monitor in Arduino IDE or other terminal to view output. |
|
| 63 | - |
|
| 64 | -#### 4. Third-Party Tools (ESP-IDF) |
|
| 65 | -- Tools like [`octopus-framework/spiffs-dumper`](https://github.com/octopus-framework/spiffs-dumper) can extract files from SPIFFS partitions using ESP-IDF. |
|
| 66 | -- Useful if you prefer not to use web servers or need offline access. |
|
| 67 | - |
|
| 68 | -## ref |
|
| 69 | - |
|
| 70 | -- [[SDK-dat]] - [[ESP-SDK-dat]] |
|
| ... | ... | \ No newline at end of file |
SDK-dat/OTA-dat/OTA-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# OTA-dat |
|
| 3 | + |
|
| 4 | +- [[ESP32-SDK-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/memory-dat/2025-08-07-12-41-17.png
| ... | ... | Binary files a/Tech-dat/memory-dat/2025-08-07-12-41-17.png and /dev/null differ |
Tech-dat/memory-dat/2025-08-07-12-42-03.png
| ... | ... | Binary files a/Tech-dat/memory-dat/2025-08-07-12-42-03.png and /dev/null differ |
Tech-dat/memory-dat/2025-08-07-12-49-24.png
| ... | ... | Binary files a/Tech-dat/memory-dat/2025-08-07-12-49-24.png and /dev/null differ |
Tech-dat/memory-dat/2025-08-07-14-49-31.png
| ... | ... | Binary files a/Tech-dat/memory-dat/2025-08-07-14-49-31.png and /dev/null differ |
Tech-dat/memory-dat/PSRAM-dat/2024-12-28-17-48-24.png
| ... | ... | Binary files a/Tech-dat/memory-dat/PSRAM-dat/2024-12-28-17-48-24.png and /dev/null differ |
Tech-dat/memory-dat/PSRAM-dat/PSRAM-dat.md
| ... | ... | @@ -1,41 +0,0 @@ |
| 1 | - |
|
| 2 | -# PSRAM-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -# β
What is PSRAM (Pseudo-static RAM)? |
|
| 6 | - |
|
| 7 | -**PSRAM** is a type of external memory that combines the **ease-of-use of SRAM** (no need for refresh) with the **cost and density of DRAM**. |
|
| 8 | - |
|
| 9 | -## π Characteristics: |
|
| 10 | -- Acts like SRAM to the system. |
|
| 11 | -- Internally uses DRAM-like technology. |
|
| 12 | -- Available on many SoCs like ESP32-WROVER (4MB/8MB PSRAM). |
|
| 13 | - |
|
| 14 | -## π§ Good Reasons to Use PSRAM: |
|
| 15 | - |
|
| 16 | -| Feature | Benefit | |
|
| 17 | -|---------------------|-------------------------------------------------------------------------| |
|
| 18 | -| β
**Large Memory** | ESP32 internal RAM is limited (~520KB), PSRAM gives extra space (4MB+). | |
|
| 19 | -| β
**Multimedia Buffers** | Needed for camera frames, audio streaming, image processing, etc. | |
|
| 20 | -| β
**Heap Allocation** | Useful for `malloc()`/`calloc()` in applications with large dynamic memory needs. | |
|
| 21 | -| β
**Caching / File Buffers** | Good for storing temporary web pages, images, JSON, etc. | |
|
| 22 | -| β
**Smooth UI/GUI** | Enables usage of libraries like LVGL for rich graphical interfaces. | |
|
| 23 | - |
|
| 24 | - |
|
| 25 | -## hook to ESP32 |
|
| 26 | - |
|
| 27 | -- [[SCM1030-dat]] |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | -| ESP32 | PSRAM | note | |
|
| 32 | -| ----- | ----- | ---- | |
|
| 33 | -| IO16 | CS | | |
|
| 34 | -| SD0 | SIO1 | | |
|
| 35 | -| SD1 | SIO0 | | |
|
| 36 | -| SD2 | SIO1 | | |
|
| 37 | -| SD3 | SIO2 | | |
|
| 38 | -| CLK | SCLK | | |
|
| 39 | - |
|
| 40 | -- [[PIR-dat]] |
|
| 41 | - |
Tech-dat/memory-dat/RAM-dat/DRAM-dat/DRAM-dat.md
| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | + |
|
| 2 | +# DRAM-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- [[ESP32-HDK-dat]] |
|
| 6 | + |
|
| 7 | +**Dynamic Random Access Memory (DRAM)** is a type of volatile memory that stores data in capacitors within integrated circuits. |
|
| 8 | + |
|
| 9 | +### Key Characteristics: |
|
| 10 | + |
|
| 11 | +- **Dynamic**: Requires periodic refreshing (every few milliseconds) because capacitors leak charge over time |
|
| 12 | +- **Volatile**: Data is lost when power is removed |
|
| 13 | +- **Random Access**: Any memory location can be accessed directly in any order |
|
| 14 | +- **High Density**: Can store more data per chip compared to SRAM |
|
| 15 | +- **Lower Cost**: Cheaper per bit than SRAM due to simpler cell structure |
|
| 16 | + |
|
| 17 | +### How DRAM Works: |
|
| 18 | + |
|
| 19 | +1. **Storage Cell**: Each bit is stored as charge in a tiny capacitor |
|
| 20 | +2. **Transistor Switch**: Controls access to the capacitor |
|
| 21 | +3. **Refresh Cycle**: Memory controller periodically reads and rewrites data to maintain charge |
|
| 22 | +4. **Row/Column Addressing**: Uses multiplexed addressing to reduce pin count |
|
| 23 | + |
|
| 24 | +### Types of DRAM: |
|
| 25 | + |
|
| 26 | +- **SDRAM**: Synchronous DRAM - synchronized with system clock |
|
| 27 | +- **DDR SDRAM**: Double Data Rate - transfers data on both clock edges |
|
| 28 | +- **DDR2/DDR3/DDR4/DDR5**: Successive generations with higher speeds and lower power |
|
| 29 | +- **LPDDR**: Low Power DDR for mobile devices |
|
| 30 | +- **GDDR**: Graphics DDR for video cards |
|
| 31 | + |
|
| 32 | +### Common Applications: |
|
| 33 | + |
|
| 34 | +- System RAM in computers and smartphones |
|
| 35 | +- Frame buffers in graphics cards |
|
| 36 | +- Buffer memory in networking equipment |
|
| 37 | +- Temporary storage in embedded systems |
|
| 38 | + |
|
| 39 | +### DRAM vs Other Memory Types: |
|
| 40 | + |
|
| 41 | +| Type | Speed | Cost | Density | Volatility | Refresh | |
|
| 42 | +| ------ | -------- | ------ | ------- | ------------ | ------------ | |
|
| 43 | +| DRAM | Medium | Low | High | Volatile | Required | |
|
| 44 | +| SRAM | High | High | Low | Volatile | Not Required | |
|
| 45 | +| Flash | Low | Medium | High | Non-volatile | Not Required | |
|
| 46 | +| EEPROM | Very Low | High | Low | Non-volatile | Not Required | |
|
| ... | ... | \ No newline at end of file |
Tech-dat/memory-dat/RAM-dat/PSRAM-dat/2024-12-28-17-48-24.png
| ... | ... | Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/PSRAM-dat/2024-12-28-17-48-24.png differ |
Tech-dat/memory-dat/RAM-dat/PSRAM-dat/PSRAM-dat.md
| ... | ... | @@ -0,0 +1,41 @@ |
| 1 | + |
|
| 2 | +# PSRAM-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +# β
What is PSRAM (Pseudo-static RAM)? |
|
| 6 | + |
|
| 7 | +**PSRAM** is a type of external memory that combines the **ease-of-use of SRAM** (no need for refresh) with the **cost and density of DRAM**. |
|
| 8 | + |
|
| 9 | +## π Characteristics: |
|
| 10 | +- Acts like SRAM to the system. |
|
| 11 | +- Internally uses DRAM-like technology. |
|
| 12 | +- Available on many SoCs like ESP32-WROVER (4MB/8MB PSRAM). |
|
| 13 | + |
|
| 14 | +## π§ Good Reasons to Use PSRAM: |
|
| 15 | + |
|
| 16 | +| Feature | Benefit | |
|
| 17 | +|---------------------|-------------------------------------------------------------------------| |
|
| 18 | +| β
**Large Memory** | ESP32 internal RAM is limited (~520KB), PSRAM gives extra space (4MB+). | |
|
| 19 | +| β
**Multimedia Buffers** | Needed for camera frames, audio streaming, image processing, etc. | |
|
| 20 | +| β
**Heap Allocation** | Useful for `malloc()`/`calloc()` in applications with large dynamic memory needs. | |
|
| 21 | +| β
**Caching / File Buffers** | Good for storing temporary web pages, images, JSON, etc. | |
|
| 22 | +| β
**Smooth UI/GUI** | Enables usage of libraries like LVGL for rich graphical interfaces. | |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +## hook to ESP32 |
|
| 26 | + |
|
| 27 | +- [[SCM1030-dat]] |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +| ESP32 | PSRAM | note | |
|
| 32 | +| ----- | ----- | ---- | |
|
| 33 | +| IO16 | CS | | |
|
| 34 | +| SD0 | SIO1 | | |
|
| 35 | +| SD1 | SIO0 | | |
|
| 36 | +| SD2 | SIO1 | | |
|
| 37 | +| SD3 | SIO2 | | |
|
| 38 | +| CLK | SCLK | | |
|
| 39 | + |
|
| 40 | +- [[PIR-dat]] |
|
| 41 | + |
Tech-dat/memory-dat/RAM-dat/RAM-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# RAM-dat |
|
| 3 | + |
|
| 4 | +- [[DRAM-dat]] - [[PSRAM-dat]] - [[SRAM-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-41-17.png
| ... | ... | Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-41-17.png differ |
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-42-03.png
| ... | ... | Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-42-03.png differ |
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-49-24.png
| ... | ... | Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-49-24.png differ |
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-14-49-31.png
| ... | ... | Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-14-49-31.png differ |
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/SDRAM-dat.md
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | + |
|
| 2 | +# SDRAM-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +## SDRAM - Synchronous Dynamic Random Access Memory == H5TQ4G63CFR-RDC |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +SCH |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +## DDR3 16BIT*2 |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## DDR4 - Double Data Rate 4 |
|
| 19 | + |
|
| 20 | +260P |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | +## ref |
|
| 28 | + |
|
| 29 | +- [[RAM-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/memory-dat/ROM-dat/ROM-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# ROM-dat |
|
| 3 | + |
|
| 4 | +- [[EEPROM-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/memory-dat/SPIFF-dat/SPIFF-dat.md
| ... | ... | @@ -0,0 +1,100 @@ |
| 1 | + |
|
| 2 | +# SPIFF-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## file system arduino ide |
|
| 9 | + |
|
| 10 | +- [[arduino-ide-dat]] |
|
| 11 | + |
|
| 12 | + |
|
| 13 | +the most simple solution is to use Arduino IDE 1.x when you need to upload a filesystem to your ESP32 board. The download links for Arduino IDE 1.x are listed here: |
|
| 14 | + |
|
| 15 | +https://www.arduino.cc/en/software#legacy-ide-18x |
|
| 16 | + |
|
| 17 | +https://github.com/me-no-dev/arduino-esp32fs-plugin |
|
| 18 | + |
|
| 19 | +It does these things using two command line tools: |
|
| 20 | + |
|
| 21 | +- [mkspiffs](https://github.com/igrr/mkspiffs) |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +- [[esptool-dat]] |
|
| 26 | + |
|
| 27 | + |
|
| 28 | +### arduino-littlefs-upload |
|
| 29 | + |
|
| 30 | +and more spiffs support (new) |
|
| 31 | + |
|
| 32 | +https://github.com/earlephilhower/arduino-littlefs-upload |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +### ESP32FS |
|
| 36 | + |
|
| 37 | +https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/ |
|
| 38 | + |
|
| 39 | +Go to the sketchbook location, and create a tools folder. |
|
| 40 | + |
|
| 41 | +4) Unzip the downloaded .zip folder. Open it and copy the ESP32FS folder to the tools folder you created in the previous step. You should have a similar folder structure: |
|
| 42 | + |
|
| 43 | +<Sketchbook-location>/tools/ESP32FS/tool/esp32fs.jar |
|
| 44 | + |
|
| 45 | +### SPIFFS Download |
|
| 46 | + |
|
| 47 | +Here are the most common methods to download files from SPIFFS on ESP32: |
|
| 48 | + |
|
| 49 | +#### 1. Using a Web Server (Recommended) |
|
| 50 | +- Run a web server on your ESP32 and access files via your browser. |
|
| 51 | +- **ESPAsyncWebServer Library**: Popular for asynchronous web servers. |
|
| 52 | +- **Example Sketches**: "FSBrowser" (File β Examples β WebServer) demonstrates serving/downloading files from SPIFFS. |
|
| 53 | +- **File Manager Libraries**: ESPFMfGK offers drag-and-drop web interfaces for SPIFFS management. |
|
| 54 | + |
|
| 55 | +**Steps:** |
|
| 56 | +1. Set up ESP32 as Wi-Fi Access Point or connect to your network. |
|
| 57 | +2. Upload a sketch with a web server to ESP32 (serves SPIFFS files). |
|
| 58 | +3. Open your browser and go to ESP32's IP address. |
|
| 59 | +4. Download files directly from the web interface. |
|
| 60 | + |
|
| 61 | +#### 2. Using a Dedicated File System Downloader |
|
| 62 | +- Projects like [`maxgerhardt/pio-esp32-esp8266-filesystem-downloader`](https://github.com/maxgerhardt/pio-esp32-esp8266-filesystem-downloader) let you download the entire SPIFFS image over serial. |
|
| 63 | +- Useful for debugging and backup. |
|
| 64 | + |
|
| 65 | +#### 3. Accessing Files via Serial Port (Text/Debug) |
|
| 66 | +- Read SPIFFS file contents and print to Serial Monitor. |
|
| 67 | +- Good for debugging or small text files. |
|
| 68 | +- Open Serial Monitor in Arduino IDE or other terminal to view output. |
|
| 69 | + |
|
| 70 | +#### 4. Third-Party Tools (ESP-IDF) |
|
| 71 | +- Tools like [`octopus-framework/spiffs-dumper`](https://github.com/octopus-framework/spiffs-dumper) can extract files from SPIFFS partitions using ESP-IDF. |
|
| 72 | +- Useful if you prefer not to use web servers or need offline access. |
|
| 73 | + |
|
| 74 | + |
|
| 75 | + |
|
| 76 | + |
|
| 77 | +## me-no-dev/arduino-esp32fs-plugin |
|
| 78 | + |
|
| 79 | +- https://github.com/me-no-dev/arduino-esp32fs-plugin |
|
| 80 | + |
|
| 81 | + |
|
| 82 | +Usage |
|
| 83 | + |
|
| 84 | +Open a sketch (or create a new one and save it). |
|
| 85 | + |
|
| 86 | +Go to sketch directory (choose Sketch > Show Sketch Folder). |
|
| 87 | + |
|
| 88 | +Create a directory named data and any files you want in the file system there. |
|
| 89 | + |
|
| 90 | +Make sure you have selected a board, port, and closed Serial Monitor. |
|
| 91 | + |
|
| 92 | +~~Select Tools > ESP32 Sketch Data Upload menu item.~~ This should start uploading the files into ESP32 flash file system. |
|
| 93 | + |
|
| 94 | +When done, IDE status bar will display SPIFFS Image Uploaded message. Might take a few minutes for large file system sizes. |
|
| 95 | + |
|
| 96 | + |
|
| 97 | + |
|
| 98 | +## ref |
|
| 99 | + |
|
| 100 | +- [[SDK-dat]] - [[ESP-SDK-dat]] |
Tech-dat/memory-dat/SPIFFS-dat/SPIFFS-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# SPIFFS-dat |
|
| 3 | + |
|
| 4 | +- [[spiff-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/memory-dat/data-storage-dat/data-storage-dat.md
| ... | ... | @@ -0,0 +1,49 @@ |
| 1 | + |
|
| 2 | +# data-storage-dat |
|
| 3 | + |
|
| 4 | +- [[memory-dat]] - [[NVS-dat]] - [[SPIFF-dat]] - [[SD-dat]] - [[EEPROM-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +- [[ESP32-SDK-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +## data storage |
|
| 13 | + |
|
| 14 | +- [[NVS-dat]] - [[SPIFF-dat]] - [[SD-dat]] |
|
| 15 | + |
|
| 16 | +| Method | Size Limit | Persistent after reset/power off? | Use Case | |
|
| 17 | +| -------------------------------------------- | ---------------------------------------------- | ---------------------------------- | --------------------------------------------------- | |
|
| 18 | +| **Global variables (RAM)** | Up to available RAM (~500KB) | β No | Temporary data while program is running | |
|
| 19 | +| **RTC RAM** | ~8 KB | β
Across reset, β across power off | Store small state info between deep sleep cycles | |
|
| 20 | +| **NVS (Non-Volatile Storage / Preferences)** | Keyβvalue pairs, ~4 KB per partition | β
Yes | Config values, Wi-Fi credentials, small settings | |
|
| 21 | +| **SPIFFS / LittleFS** | Depends on flash partition (100KBβ1MB typical) | β
Yes | Store files, logs, calibration data | |
|
| 22 | +| **SD Card** | GBs | β
Yes | Large data logging, images, audio | |
|
| 23 | +| **External EEPROM** | Varies (e.g. 4KBβ1MB chips) | β
Yes | Additional storage if onboard flash is insufficient | |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +### BLE Data Update Workflow (ESP32) |
|
| 27 | + |
|
| 28 | +- [[BLE-dat]] |
|
| 29 | + |
|
| 30 | +1. **ESP32 runs a BLE server** |
|
| 31 | + - Creates a characteristic for data transfer. |
|
| 32 | + |
|
| 33 | +2. **Phone/PC app connects via BLE** |
|
| 34 | + - Splits the file into small BLE packets (~20 bytes each). |
|
| 35 | + - Sends them to ESP32 characteristic. |
|
| 36 | + |
|
| 37 | +3. **ESP32 receives packets** |
|
| 38 | + - Reassembles them into a buffer. |
|
| 39 | + - Writes the buffer into SPIFFS/LittleFS (or NVS for small key-values). |
|
| 40 | + |
|
| 41 | +4. **Program reloads data** |
|
| 42 | + - Next time your code runs (or immediately after update), |
|
| 43 | + it reads the updated file/config from storage. |
|
| 44 | + |
|
| 45 | + |
|
| 46 | + |
|
| 47 | +## ref |
|
| 48 | + |
|
| 49 | +- [[memory-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/memory-dat/memory-dat.md
| ... | ... | @@ -7,71 +7,6 @@ |
| 7 | 7 | |
| 8 | 8 | |
| 9 | 9 | |
| 10 | -## DRAM |
|
| 11 | - |
|
| 12 | -- [[ESP32-HDK-dat]] |
|
| 13 | - |
|
| 14 | -**Dynamic Random Access Memory (DRAM)** is a type of volatile memory that stores data in capacitors within integrated circuits. |
|
| 15 | - |
|
| 16 | -### Key Characteristics: |
|
| 17 | - |
|
| 18 | -- **Dynamic**: Requires periodic refreshing (every few milliseconds) because capacitors leak charge over time |
|
| 19 | -- **Volatile**: Data is lost when power is removed |
|
| 20 | -- **Random Access**: Any memory location can be accessed directly in any order |
|
| 21 | -- **High Density**: Can store more data per chip compared to SRAM |
|
| 22 | -- **Lower Cost**: Cheaper per bit than SRAM due to simpler cell structure |
|
| 23 | - |
|
| 24 | -### How DRAM Works: |
|
| 25 | - |
|
| 26 | -1. **Storage Cell**: Each bit is stored as charge in a tiny capacitor |
|
| 27 | -2. **Transistor Switch**: Controls access to the capacitor |
|
| 28 | -3. **Refresh Cycle**: Memory controller periodically reads and rewrites data to maintain charge |
|
| 29 | -4. **Row/Column Addressing**: Uses multiplexed addressing to reduce pin count |
|
| 30 | - |
|
| 31 | -### Types of DRAM: |
|
| 32 | - |
|
| 33 | -- **SDRAM**: Synchronous DRAM - synchronized with system clock |
|
| 34 | -- **DDR SDRAM**: Double Data Rate - transfers data on both clock edges |
|
| 35 | -- **DDR2/DDR3/DDR4/DDR5**: Successive generations with higher speeds and lower power |
|
| 36 | -- **LPDDR**: Low Power DDR for mobile devices |
|
| 37 | -- **GDDR**: Graphics DDR for video cards |
|
| 38 | - |
|
| 39 | -### Common Applications: |
|
| 40 | - |
|
| 41 | -- System RAM in computers and smartphones |
|
| 42 | -- Frame buffers in graphics cards |
|
| 43 | -- Buffer memory in networking equipment |
|
| 44 | -- Temporary storage in embedded systems |
|
| 45 | - |
|
| 46 | -### DRAM vs Other Memory Types: |
|
| 47 | - |
|
| 48 | -| Type | Speed | Cost | Density | Volatility | Refresh | |
|
| 49 | -| ------ | -------- | ------ | ------- | ------------ | ------------ | |
|
| 50 | -| DRAM | Medium | Low | High | Volatile | Required | |
|
| 51 | -| SRAM | High | High | Low | Volatile | Not Required | |
|
| 52 | -| Flash | Low | Medium | High | Non-volatile | Not Required | |
|
| 53 | -| EEPROM | Very Low | High | Low | Non-volatile | Not Required | |
|
| 54 | - |
|
| 55 | - |
|
| 56 | -## SDRAM - Synchronous Dynamic Random Access Memory == H5TQ4G63CFR-RDC |
|
| 57 | - |
|
| 58 | - |
|
| 59 | - |
|
| 60 | -SCH |
|
| 61 | - |
|
| 62 | - |
|
| 63 | - |
|
| 64 | -## DDR3 16BIT*2 |
|
| 65 | - |
|
| 66 | - |
|
| 67 | - |
|
| 68 | -## DDR4 - Double Data Rate 4 |
|
| 69 | - |
|
| 70 | -260P |
|
| 71 | - |
|
| 72 | - |
|
| 73 | - |
|
| 74 | - |
|
| 75 | 10 | ## SDIO |
| 76 | 11 | |
| 77 | 12 |  |