Hello World
Minimal SWO printf loop to verify your toolchain, board connection, and viewer.
| Declared by the example author | Value |
|---|---|
| Tier | Basics |
| Status | tested |
| Capabilities | swo, printf |
| Boards tested | apollo510_evb |
Build it from a source checkout by name, because the positional app argument resolves
under ./examples:
nsx build hello_world --board apollo510_evbThe rest of this page is the example’s own README, from
examples/hello_world/.
Minimal nsx application. Initializes the runtime core and prints a message to SWO in a loop.
This is the recommended starting point for new users — it validates that your toolchain, board connection, and SWO viewer are all working.
It is also a multi-target example: a single lean nsx.yml declares a
targets: block supporting both apollo510_evb (default) and
apollo4p_blue_kxr_evb. Each board resolves its own derived
<board>_minimal profile; both are recorded in one combined nsx.lock, so this
serves as the simplest cross-family proving ground (Apollo5 + Apollo4P).
Build & Run
Section titled “Build & Run”# Default board (apollo510_evb)nsx configure --app-dir .nsx build --app-dir .nsx flash --app-dir . # requires JLink + EVBnsx view --app-dir . # opens SWO viewer
# Apollo4P Blue KXR EVBnsx build --app-dir . --board apollo4p_blue_kxr_evbExpected Output
Section titled “Expected Output”The SWO viewer will print once per second:
Hello from nsx!Hello from nsx!Hello from nsx!...Messages repeat once per second. If you see nothing, check:
- Board is powered and connected via SWD (JLink)
nsx flashcompleted without errors- SWO pin is not remapped — the default EVB configuration works out of the box