This commit adds a new example app to allow the newly added netutils/mdns
library and associated daemon to be exeercised.
Signed-off-by: Tim Hardisty <timh@jti.uk.com>
Fix the Kconfig file for the posix_stdio example by adding
the STACKSIZE symbol and setting it to DEFAULT_TASK_STACKSIZE.
This change ensures that the example builds properly and
respects system-wide stack size configuration.
Signed-off-by: Vinicius May <vmay.sweden@gmail.com>
Previous Kconfig had a mistake guarding optee_gp
Kconfig values based on EXAMPLES_OPTEE instead of
EXAMPLES_OPTEE_GP. Fix that
Signed-off-by: George Poulios <gpoulios@census-labs.com>
Add an example app that opens a session with the devices pseudo-TA
and enumerates the available devices (prints their UUIDs only)
using the GlobalPlatform API and libteec.
The example showcases:
- initializing the context
- opening a session
- invoking a command using NULL references
- invoking a command using temp shared memory
- invoking a command using registered shared memory
- closing the session
- finalizing the context
Enabled with CONFIG_EXAMPLES_OPTEE_GP.
Signed-off-by: George Poulios <gpoulios@census-labs.com>
Previous version of optee example was using id during
shm registration as input whereas it is an output
variable. It was also specifying flags to dictate the
behaviour whereas the latest implementation of the
driver prohibits their use. This commit addresses
those issues.
Signed-off-by: George Poulios <gpoulios@census-labs.com>
This example will help newcomers to port software from Linux to NuttX
in a POSIX compliant fashion using stdio library. It shows how to work with
open(), close() and write() functions over /dev/console.
Signed-off-by: Vinicius May <vmay.sweden@gmail.com>
Add an example app that opens a session with the devices pseudo-TA
and enumerates the available devices (prints their UUIDs only).
The example showcases:
- opening the OP-TEE client driver
- printing its version
- opening a session
- allocating shared memory
- registering shared memory
- invoking a function to the TA referencing the shared memory
- closing the session
Enabled with CONFIG_EXAMPLES_OPTEE.
Signed-off-by: George Poulios <gpoulios@census-labs.com>
Add the possibility to create a romfs image for an "external" file
system. The romfs.img can directly be written to a configurable
mtdblock device.
Signed-off-by: Laczen JMS <laczenjms@gmail.com>
Renaming "modlib" to "libelf" is more in line with the implementation content,
which makes it easier for individual developers to understand the capabilities of this module.
CONFIG_LIBC_MODLIB -> CONFIG_LIBC_ELF
Signed-off-by: chao an <anchao.archer@bytedance.com>
These example apps create a BLE central and peripheral based on
mynewt-nimBLE and work in companion. The apps are mostly based
on their equivalents, which can be found at
https://github.com/apache/mynewt-nimble/tree/master/apps
Signed-off-by: Max Kriegleder <max.kriegleder@gmail.com>
Changed the NUTTX dependency branch to 'main' for consistency with repository updates.
Updated pixel format check to use FB_FMT_RGB16_565 for better clarity and accuracy.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
* examples/xmlrpc/calls.c used 80 bytes call buffers.
* update buffers to CONFIG_XMLRPC_STRINGSIZE+1 that is build time configurable.
* this keeps buffers size coherent with configuration.
* updated internal variable names to pass lint checks.
Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
fix Relative file path does not match actual file.
EOL Conversion -> Unix (LF)
Adding the message header to the Kconfig file
Signed-off-by: simbit18 <simbit18@gmail.com>
Summary:
- Added a basic Slint example for NuttX, demonstrating how to integrate Slint UI framework with Rust on NuttX
- Includes a simple UI with a counter and touchscreen input handling
- Provides CMake, Kconfig, and Makefile configurations for building the example
Impact:
- Introduces a new example showcasing Slint UI framework usage on NuttX
- Enables developers to explore Rust-based UI development on embedded systems
- Demonstrates integration with NuttX framebuffer and touchscreen drivers
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Summary:
- Added `codegen-units = 1` and `opt-level = 'z'` to the release profile in `Cargo.toml`
- These changes optimize the build for minimal binary size
Impact:
- Reduces the final binary size by ~7% (244316 -> 228380 bytes)
- Improves resource utilization for embedded systems
- No functional changes to the application behavior
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Summary:
- Renamed hello_rust example to rust/baremetal to better reflect its purpose
- Updated file headers and Makefile paths
- Maintained all existing Kconfig options and functionality
- Prepares for future Rust development patterns where Cargo will be the
mainstream approach, with baremetal demonstrating traditional build method
- Creates clearer structure for Rust examples as we expand Rust support
Impact:
- No functional changes to the example itself
- Better organization of Rust examples under examples/rust/
- Existing configurations using this example will continue to work
- Build system will now look for the example in the new location
Testing:
- Confirmed Kconfig options remain unchanged
- GitHub CI passed and local build tested
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
- Break long preprocessor conditionals across multiple lines
- Add spaces around operators for better readability
- Reformat long string literals to fit within line length limits
- Improve consistency in spacing around parentheses and brackets
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Build Rust applictions with cargo is the most commn way,
and it's more easy to cooporate with Rust ecosystem.
This example shows how to use cargo to build a simple hello world
application.
And please notice that you need to install nighly version of rustc
to support this feature, any version after https://github.com/rust-lang/rust/pull/127755
is merged, can use NuttX as cargo target directly.
Build
-----
To build hello_rust_cargo application, you can use any target that based
on RISCV32IMAC, for example:
```
cmake -B build -DBOARD_CONFIG=rv-virt:nsh -GNinja .
```
And disable ARCH_FPU in menuconfig, since the hard coded target triple
in this demo is `riscv32imac`.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Clean up code by removing redundant and unused header file includes that were identified through static analysis.
This improves code readability and reduces unnecessary dependencies.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
`posix_spawn` depends on these configurations:
- !BINFMT_DISABLE
- !DISABLE_MOUNTPOINT
- BOARDCTL
- BOARDCTL_APP_SYMTAB
- ELF
- FS_ROMFS
Check them in compile time may waste some time if the dependencies are not met,
move them to Kconfig to avoid this.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>