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

   ## Summary
   board/xtensa: fixes for compilation and start-up issues when legacy boot 
mode is configured.
   1. Explicitly define the .rtc_reserved section to ensure RTC data that 
requires a fixed address is correctly placed and does not conflict with other 
sections.
   2. When legacy boot is configured, vecbase must also be set and clear the 
BSS section.
   3. Cache must be disabled during Flash operations, so all 
Flash-operation-related functions must be placed in IRAM (internal RAM). Update 
the linker script for legacy boot mode.
   
   ## Impact
   New Feature/Change: No
   User Impact: No
   Build Impact:No new Kconfig options or build system changes.
   Hardware Impact: No
   Security: No
   Compatibility: Backward-compatible; no breaking changes.
   
   ## Testing
   
   ```
   Used configs: esp32-devkitc:nsh
                          esp32s3-devkit:nsh
   ```
   
   ```
   Related anomaly records:
   
   a.  Firmware compilation error
   Creating esp32s3 image...
   Merged 1 ELF section
   A fatal error occurred: Segment loaded at 0x3c0230d0 lands in same 64KB 
flash mapping as segment loaded at 0x3c020020. Can't generate binary. Suggest 
changing linker script or ELF to merge sections.
   tools/Unix.mk:552: recipe for target 'nuttx' failed
   ...
   
   b. When cache is disabled, flash operation triggers an exception
   I (191) boot: Disabling RNG early entropy source...
   Guru Meditation Error: Core 0 panic'ed (LoadProhibited)
   Core 0 register dump:
   PC      : 0x42005e5e  PS      : 0x00060933  A0      : 0x8200635c  A1      : 
0x3fc8c360
   A2      : 0x00000019  A3      : 0x2e3d42df  A4      : 0x3fc8b4cc  A5      : 
0x86826eb3
   A6      : 0x3fc8b4d4  A7      : 0x04008000  A8      : 0x60008038  A9      : 
0x3fc8c350
   A10     : 0x000000f0  A11     : 0x00000c00  A12     : 0x00000400  A13     : 
0x00000000
   A14     : 0x40035880  A15     : 0x00000001  SAR     : 0x00000010  EXCCAUSE: 
0x0000001c
   ...
   
   c. The exception vector is not set and the BSS segment is not cleared, 
triggering and starting are stuck
   ...
   
   ```
   After the fix, the above issues have not reoccurred.
   


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