JianyuWang0623 opened a new pull request, #18889:
URL: https://github.com/apache/nuttx/pull/18889

   *Note: Please adhere to [Contributing 
Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).*
   
   ## Summary
   
   ESP32-P4 boards use simple boot mode and do not have a separate
   second-stage bootloader, so there is no need to merge multiple
   binaries into a single padded image. The `CONFIG_ESPRESSIF_MERGE_BINS`
   option causes the build to produce a 16 MB padded image solely for
   unified flashing, which is unnecessary on these configs.
   
   This patch removes `CONFIG_ESPRESSIF_MERGE_BINS=y` from the following
   three `esp32p4-function-ev-board` defconfigs:
   
   - `configs/ethernet/defconfig`
   - `configs/i2schar/defconfig`
   - `configs/spislv/defconfig`
   
   After the change, `make flash` writes only the actual firmware
   (~380 KB) instead of the 16 MB padded image.
   
   ## Impact
   
   - **User**: `make flash` is significantly faster on the affected
     configs (~55 s -> ~4.5 s).
   - **Build**: No more `nuttx.merged.bin` is produced for these
     configs; the flashed artifact is `nuttx.bin` directly.
   - **Hardware**: ESP32-P4-Function-EV-Board only. Other ESP chips
     (ESP32, ESP32-S3, ESP32-C3, etc.) that rely on a true second-stage
     bootloader are not touched.
   - **Documentation / Security / Compatibility**: None.
   
   ## Testing
   
   Host: Ubuntu Linux, x86_64
   Board: ESP32-P4-Function-EV-Board
   
   1. Refreshed all three modified defconfigs with the upstream tool
      to make sure they are still normalized:
   
      ```
      $ ./tools/refresh.sh --silent esp32p4-function-ev-board:ethernet
        [1/1] Normalize esp32p4-function-ev-board:ethernet
      $ ./tools/refresh.sh --silent esp32p4-function-ev-board:i2schar
        [1/1] Normalize esp32p4-function-ev-board:i2schar
      $ ./tools/refresh.sh --silent esp32p4-function-ev-board:spislv
        [1/1] Normalize esp32p4-function-ev-board:spislv
      $ git status --short
      (no diff produced for any of the three defconfigs)
      ```
   
   2. Built and flashed each config; observed `make flash` writing only
      `nuttx.bin` (~380 KB) and the flashing time dropping from ~55 s
      to ~4.5 s. The boards boot normally and the corresponding
      functional tests (NSH, `i2schar`, `spislv`, ethernet ping) still
      pass.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to