nuttxpr commented on PR #3068:
URL: https://github.com/apache/nuttx-apps/pull/3068#issuecomment-2847343712

   [**\[Experimental Bot, please feedback 
here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues)
   
   
   
   This PR description is a good start but could be improved to better meet the 
NuttX requirements. Here's a breakdown of what's good and what needs 
improvement:
   
   **Strengths:**
   
   * **Clear explanation of the "why":** The rationale behind the changes 
(progress reporting and RAM copy) is well-articulated.
   * **Detailed "how":** The implementation details, including the new 
functions and Kconfig options, are described sufficiently.
   * **Testing context provided:** You've specified your target hardware and 
mentioned the FBCON example application, which provides some context.
   * **Mention of community involvement:** Referencing the email-list 
discussion with @Cynerd and @michallenc is good practice.
   
   **Weaknesses and Suggested Improvements:**
   
   * **Conciseness:** The summary is a bit too verbose. Try to be more concise 
and focus on the key changes.  Instead of explaining *why* progress reporting 
is needed in detail, simply state that it *is* added. The *why* is better 
placed in the commit message itself.
   * **Summary: missing functional parts affected:**  Specify the affected 
modules (e.g., boot, drivers/mtd).
   * **Impact: incomplete "YES" answers:**  While you've marked some sections 
as "YES," you haven't always provided sufficient detail.  Expand on the impact 
of Kconfig changes on the build. Mention size increases precisely.
   * **Testing: Lack of concrete logs:** Providing actual log output is 
crucial. Showing "before" and "after" logs demonstrates the changes in 
behavior.  Even small snippets are better than none.  Consider using a 
simplified test case for the logs if your current logs are too verbose.
   * **Testing: Limited scope:** Testing on a single, custom board is 
insufficient.  Ideally, test on a common, supported board (e.g., QEMU) to 
demonstrate wider applicability.  If you can only test on your custom board, 
explain why.
   * **Impact on Documentation:** Even if no documentation changes are 
*required*, if the features are user-facing, consider whether documentation 
updates are *beneficial* and mark "YES" accordingly.
   * **Clarity on RAM copy address validation:** The concern about the 
inability to validate the RAM address should be highlighted more prominently. 
Perhaps suggest a future improvement or mitigation strategy.
   * **Kconfig option names:** Mention the exact names of the new Kconfig 
options. This will make it easier for reviewers to locate and understand their 
purpose.
   
   
   **Revised Example (Partial - focusing on improvements):**
   
   ## Summary
   
   This PR adds progress reporting and a RAM copy feature to NXboot.  The 
`nxboot` module is primarily affected. Progress is reported via stdout 
(configurable via `CONFIG_NXBOOT_PROGRESS`) and can be integrated with user 
displays. A new function, `nxboot_ramcopy` (enabled by 
`CONFIG_NXBOOT_RAMCOPY`), copies the validated image to a configurable RAM 
address. This addresses the need for feedback during lengthy boot/upgrade 
processes and facilitates RAM-based booting.  Related email-list discussion 
with @Cynerd and @michallenc.
   
   ## Impact
   
   * **New feature added?** YES (Progress reporting, RAM copy)
   * **Impact on user?** YES (Users can enable progress reporting and RAM copy 
via new Kconfig options. See documentation updates for usage.)
   * **Impact on build?** YES (New Kconfig options added: 
`CONFIG_NXBOOT_PROGRESS`, `CONFIG_NXBOOT_RAMCOPY`. Enabling 
`CONFIG_NXBOOT_PROGRESS` increases binary size by approximately 1.5KiB on 
SAMA5D27C-D1G).
   * **Impact on hardware?** NO
   * **Impact on documentation?** YES (Documentation updated to explain the new 
Kconfig options and their usage. Example provided for integrating progress 
reporting with a user display)
   * ... (rest of the Impact section)
   
   ## Testing
   
   **Build Host:** Linux, x86_64, GCC 9.4.0
   **Target(s):**  SAMA5D27C-D1G (custom board), QEMU-riscv32 (sim - basic 
functionality test)
   
   **Testing logs before change (QEMU-riscv32):**
   
   ```
   NuttShell (NSH)> boot
   Booting...
   ... (previous boot logs)
   ```
   
   **Testing logs after change (QEMU-riscv32, `CONFIG_NXBOOT_PROGRESS` 
enabled):**
   
   ```
   NuttShell (NSH)> boot
   Booting...
   NXBoot: Starting boot process
   NXBoot: Validating image...
   NXBoot: Image validated
   ... (other progress messages)
   ```
   
   **(Add similar before/after logs for your custom board, highlighting 
progress reporting on the display)**
   
   
   By addressing these points, your PR will be clearer, easier to review, and 
more likely to be accepted. Remember to fill out all sections completely and 
accurately.


-- 
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: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to