https://github.com/railab/railab_nuttx_code
Apache NuttX examples for www.railab.me
https://github.com/railab/railab_nuttx_code
nuttx nuttx-apps
Last synced: about 1 year ago
JSON representation
Apache NuttX examples for www.railab.me
- Host: GitHub
- URL: https://github.com/railab/railab_nuttx_code
- Owner: railab
- Created: 2024-10-30T09:27:44.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-22T08:29:43.000Z (over 1 year ago)
- Last Synced: 2025-02-22T08:30:40.515Z (over 1 year ago)
- Topics: nuttx, nuttx-apps
- Language: C
- Homepage:
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
NuttX code samples for www.railab.me
To initialize the repository use this::
git clone https://github.com/railab/nuttx external/nuttx
git clone https://github.com/railab/nuttx-apps external/nuttx-apps
ln -sr apps external/nuttx-apps/external
Apache NuttX and small systems series
=====================================
Hello, World !
--------------
Examples for www.railab.me/posts/2024/11/nuttx-and-small-systems-hello-world/
The common command to build examples is::
cmake -B build -S external/nuttx -DBOARD_CONFIG=../../boards/arm/stm32/nucleo-f302r8-mini/config/{CONFIG_NAME} -GNinja
cmake --build build
Where ``CONFIG_NAME`` for a given example are given below:
* ``mini_hello`` - minimal "Hello, world!":
* ``mini_hello_opt`` - minimal, optimized "Hello, world!":
NuttX Core
----------
Examples for www.railab.me/posts/2024/12/nuttx-and-small-systems-core-os/
The common command to build examples is::
cmake -B build -S external/nuttx -DBOARD_CONFIG=../../boards/arm/stm32/nucleo-f302r8-mini/config/{CONFIG_NAME} -GNinja
cmake --build build
Where ``CONFIG_NAME`` for a given example are given below:
* ``mini_core1`` - minimal NuttX image with serial port enabled:
* ``mini_core2`` - minimal NuttX image with serial port disabled:
* ``mini_core3`` - minimal NuttX image with serial port disabled and no ``/dev/null``:
* ``mini_blinky1`` - blinky with files:
* ``mini_blinky2`` - blinky with arch-specific code:
NuttX Components
----------------
Examples for www.railab.me/posts/2025/1/nuttx-and-small-systems-os-components/
The common command to build examples is::
cmake -B build -S external/nuttx -DBOARD_CONFIG=../../boards/arm/stm32/nucleo-f302r8-mini/config/{CONFIG_NAME} -GNinja
cmake --build build
Where ``CONFIG_NAME`` for a given example are given below:
* Application 1 - DEFAULT_SMALL influence:
* ``mini_components1`` - base configuration
* ``mini_components1_env`` - environment variable support enabled
* ``mini_components1_tim`` - POSIX timers support enabled
* ``mini_components1_pth`` - Pthreads support enabled
* ``mini_components1_mq`` - POSIX message queue support enabled
* ``mini_components1_mqsys`` - System V message queue support enabled
* ``mini_components1_osall`` - enable all OS interfaces
* ``mini_components1_fstream`` - FILE stream support enabled
* Application 2 - poll() and epoll():
* ``mini_components2`` - base configuration
* ``mini_components2_busy`` - busy wait for timer
* ``mini_components2_poll`` - poll wait for timer
* ``mini_components2_epoll`` - epoll wait for timer
* Application 3 - thread data protection:
* ``mini_components3`` - base configuration
* ``mini_components3_pth`` - threads only
* ``mini_components3_atomic`` - thread data as atomic
* ``mini_components3_mut`` - thread data protected with mutex
* ``mini_components3_cond`` - thread data with condition variable
* ``mini_components3_rwlock`` - thread data protected with rwlock
* Application 4 - signaling:
* ``mini_components4`` - base configuration
* ``mini_components4_pth`` - notify main with thread and semaphore
* ``mini_components4_tim`` - notify main with POSIX timer signal
* ``mini_components4_tim_sigev`` - notify main with POSIX timer signal and SIGEV_THREAD
* Application 5 - printf and libm:
* ``mini_components5`` - base configuration
* ``mini_components5_float_nofpu`` - printf with floating point support and FPU disabled
* ``mini_components5_float_fpu`` - printf with floating point support and FPU enabled
* ``mini_components5_long`` - printf with long long support
* ``mini_components5_libm_nx_nofpu`` - libm from NuttX with FPU disabled
* ``mini_components5_libm_nx_fpu`` - libm from NuttX with FPU enabled
* ``mini_components5_libm_newlib_nofpu`` - libm from Newlib with FPU disabled
* ``mini_components5_libm_newlib_fpu`` - libm from Newlib with FPU enabled
* ``mini_components5_libm_fixedmath`` - fixed math test
* ``mini_components5_libm_floatmath_nofpu`` - float math test with FPU disabled and NuttX libm
* ``mini_components5_libm_floatmath_fpu`` - float math test with FPU enabled and NuttX libm
Mini CAN node
-------------
Examples for www.railab.me/posts/2025/2/nuttx-and-small-systems-can-node-example/
The common command to build examples for ``nucleo-f302r8-mini`` is::
cmake -B build -S external/nuttx -DBOARD_CONFIG=../../boards/arm/stm32/nucleo-f302r8-mini/config/{CONFIG_NAME} -GNinja
cmake --build build
Where ``CONFIG_NAME`` for a given example are given below:
* ``mini_cannode_char`` - CAN node example with CAN character device
* ``mini_cannode_sock`` - CAN node example with CAN SocketCAN interface