nuttxpr commented on PR #16178:
URL: https://github.com/apache/nuttx/pull/16178#issuecomment-2794386884

   [**\[Experimental Bot, please feedback 
here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues)
   
   
   
   This PR description is pretty good, but could be improved to meet the NuttX 
requirements more thoroughly. Here's a breakdown and suggestions:
   
   **Strengths:**
   
   * **Clear Summary:** The summary explains the "what" and "why" effectively.  
The reference to the STM32H7 implementation is helpful context.
   * **Impact Description:**  Addresses the Kconfig impact.
   * **Testing Detail:** Provides good detail about the testing environment and 
procedure, including the test application code.  Mentioning debugger usage for 
verification is excellent.
   
   **Weaknesses:**
   
   * **Missing Issue References:**  If this addresses a specific issue in 
either NuttX or NuttX Apps, those should be linked.
   * **Incomplete Impact Assessment:** Several impact categories are 
unaddressed.  Consider the following:
       * **User Impact:** Even if the answer is NO, explicitly state it.
       * **Build Impact:**  Describing the Kconfig changes constitutes a build 
impact, so you should say YES and elaborate slightly (e.g., "New Kconfig 
options are added for the H5 to enable the progmem driver.").
       * **Hardware Impact:**  This definitely impacts hardware (H5 support).  
Specify YES and detail which H5 chips are supported.
       * **Documentation Impact:** Does this require documentation updates?  If 
not, state NO.  If yes, indicate if the PR includes the documentation changes 
or if they will be done separately.
       * **Security Impact:**  Even if there's no impact, explicitly say NO.  
The assumption about non-secure memory access should also be moved here from 
the summary.
       * **Compatibility Impact:**  Explicitly address backward/forward 
compatibility.
   * **Missing "Before/After Logs":** The template asks for logs, but they are 
not provided.  While debugger inspection is mentioned, including relevant 
snippets of output from the test application (even if it's just "Erase 
successful," "Write successful") would strengthen the testing section.
   
   
   **Revised PR Description (Example):**
   
   ## Summary
   
   Implementation of functions defined in `include/nuttx/progmem.h` for the 
STM32H5. The driver supports a subset of the flash peripheral functions and 
assumes non-secure memory accesses. It does not check for memory protection 
mechanisms.  This implementation references 
`arch/arm/src/stm32h7/stm32h743xx_flash.c` with adaptations for the H5's flash 
register layout.
   
   **(Add issue references here if applicable:  Relates to NuttX Issue #XXX, 
NuttX Apps Issue/PR #YYY)**
   
   
   ## Impact
   
   * **Is new feature added? Is existing feature changed?**  New feature added 
(progmem support for STM32H5).
   * **Impact on user (will user need to adapt to change)?** NO. Users will 
need to enable progmem support in their configuration, but the usage should be 
as per normal progmem behavior.
   * **Impact on build (will build process change)?** YES. New Kconfig options 
are added for the H5 to enable the progmem driver.
   * **Impact on hardware (will arch(s) / board(s) / driver(s) change)?** YES. 
Adds support for the STM32H5 family (specifically the STM32H563ZIT6U used in 
testing; add other supported chips here).
   * **Impact on documentation (is update required / provided)?**  (YES/NO - 
Indicate whether documentation updates are included or planned).
   * **Impact on security (any sort of implications)?** NO.  However, the 
driver assumes non-secure memory access and does not incorporate memory 
protection checks.
   * **Impact on compatibility (backward/forward/interoperability)?** NO 
(assuming no breaking changes to the progmem API).
   * **Anything else to consider?** None.
   
   
   ## Testing
   
   I confirm that changes are verified on local setup and works as intended:
   * **Build Host:** Ubuntu 24.04 (Docker container running on Ubuntu 24.04 
host), using Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24).
   * **Target:** STM32H563ZIT6U on Nucleo-H563ZI board.
   
   Testing was performed using a custom application (included in the PR) that 
writes and erases flash blocks.  The flash memory was inspected using a 
debugger after each step to verify correct operation.
   
   
   **Testing logs before change:** (Not applicable, as this is a new feature.)
   
   ```
   (Provide some output from the test application, e.g., erase/write success 
messages. If not possible, explain why).
   Example:
   Erase Block 128: Success
   Write to Block 0: Success
   ...
   ```
   
   **Testing logs after change:**
   
   ```
   Erase Block 128: Success
   Write to Block 0: Success
   ...
   ```
   
   
   By filling in the missing details and structuring the information according 
to the template, you'll create a more complete and easier-to-review PR. 
Remember to replace the placeholder examples with actual information.


-- 
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