71 Commits

Author SHA1 Message Date
Piyush Patle 0dccc8ba21 include/debug.h: Move to include/nuttx/debug.h
debug.h is a NuttX-specific, non-POSIX header. Placing it in the
top-level include/ directory creates naming conflicts with external
projects that define their own debug.h.
This commit moves the canonical header to include/nuttx/debug.h,
following the NuttX convention for non-POSIX/non-standard headers,
and updates all in-tree references.

A backward-compatibility shim is left at include/debug.h that
emits a deprecation #warning and re-includes <nuttx/debug.h>,
allowing out-of-tree code to continue building while migrating.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-04-07 07:50:06 -03:00
makejian 60b1cef84b Kconfig: Add ALLOW_CUSTOM_PERMISSIVE_COMPONENTS option
Add a new license configuration option for components that have
custom permissive licenses which are not covered by the standard
license options (BSD, MIT, GPL, etc.).

This option allows projects to explicitly opt-in to using components
with custom permissive licenses that allow free use, modification,
and distribution but may have specific attribution or notice
requirements.

Also update the License Setup documentation section to include
this new option.

Signed-off-by: makejian <makejian@xiaomi.com>
2026-01-20 02:15:19 +08:00
Alan Carvalho de Assis e745b8ec7f Doc: Remove MOTD string from nsh shell on simulator
Build Documentation / build-html (push) Has been cancelled
Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-07-30 12:01:56 +08:00
Alan Carvalho de Assis e9cb6907c8 doc: Fix quickstart since the login is not required and quit exists
Signed-off-by: Alan C. Assis <acassis@gmail.com>
2025-07-30 12:01:56 +08:00
Neo Xu 504c3dddf0 doc: update GDB python plugin path
The NuttX GDB python plugin has been moved to tools/pynuttx/nxgdb.
Update all documentation including this path.

Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2025-02-18 11:16:17 -03:00
trns1997 7d2d38f899 install kconfiglib using apt repo 2024-12-02 13:43:29 +08:00
Neo Xu 224a8f4b28 Documentation: fix nuttxgdb related commands
Now we should load tools/gdb/gdbinit.py script

Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2024-11-25 18:43:23 -03:00
wangmingrong1 b5c5e4b850 gdb plugin: Encapsulate the gdb native command gcore as nxgcore
Modify elf with nxgcore and call gcore:
(gdb) nxgcore --help
usage: [-h] [-o OUTPUT] [-t OBJCOPY] [-r MEMRANGE]

options:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Gcore output file
  -t OBJCOPY, --objcopy OBJCOPY
                        Select the appropriate architecture for the objcopy
                        tool
  -r MEMRANGE, --memrange MEMRANGE

examples:
	(gdb) nxgcore -t arm-none-eabi-objcopy -r 0x40200000,0x48000000,0x07

Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2024-09-20 22:07:29 +08:00
xuxin19 1d3dd328dd modify BUILD_LOADABLE to MODULES which backwards-compatible Kernel
maintains the same semantics as Kernel’s module build
and compatible with Kconfiglib implementation.

The problem of kconfiglib not being able to use tri-states is this:
linux is here torvalds/linux@6dd85ff
The module option is extracted from one of the triate three states into a MODULE keyword.
Kconfiglib supports the default implementation of module to be MODULE for compatibility with the linux kernel, and triate degenerates into bool two states
Refer to this code: https://github.com/ulfalizer/Kconfiglib/blob/061e71f7d78cb057762d88de088055361863deff/kconfiglib.py#L4274-L4284

Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2024-09-19 08:32:03 +08:00
Alan Carvalho de Assis df612b9e10 doc: Fix documentation typo and missing git package 2024-08-19 13:53:15 +08:00
Yanfeng Liu 70c5c94507 docs/cmake: add out-of-tree usage
This adds out-of-tree usage guide of CMake for FLAT, PROTECTED and KERNEL
configs so that more kernel developers can enjoy cmake for their daily
work.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-07-17 17:19:41 +08:00
Tiago Medicci Serrano ae9ef972c0 paging: Rename existing CONFIG_PAGING to CONFIG_LEGACY_PAGING
Current `CONFIG_PAGING` refers to an experimental implementation
to enable embedded MCUs with some limited RAM space to execute
large programs from some non-random access media.

On-demand paging should be implemented for the kernel mode with
address environment implementation enabled.
2024-03-05 09:45:49 +08:00
Junbo Zheng 850be17142 Documentation: correct CMakeList.txt to CMakeLists.txt
Signed-off-by: Junbo Zheng <zhengjunbo1@xiaomi.com>
2024-03-01 20:15:10 +08:00
KMSorSMS 410ac71b70 fix typo error in quickstart compiling_cmake
"
I used

cd nuttx
cmake -B build -DBOARD_CONFIG=stm32f401rc-rs485:nsh -GNinja

to config
and when following the instruction in this official websites I found the
command to use cmake to build the target is wrong.
which is "cmake --build build -t menuconfig" also wrong the output dir
"build/nuttx".
and by the way, In my practice I find the bin file and elf file is not
in build/nuttx but in build/. So I changed these. But I'm not 100% sure
that my fix is right as I'm a beginner, but what I fix works fine in my
computer. This is my first PR to the public doc. My fix maybe totally
wrong as I am not get into the nuttx, just following the instruction and
encountered some mistakes.
thx for reviewing
"
2024-02-15 17:48:28 +08:00
raiden00pl 649cd00c8b Documentation: review quickstart/install.rst 2023-10-30 20:29:54 +08:00
raiden00pl b7f94fbf22 Documentation: various cosmetic changes 2023-10-30 20:29:54 +08:00
raiden00pl 64be5c6958 Documentation: update organization.rst 2023-10-30 20:29:54 +08:00
Alan Carvalho de Assis 468e9fcde5 Documentation: Fix typos
I used codespell to find typos in the documentation.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2023-10-29 10:35:51 +08:00
raiden00pl 770df6d820 Documentation: remove readme references 2023-10-27 13:21:40 -03:00
raiden00pl 408441bf15 Documentation: initialize cmake doc 2023-10-27 13:21:40 -03:00
Christian Catchpole 495253385f improve macOS install docs 2023-10-17 17:53:42 +08:00
Tiago Medicci Serrano 57bf9d44d2 Documentation: Fix search path for defconfig include list
Add `*` to make it being understood as a list.
2023-10-05 19:18:05 -04:00
Alin Jerpelea 244293ce5f Documentation: update gcc download location
Update GCC 10.3 download link to match the curent location

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2023-10-02 17:17:05 +08:00
Alin Jerpelea 4e93f93f30 Documentation: update gcc compiler to 10.3
Update the gcc compiler to 10.3-2021.10 to be able to compile the latest NuttX version

Fix for error:
arm-none-eabi-g++: error: unrecognized command line option '-std=gnu++20';
did you mean '-std=gnu++2a'?

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2023-09-28 16:14:50 +08:00
yinshengkai a0cc455922 tools: add support for merge_config
Usage example:
./tools/merge_config.py -o defconfig .config1 .config2

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-09-14 14:33:30 +08:00
yinshengkai d0ca0d422e tools: defconfig supports the include command
We support search directory structure as follows:
Current directory
stm32/configs/common
stm32/common/configs

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-09-14 14:33:30 +08:00
chao an 9f10ddc9b0 nuttx/build: Restore ARLOCK to improve compile speed in incremental case
To solve the issue of carrying object files from previous builds,
Matias changed the archiving process to re-archive libapps.a on every compilation,
if libapps.a carries more object files, incremental compilation will waste too
many time in re-archiving, compared with the previous implement, this is a degradation
of the build system.  Referring to mature engineering projects such as cmake, if there
is configuration or source file changed, the best solution should be to reconfigure
the environment.

Revert this PR to ensure the compilation speed during incremental compilation.

|  commit 34b34e2d45 (tag: nuttx-20200914-172150)
|  Author: Matias N <matias@protobits.dev>
|  Date:   Fri Sep 11 22:31:38 2020 -0300
|
|      Fix: ensure archive files do not carry object files from prior builds
|
|      In some cases, when NuttX configuration changes and this makes the
|      object list used to build one of the .a libraries change as well,
|      since the command used to build it is "ar crs" and this simply appends
|      the list of object files, the library could still include object
|      files from prior builds. This commit modifies the ARCHIVE macro to
|      erase the .a file if it already exists.
|
|      Since in some cases this behavior was actually expected (object
|      files from a subdirectory were appended to a library created one
|      level above) I added a ARCHIVE_ADD which works as ARCHIVE did.
|
|      This change should greatly improve behavior of building after
|      configuration changes.

Testing:

sim:nsh
-------------------------------
|   Patched    |  Current
-------------------------------
|$ time make   |  $ time make
|real 0m1.270s |  real 0m1.728s
|user 0m0.971s |  user 0m1.276s
|sys  0m0.363s |  sys  0m0.530s
-------------------------------

Private project (20+ 3rd library needs archive to libapps.a)
-------------------------------
|   Patched     |  Current
-------------------------------
|$ time make    |  $ time make
|real 0m21.181s |  real 0m39.721s
|user 0m14.638s |  user 0m24.837s
|sys  0m6.919s  |  sys  0m14.394s
-------------------------------

Signed-off-by: chao an <anchao@xiaomi.com>
2023-09-12 21:55:23 +08:00
simbit18 d7359bf076 Documentation/quickstart/configuring.rst: Add credentials for NSH session
Add credentials on code blocks  Build & run
2023-09-03 19:03:54 -03:00
simbit18 612b8320bb Documentation/quickstart/install.rst: update fix incorrect version
10.1.0 -> 12.2.1
2023-08-26 00:46:56 +08:00
Tomáš Pilný 9ce8d4eca2 Changed "based from" to "based on" in compiling.rst 2023-08-22 23:35:29 +08:00
Tomáš Pilný d311bce3c4 Fixed mistakes in install.rst 2023-08-22 23:35:29 +08:00
Tomáš Pilný e13d3220c2 Split commands for KConfig install + changed pip install to code-tab 2023-08-22 23:35:29 +08:00
Tomáš Pilný ac4c627848 Added Fedora to install.rst 2023-08-22 23:35:29 +08:00
Tiago Medicci Serrano 6055b64802 Documentation: Fix command to load nuttx/tools/gdb/__init__.py
According to `Documentation/guides/gdbwithpython.rst` and GDB's
documentation, the `-ix` option "Execute commands from file `file`
before loading the inferior (but after loading gdbinit files)",
being the correct way of loading it to GDB.
2023-08-20 22:53:08 +08:00
Xiang Xiao f3269a6caa sched: Rename DEBUG_TCBINFO to ARCH_HAVE_TCBINFO
and select if the arch support to define g_tcbinfo variable

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-26 09:33:38 +02:00
anjiahao 4745ab64c3 Documentation:add gdb python script documentation
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-07-24 08:05:58 -03:00
Brennan Ashton 14d311ca0a docs: Add copy button for code blocks 2023-05-20 12:58:32 +08:00
Hiroki Noda cc2b0e2594 Documentation/quickstart: update link for USBIP in WSL2 2023-03-20 08:58:14 +01:00
Alan Carvalho de Assis b216f74a4b doc: Add xxd to get romfs working, reported by Simon Filgis 2023-02-24 21:53:48 +08:00
simbit18 7cfeccee92 Doc organization.rst
update tip incorrect permalink
2023-02-22 01:05:30 +08:00
chao an 73214965b8 Documentation/kconfiglib: update document to support kconfiglib
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-20 14:35:06 +08:00
Xiang Xiao a64c61f530 Remove incubat.* from the code base
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 21:21:27 +02:00
Nathan Hartman 03802dad13 NuttX graduated the Incubator; update repository links 2022-11-26 11:58:15 -08:00
Meco Man 6ad06b0c2b [docs] eliminate potential misunderstandings 2022-03-17 02:04:05 +08:00
simbit18 1e7e1cad0b Update install.rst
updade tip
2022-03-07 23:51:48 +08:00
Alan C. Assis b248dd0d3a Documentation: Fix openocd command instruction
A user reported me an issue while following our documentation
then looking his command line error I noticed the openocd stlink
interface was wrong: st-link-v2.cfg -> stlink-v2.cfg
2021-11-04 15:09:34 +01:00
Alan C. Assis eaf50cd06b Doc: Update download version to 10.1 and fix tar command 2021-09-17 07:53:57 -07:00
Gustavo Henrique Nihei bf1d587063 Documentation: Update kconfig-frontends install instructions
It still assumed kconfig-frontends as part of the core NuttX
repository.
2021-06-10 18:27:41 -04:00
Nathan Hartman 26f09cec6d Documentation: Fix a few typos.
* Documentation/contributing/documentation.rst
    * Documentation/guides/tasktraceuser.rst
    * Documentation/guides/drivers.rst
    * Documentation/quickstart/running.rst
    * Documentation/quickstart/compiling.rst
    * Documentation/components/drivers/character/watchdog.rst
    * Documentation/components/drivers/character/foc.rst
    * Documentation/components/nxgraphics/nxtk.rst
    * Documentation/applications/nsh/login.rst
    * Documentation/introduction/detailed_support.rst
    * Documentation/introduction/resources.rst
    * Documentation/reference/user/01_task_control.rst
    * Documentation/reference/os/wqueue.rst

      Fix some misspelled words.

      Many of these were caught by codespell.
2021-04-28 17:00:23 -03:00
Xiang Xiao c54d617f2c Remove nr5m100(risc-v) arch and board source code
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-03-11 10:51:11 -08:00