mirror of
https://github.com/apache/nuttx.git
synced 2026-10-10 07:40:27 +00:00
Documentation/os/binfmt/fdpic.rst covers what an FDPIC module is and what it adds over the position independent ELF support already in the tree, how the loader places one, where shared libraries come from and how they are found, which entry points resolve a function descriptor and the rules for adding another, and how to build a module and a library. A comparison table places it against NXFLAT and PIC ELF, and the reference section records the object layout and the relocations. pimoroni-pico-2-plus:xipfs-fdpic is the configuration the series was tested on: xipfs on the board's QSPI flash, the ELF loader with CONFIG_FDPIC, and apps/examples/fdpicxip with apps/testing/fs/xipfs. CONFIG_DEFAULT_TASK_STACKSIZE is 4096 there rather than the rp23xx default of 2048. Both sides of the loader need it: a module that calls into the firmware's printf family overflows 2048, and with no MPU that is a lockup rather than a diagnostic. CONFIG_ELF_STACKSIZE follows it, and apps/testing/fs/xipfs sizes its own task from it. CONFIG_HAVE_CXXINITIALIZE is set because crt0 runs the constructors of a module only with it, and the xipfs suite checks that they ran. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com> |
||
|---|---|---|
| .. | ||
| arch | ||
| audio | ||
| binfmt | ||
| concurrency | ||
| drivers | ||
| filesystem | ||
| graphics | ||
| interrupts | ||
| ipc | ||
| libs | ||
| memory | ||
| networking | ||
| scheduling | ||
| time | ||
| app_vs_os.rst | ||
| build_modes.rst | ||
| build_modes.svg | ||
| conventions.rst | ||
| crypto.rst | ||
| index.rst | ||
| notifier.rst | ||
| nuttx.rst | ||
| openamp.rst | ||
| syscall.rst | ||
| system_map.svg | ||
| video.rst | ||
| wireless.rst | ||