No description
Find a file
YAMAMOTO Takashi f2aeb5e56f SYSLOG_DEFAULT: wrap up_putc/up_nputs calls with critical section
This would avoid the undesirable intertactions with the serial driver
described in https://github.com/apache/nuttx/issues/14662.

Although I'm not entirely happy with this fix because it assumes
the particular implementations of up_putc/up_nputc and its association
to the serial devices, I haven't come up with better ideas for now.

An alternative is to place some serializations inside the target
specific serial (and/or whatever provides up_putc api) implementaitons.
But it isn't too attractive to put potentially complex logic into the
low-level machinaries, especially when we have a lot of similar copies
of it.

Another alternative is to deprecate up_putc. (at least for the purpose
of syslog.) But it seems at least some of users are relying on what
the current implementation provides heavily.

This commit also removes g_lowputs_lock because the critical section
would serve the purpose of the lock as well.
2024-11-12 09:49:57 +08:00
.github CI: Check out the correct branch of nuttx repo when compiling nuttx-apps 2024-11-04 12:51:56 +08:00
arch riscv: Suppress LOAD RWX linker warning 2024-11-11 23:44:41 +08:00
audio audio: remove started from audio_complete 2024-10-16 20:27:45 +08:00
binfmt binfmt: migrate to SPDX identifier 2024-11-05 20:44:29 +08:00
boards boards/esp32c3-legacy: Add missing include to esp32c3_boot.c 2024-11-11 17:58:20 +08:00
cmake cmake(bugfix):fix directory not being successfully added when adding romfs 2024-11-10 00:49:23 +08:00
crypto crypto: migrate to SPDX identifier 2024-11-06 20:10:37 +08:00
Documentation Doc: migration filesystem doc 2024-11-11 10:37:56 +08:00
drivers SYSLOG_DEFAULT: wrap up_putc/up_nputs calls with critical section 2024-11-12 09:49:57 +08:00
dummy build: add initial cmake build system 2023-07-08 13:50:48 +08:00
fs fs/vfs: Fix initialization of g_pseudofile_ops 2024-11-10 00:53:40 +08:00
graphics move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
include ghs: fix the naked_function attr cannot handle warning 2024-11-11 22:32:26 +08:00
libs libbuiltin/Makefile: Modify the libbuiltin makefile to standard 2024-11-10 10:19:58 +08:00
mm makefile/build: Delete unnecessary bin and kbin folders 2024-11-10 01:18:26 +08:00
net tcp: fix tcp can not retransmit timely when ACK with TCP_NEWDATA 2024-11-10 00:39:48 +08:00
openamp Remove all jira and changeid information from the kernel 2024-11-06 02:04:03 +08:00
pass1 Revert "build depend:Revert Make.dep intermediate ddc file" 2024-09-15 19:29:47 +08:00
sched fix compiler error 2024-11-11 19:48:38 +08:00
syscall move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
tools [darwin] CI macos-14 : updated toolchains for macOS Apple Silicon 2024-11-12 00:08:38 +08:00
video Revert "build depend:Revert Make.dep intermediate ddc file" 2024-09-15 19:29:47 +08:00
wireless Bluetooth: improved pairing process and host layer now successfully receives ACL packets 2024-11-10 14:33:52 -03:00
.asf.yaml
.gitignore .gitignore: Add the .cache directory generated by clangd 2024-10-28 16:16:16 +08:00
.pre-commit-config.yaml Created pre-commit config file 2024-08-19 21:40:56 +02:00
.yamllint
AUTHORS AUTHORS: add Yamamoto Takashi 2024-11-04 22:29:22 +08:00
CMakeLists.txt toolchain/tasking: fix build break on tasking toolchain 2024-10-29 18:11:04 +08:00
CONTRIBUTING.md Contributing and PR template fix. 2024-10-12 08:12:05 +08:00
INVIOLABLES.md
Kconfig clang:libclang_rt.builtins-xxx.a supports builtin 2024-10-28 16:38:45 +08:00
LICENSE libc string:Separate code. 2024-10-23 09:49:19 +08:00
Makefile tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
NOTICE
README.md Gathering community recommendations 2023-10-28 13:55:56 +08:00
ReleaseNotes Documentation: move ReleaseNotes 2023-09-26 20:41:00 +08:00

POSIX Badge License Issues Tracking Badge Contributors GitHub Build Badge Documentation Badge

Apache NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOSs (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).

For brevity, many parts of the documentation will refer to Apache NuttX as simply NuttX.

Getting Started

First time on NuttX? Read the Getting Started guide! If you don't have a board available, NuttX has its own simulator that you can run on terminal.

Documentation

You can find the current NuttX documentation on the Documentation Page.

Alternatively, you can build the documentation yourself by following the Documentation Build Instructions.

The old NuttX documentation is still available in the Apache wiki.

Supported Boards

NuttX supports a wide variety of platforms. See the full list on the Supported Platforms page.

Contributing

If you wish to contribute to the NuttX project, read the Contributing guidelines for information on Git usage, coding standard, workflow and the NuttX principles.

License

The code in this repository is under either the Apache 2 license, or a license compatible with the Apache 2 license. See the License Page for more information.