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

   ## Summary
   
     The rtl8721f  port is already merged, but its CMake build+flash
     path was broken end to end. This fixes the three independent breakages so a
     CMake build of rtl8721f links, reconfigures, and flashes cleanly. Each is a
     bug in already-merged code; none change behaviour for rtl8721dx / rtl8720f.
   
     1. **Per-IC ROM symbol linker scripts.** The shared CMake build hardcoded a
        single ROM symbol script (`ameba_rom_symbol_acut_s.ld`), so linking
        rtl8721f left `__rom_bss_*_ns__` and the `rtw_*` WiFi ROM symbols
        undefined. `AMEBA_ROM_LDS` is now a per-IC list (keeping the previous
        single-script default); rtl8721f overrides it with its four ROM symbol
        scripts, matching its `ameba_board.mk` cat order. rtl8721dx / rtl8720f 
keep
        the single default script.
   
     2. **Self-referential python shim symlink loop.** `ameba_setup_env.sh`
        resolved the system interpreter via `command -v python3`. Once a prior 
run
        put the shim dir at the front of `PATH`, that lookup returned the shim
        itself and `ln -sf shim shim` created a self-referential symlink, 
breaking
        every subsequent CMake reconfigure with "Too many levels of symbolic
        links". It now scans `PATH` skipping the shim dir and canonicalises with
        `readlink -f`. Affects all Ameba ICs; first-build behaviour is 
unchanged.
   
     3. **Flash profile for rtl8721f.** The SDK ships no bare `RTL8721F.rdev`
        (unlike RTL8721Dx / RTL8720F); it splits by flash type into
        `RTL8721F_NOR.rdev` / `RTL8721F_NAND.rdev`, so the default flash target
        failed with "profile not found: RTL8721F.rdev". rtl8721f now overrides
        `AMEBA_FLASH_PROFILE` to `RTL8721F_NOR`, matching its EVB and Make.defs.
   
     ## Impact
   
     - No change to rtl8721dx / rtl8720f: they keep the single default ROM 
script
       and the bare `RTL8721Dx` / `RTL8720F` flash profile. Only shared defaults
       were made overridable.
   
     ## Testing
   
     - **rtl8721f:** CMake configure → ninja → nuttx.bin; flashed boot.bin +
       nuttx.bin over UART, booted to NSH on the EVB.
     - **rtl8721dx:** regression smoke of all board configs (nsh, adc, gpio, 
i2c,
       pwm, spi, uart) — every one configures and links cleanly with CMake; ROM
       script and flash profile resolve exactly as before.


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