mirror of
https://github.com/Dasharo/zephyr.git
synced 2026-03-06 14:57:20 -08:00
As both C and C++ standards require applications running under an OS to
return 'int', adapt that for Zephyr to align with those standard. This also
eliminates errors when building with clang when not using -ffreestanding,
and reduces the need for compiler flags to silence warnings for both clang
and gcc.
Most of these changes were automated using coccinelle with the following
script:
@@
@@
- void
+ int
main(...) {
...
- return;
+ return 0;
...
}
Approximately 40 files had to be edited by hand as coccinelle was unable to
fix them.
Signed-off-by: Keith Packard <keithp@keithp.com>
.. _hello_world_user:
Hello World
###########
Overview
********
A simple Hello World example that can be used with any supported board and
prints 'Hello World from UserSpace!' to the console.
If unavailable or unconfigured then 'Hello World from privileged mode.'
is printed instead.
This application can be built into modes:
* single thread
* multi threading
Building and Running
********************
This project outputs 'Hello World from UserSpace!' to the console.
It can be built and executed on QEMU as follows:
.. zephyr-app-commands::
:zephyr-app: samples/userspace/hello_world_user
:host-os: unix
:board: qemu_riscv32
:goals: run
:compact:
Sample Output
=============
.. code-block:: console
Hello World from UserSpace! qemu_riscv32
Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`.