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

   ## Summary
   Interrupts should be disabled during the access to the user signature area 
in internal flash memory, otherwise the system might be halted.
   
   This applies also for read operation as this is performed with a special 
flash commands on  a special part of memory.
   
   ## Impact
   
   SAMv7 only, fixes possible system halt.
   ## Testing
   
   Possible terminal output before the change (based on timing). Tested on 
custom SAMv7 board that reads user signature right after startup and already 
might have applications running (serial port, QSPI flash, SPI display, etc).
   
   ```
   *** nxboot ***
   
   :ELLBOOT:BRCg2:0.11.0-d3a4895-dirty:
   Found bootable image, boot from primary.
   
   :ELLSYS:BRCg2:0.11.0-5dd69c8-dirty:
   
   Nutt
   ```
   GDB backtrace
   ```
   0x00000000 in ?? ()
   (gdb) bt
   #0  0x00000000 in ?? ()
   #1  <signal handler called>
   #2  0x00000000 in ?? ()
   #3  <signal handler called>
   #4  0x20409e76 in sam_eefc_readsequence (start_cmd=start_cmd@entry=20, 
stop_cmd=stop_cmd@entry=21, buffer=buffer@entry=0x204101c4 <g_page_buffer>, 
bufsize=bufsize@entry=43) at chip/sam_eefc.c:200
   #5  0x00456886 in sam_read_user_signature (buffer=buffer@entry=0x2041154c 
<usrsig>, buflen=buflen@entry=168) at chip/sam_us.c:183
   ```
   
   I wasn't able to reproduce this after the presented changes were made.


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