.. _contextualelectronics_abc: Contextual Electronics Advanced BLE Cell ######################################## Overview ******** The Contextual Electronics ABC (PCA10056) hardware provides support for the Nordic Semiconductor nRF52840 ARM Cortex-M4F CPU and the following devices: * CLOCK * FLASH * :abbr:`GPIO (General Purpose Input Output)` * :abbr:`I2C (Inter-Integrated Circuit)` * :abbr:`MPU (Memory Protection Unit)` * :abbr:`NVIC (Nested Vectored Interrupt Controller)` * :abbr:`PWM (Pulse Width Modulation)` * Segger RTT (RTT Console) * :abbr:`SPI (Serial Peripheral Interface)` * :abbr:`UART (Universal asynchronous receiver-transmitter)` * Quectel BG95 Modem .. figure:: ../../../../../../../../../zephyr/boards/arm/contextualelectronics_abc/doc/img/contextualelectronics_abc.jpg :align: center :alt: Contextual Electronics Advanced BLE Cell Contextual Electronics Advanced BLE Cell (Credit: Chris Gamell) More information about the board can be found at the `ABC Board website`_. The `Nordic Semiconductor Infocenter`_ contains the processor's information and the datasheet. Hardware ******** ABC board has two external oscillators. The frequency of the slow clock is 32.768 kHz. The frequency of the main clock is 32 MHz. - nRF52840 ARM Cortex-M4F processor at 64 MHz - 1 MB flash memory and 256 KB of SRAM - SWD connector Supported Features ================== The contextualelectronics_abc board configuration supports the following hardware features: +-----------+------------+----------------------+ | Interface | Controller | Driver/Component | +===========+============+======================+ | CLOCK | on-chip | clock_control | +-----------+------------+----------------------+ | FLASH | on-chip | flash | +-----------+------------+----------------------+ | GPIO | on-chip | gpio | +-----------+------------+----------------------+ | I2C(M) | on-chip | i2c | +-----------+------------+----------------------+ | MPU | on-chip | arch/arm | +-----------+------------+----------------------+ | NVIC | on-chip | arch/arm | +-----------+------------+----------------------+ | PWM | on-chip | pwm | +-----------+------------+----------------------+ | RTC | on-chip | system clock | +-----------+------------+----------------------+ | RTT | Segger | console | +-----------+------------+----------------------+ | SPI(M) | on-chip | spi | +-----------+------------+----------------------+ | UART | on-chip | serial | +-----------+------------+----------------------+ | Modem | on-board | quectel_bg9x | +-----------+------------+----------------------+ Other hardware features have not been enabled yet for this board. See `ABC Board website`_ for more details on this board, and `Nordic Semiconductor Infocenter`_ for a complete list of SoC features. Programming and Debugging ************************* Applications for the ``contextualelectronics_abc`` board configuration can be built and flashed in the usual way (see :ref:`build_an_application` and :ref:`application_run` for more details). Flashing ======== Flashing Zephyr onto the ``contextualelectronics_abc`` board requires an external programmer. The programmer is attached to the SWD header. Build the Zephyr kernel and the :ref:`hello_world` sample application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: contextualelectronics_abc :goals: build :compact: Flash the image. .. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: contextualelectronics_abc :goals: flash :compact: To see the output, run your favorite terminal program. .. code-block:: console $ minicom -D -b 115200 Replace :code:`` with the port where the ABC board can be found. For example, under Linux, :code:`/dev/ttyACM0`. Debugging ========= Refer to the :ref:`nordic_segger` page to learn about debugging Nordic boards with a Segger IC. Selecting the pins ================== Pins can be configured in the board pinctrl file. To see the available mappings, open the `nRF52840 Product Specification`_, chapter 7 'Hardware and Layout'. In the table 7.1.1 'aQFN73 ball assignments' select the pins marked 'General purpose I/O'. Note that pins marked as 'low frequency I/O only' can only be used in under-10KHz applications. They are not suitable for 115200 speed of UART. References ********** .. target-notes:: .. _ABC Board website: https://contextualelectronics.com/courses/advanced-ble-cell-abc-board/ .. _Nordic Semiconductor Infocenter: https://infocenter.nordicsemi.com .. _J-Link Software and documentation pack: https://www.segger.com/jlink-software.html .. _nRF52840 Product Specification: http://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.0.pdf