Git Product home page Git Product logo

nrf9160-flash-storage-management's Introduction

nRF9160-FLASH-STORAGE-MANAGEMENT

Reading and writing ๐Ÿ“๐Ÿ“‚ to nRF9160 Flash Memory

.. _blinky-sample:

Blinky

Overview


The Blinky sample blinks an LED forever using the :ref:GPIO API <gpio_api>.

The source code shows how to:

#. Get a pin specification from the :ref:devicetree <dt-guide> as a :c:struct:gpio_dt_spec #. Configure the GPIO pin as an output #. Toggle the pin forever

See :ref:pwm-blinky-sample for a similar sample that uses the PWM API instead.

.. _blinky-sample-requirements:

Requirements


Your board must:

#. Have an LED connected via a GPIO pin (these are called "User LEDs" on many of Zephyr's :ref:boards). #. Have the LED configured using the led0 devicetree alias.

Building and Running


Build and flash Blinky as follows, changing reel_board for your board:

.. zephyr-app-commands:: :zephyr-app: samples/basic/blinky :board: reel_board :goals: build flash :compact:

After flashing, the LED starts to blink. If a runtime error occurs, the sample exits without printing to the console.

Build errors


You will see a build error at the source code line defining the struct gpio_dt_spec led variable if you try to build Blinky for an unsupported board.

On GCC-based toolchains, the error looks like this:

.. code-block:: none

error: '__device_dts_ord_DT_N_ALIAS_led_P_gpios_IDX_0_PH_ORD' undeclared here (not in a function)

Adding board support


To add support for your board, add something like this to your devicetree:

.. code-block:: DTS

/ { aliases { led0 = &myled0; };

leds {
	compatible = "gpio-leds";
	myled0: led_0 {
		gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
            };
};

};

The above sets your board's led0 alias to use pin 13 on GPIO controller gpio0. The pin flags :c:macro:GPIO_ACTIVE_HIGH mean the LED is on when the pin is set to its high state, and off when the pin is in its low state.

Tips:

  • See :dtcompatible:gpio-leds for more information on defining GPIO-based LEDs in devicetree.

  • If you're not sure what to do, check the devicetrees for supported boards which use the same SoC as your target. See :ref:get-devicetree-outputs for details.

  • See :zephyr_file:include/zephyr/dt-bindings/gpio/gpio.h for the flags you can use in devicetree.

  • If the LED is built in to your board hardware, the alias should be defined in your :ref:BOARD.dts file <devicetree-in-out-files>. Otherwise, you can define one in a :ref:devicetree overlay <set-devicetree-overlays>.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.