nuttx/Documentation
Marco Casaroli f565c81c3b Documentation, boards/rp23xx: Describe FDPIC and add a test configuration.
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>
2026-10-08 14:24:34 -03:00
..
_extensions Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
_static Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
_templates Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
about Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
applications Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
components Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
contributing Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
debugging Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
developing Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
faq !boards: Remove NSH_ARCHINIT and board_app_initialize 2026-05-02 18:36:46 +08:00
guides arch/arm64: Implement up_addrenv_fork() and provide POSIX fork(). 2026-10-08 09:35:07 -03:00
implementation Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
introduction Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
logos
os Documentation, boards/rp23xx: Describe FDPIC and add a test configuration. 2026-10-08 14:24:34 -03:00
platforms Documentation, boards/rp23xx: Describe FDPIC and add a test configuration. 2026-10-08 14:24:34 -03:00
quickstart Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
reference Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
ReleaseNotes Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
standards docs/pthread: Document pthread_sigqueue 2026-09-21 14:53:26 +08:00
testing Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
.gitignore
conf.py Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
glossary.rst
index.rst Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
known-warnings.txt
legacy_README.md Documentation: Point the buildroot links at the repository that still exists. 2026-09-13 18:29:40 -03:00
make.bat
Makefile doc: Improve sphinx build time + add autobuild help info. 2026-01-27 09:50:55 +08:00
Pipfile Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
Pipfile.lock Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
redirects.py Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
security.rst
substitutions.rst