1.. _nrf9160_innblue22: 2 3nRF9160 INNBLUE22 4################# 5 6Overview 7******** 8 9The nRF9160 innblue22 is a cellular IoT sensor development board, which 10is based on the nRF9160 SiP, and features NB-IoT and LTE-M connectivity. 11 12.. figure:: img/nrf9160_innblue22.png 13 :width: 1024px 14 :align: center 15 :alt: nRF9160 innblue22 16 17 nRF9160 innblue22 (Credit: innblue) 18 19Hardware 20******** 21 22The following parts are built into the board: 23 24* Accelerometer: ST LIS2DH12 25* CryptoElement: Atmel ATECC608a 26* Humidity Sensor: ST HTS221 27* Qi charger: TI BQ51013 28* Battery fuel gauge: TI BQ27421 29 30Supported Features 31================== 32 33The nrf9160_innblue22 board configuration supports the following 34hardware (as of nRF9160) features: 35 36+-----------+------------+----------------------+ 37| Interface | Controller | Driver/Component | 38+-----------+------------+----------------------+ 39| CLOCK | on-chip | clock_control | 40+-----------+------------+----------------------+ 41| FLASH | on-chip | flash | 42+-----------+------------+----------------------+ 43| GPIO | on-chip | gpio | 44+-----------+------------+----------------------+ 45| I2C(M) | on-chip | i2c | 46+-----------+------------+----------------------+ 47| MPU | on-chip | arch/arm | 48+-----------+------------+----------------------+ 49| NVIC | on-chip | arch/arm | 50+-----------+------------+----------------------+ 51| PWM | on-chip | pwm | 52+-----------+------------+----------------------+ 53| RTT | Segger | console | 54+-----------+------------+----------------------+ 55| SPU | on-chip | system protection | 56+-----------+------------+----------------------+ 57| UARTE | on-chip | serial | 58+-----------+------------+----------------------+ 59| WDT | on-chip | watchdog | 60+-----------+------------+----------------------+ 61 62Connections and IOs 63=================== 64 65LED 66--- 67 68* LED1 ( red ) = P0.7 69* LED2 (green) = P0.6 70* LED3 ( blue) = P0.5 71* LED4 ( red ) = P0.4 72 73Push buttons and Switches 74------------------------- 75 76* BUTTON1 = P0.31 77 78Security components 79=================== 80 81- Implementation Defined Attribution Unit. The IDAU is implemented 82 with the System Protection Unit and is used to define secure and non-secure 83 memory maps. By default, all of the memory space (Flash, SRAM, and 84 peripheral address space) is defined to be secure accessible only. 85- Secure boot. 86 87Programming and Debugging 88************************* 89 90nrf9160_innblue22 supports the Armv8m Security Extension, and by default boots 91in the Secure state. 92 93Building Secure/Non-Secure Zephyr applications 94============================================== 95 96The process requires the following steps: 97 981. Build the Secure Zephyr application using ``-DBOARD=nrf9160_innblue22`` and 99 ``CONFIG_TRUSTED_EXECUTION_SECURE=y`` in the the application project configuration file. 1002. Build the Non-Secure Zephyr application using ``-DBOARD=nrf9160_innblue22_ns``. 1013. Merge the two binaries together. 102 103When building a Secure/Non-Secure application, the Secure application will 104have to set the IDAU (SPU) configuration to allow Non-Secure access to all 105CPU resources utilized by the Non-Secure application firmware. SPU 106configuration shall take place before jumping to the Non-Secure application. 107 108Building a Secure only application 109================================== 110 111Build the Zephyr app in the usual way (see :ref:`build_an_application` 112and :ref:`application_run`), using ``-DBOARD=nrf9160_innblue22``. 113 114Flashing 115======== 116 117Follow the instructions in the :ref:`nordic_segger` page to install 118and configure all the necessary software. Further information can be 119found in :ref:`nordic_segger_flashing`. Then build and flash 120applications as usual (see :ref:`build_an_application` and 121:ref:`application_run` for more details). 122 123Here is an example for the :ref:`hello_world` application. 124 125First, run your favorite terminal program to listen for output. 126 127.. code-block:: console 128 129 $ minicom -D <tty_device> -b 115200 130 131Replace :code:`<tty_device>` with the port where the nRF9160 innblue22 132can be found. For example, under Linux, :code:`/dev/ttyACM0`. 133 134Then build and flash the application in the usual way. 135 136.. zephyr-app-commands:: 137 :zephyr-app: samples/hello_world 138 :board: nrf9160_innblue22 139 :goals: build flash 140 141Debugging 142========= 143 144Refer to the :ref:`nordic_segger` page to learn about debugging Nordic boards with a 145Segger IC. 146