.. _module-pw_sys_io_stdio: --------------- pw_sys_io_stdio --------------- The ``pw_sys_io_stdio`` backend implements the ``pw_sys_io`` facade using stdio. Why not just use stdio directly? -------------------------------- The nice thing about using ``pw_sys_io`` is that it's rather easy to get a board up and running with a target-specific backend. This means when drafting out a quick application you can write it against ``pw_sys_io`` and, with some care, the application will be able to run on both host and target devices. While it's not recommended to use ``pw_sys_io`` for any production applications, it can be rather helpful for early prototyping. Setup ===== This module requires relatively minimal setup: 1. Write code against the ``pw_sys_io`` facade. 2. Setup build system to point to this backend. - For GN, direct the ``pw_sys_io_BACKEND`` GN build arg to point here. - For Bazel, the default backend multiplexer will automatically pick this stdio backend for host builds. To use this backend on non-host platforms, add the ``@pigweed//pw_sys_io_stdio:backend`` constraint_value to your platform. Module usage ============ For the most part, applications built with this backend will behave similarly to an application built directly against stdio. Dependencies ============ - :ref:`module-pw_sys_io`