boards/cypress/cy8ckit_062_ble/doc/index.rst
.. zephyr:board:: cy8ckit_062_ble
Overview
The PSOC 6 BLE Pioneer Kit (CY8CKIT-062-BLE) is a hardware platform that enables design and debug of the Cypress PSOC 63 BLE MCU.
The PSOC 6 BLE Pioneer Kit features the PSOC 63 MCU: a dual-core MCU, with a 150-MHz Arm Cortex-M4 as the primary application processor and a 100-MHz Arm Cortex-M0+ that supports low-power operations, 1MB of Flash, 288KB of SRAM, an integrated BLE 4.2 radio, 78 GPIO, 7 programmable analog blocks, 12 programmable digital blocks, and capacitive-sensing with CapSense.
The PSOC 6 BLE Pioneer board offers compatibility with Arduino shields, a 512-Mb NOR flash, onboard programmer/debugger (KitProg2), USB Type-C power delivery system (EZ-PD™ CCG3), 5-segment CapSense slider, two CapSense buttons, one CapSense proximity sensing header, an RGB LED, two user LEDs, and one push button.
The CY8CKIT-062-BLE package includes a CY8CKIT-028-EPD E-INK Display Shield that contains a 2.7-inch E-INK display, a motion sensor, a thermistor, and a PDM microphone. The kit package also contains a CY5677 CySmart BLE 4.2 USB Dongle that is factory-programmed to emulate a BLE GAP Central device, enabling you to emulate a BLE host on your computer.
The Cortex-M0+ is a primary core on the board's SoC. It starts first and enables the CM4 core.
Hardware
For more information about the PSOC 63 BLE MCU SoC and CY8CKIT-062-BLE board:
PSOC 63 BLE MCU SoC Website_PSOC 63 BLE MCU Datasheet_PSOC 63 BLE MCU Architecture Reference Manual_PSOC 63 BLE MCU Register Reference Manual_CY8CKIT-062-BLE Website_CY8CKIT-062-BLE User Guide_CY8CKIT-062-BLE Schematics_.. zephyr:board-supported-hw::
The PSOC 63 BLE MCU SoC is configured to use the internal IMO+FLL as a source for the system clock. CM0+ works at 50MHz, CM4 - at 100MHz. Other sources for the system clock are provided in the SOC, depending on your system requirements.
The PSOC 63 BLE MCU SoC has 8 SCB blocks and each one can be configured as UART/SPI/I2C interfaces for serial communication. At the moment UART5 on SCB5 and UART6 on SCB6 are configured. SCB5 is connected to the onboard KitProg2's USB-UART Bridge working as a serial console interface. SCB6 to P13_0, P13_1 pins on the J3 of the Arduino Uno R3 compatible PSOC 6 I/O header for general purposes.
To get the OpenOCD package, it is required that you
Programming and Debugging
.. zephyr:board-supported-runners::
The CY8CKIT-062-BLE includes an onboard programmer/debugger (KitProg2) with mass storage programming to provide debugging, flash programming, and serial communication over USB. There are also PSOC 6 program and debug headers J11 and J12 that can be used with Segger J-Link [default]. A watchdog timer is enabled by default. To disable it call Cy_WDT_Unlock() and Cy_WDT_Disable().
#. Build the Zephyr kernel and the :zephyr:code-sample:hello_world sample application:
.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: cy8ckit_062_ble/cy8c6347/m0 :goals: build :compact:
#. Run your favorite terminal program to listen for output. Under Linux the
terminal should be :code:/dev/ttyACM0. For example:
.. code-block:: console
$ minicom -D /dev/ttyACM0 -o
The -o option tells minicom not to send the modem initialization string. Connection should be configured as follows:
- Speed: 115200
- Data: 8 bits
- Parity: None
- Stop bits: 1
#. To flash an image:
.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: cy8ckit_062_ble/cy8c6347/m0 :goals: flash :compact:
You should see "Hello World! cy8ckit_062_ble" in your terminal.
Running on Dual Core
#. Build the Zephyr kernel and the :zephyr:code-sample:button sample application:
.. zephyr-app-commands:: :zephyr-app: samples/basic/button :board: cy8ckit_062_ble/cy8c6347/m4 :goals: build :compact:
#. If you have a USB-Serial adapter, you can connect SBC[UART]-6 on Arduino
header. Schematic should be checked for connections. Run your favorite
terminal program again now listen for another output. Under Linux the
terminal should be :code:/dev/ttyUSB0. For example:
.. code-block:: console
$ minicom -D /dev/ttyUSB0 -o
The -o option tells minicom not to send the modem initialization string. Connection should be configured as follows:
- Speed: 115200
- Data: 8 bits
- Parity: None
- Stop bits: 1
#. To flash an image:
.. zephyr-app-commands:: :zephyr-app: samples/basic/button :board: cy8ckit_062_ble/cy8c6347/m4 :goals: flash :compact:
#. Configure Cortex-M0+ to enable Cortex-M4:
The last step flash the M4 image on the flash. However, Cortex-M0 by default doesn't start the M4 and nothing will happen. To enable Cortex-M4 CPU, repeat the steps on programming and debug and add the following parameter when performing the build process.
.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: cy8ckit_062_ble/cy8c6347/m0 :goals: build flash :gen-args: -DCONFIG_SOC_PSOC6_M0_ENABLES_M4=y :compact:
Now you can press button SW-2 and see LED-9 blink at same time you have the "Hello World! cy8ckit_062_ble" in the your terminal.
Board Revision
The CY8CKIT-062-BLE KitProg2 shares connections with Arduino-R3 header. This connections may not allow the correct use of shields. The default board revision (0.0.0) allows use of default connections. The use of Arduino headers are only possible after rework the board and using the revision 1.0.0.
#. Build the Zephyr kernel and the :zephyr:code-sample:hello_world sample application for
board revision 1.0.0:
.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: [email protected]/cy8c6347/m0 :goals: build :compact:
#. The differences from version 0.0.0 to 1.0.0:
+-------------+------------+------------+ | Connection | 0.0.0 | 1.0.0 | +=============+============+============+ | CDC-COM RX | P5_0 | P9_0 | +-------------+------------+------------+ | CDC-COM TX | P5_1 | P9_1 | +-------------+------------+------------+ | R77 | X | | +-------------+------------+------------+ | R78 | | X | +-------------+------------+------------+
The P9 pins are available at J2. Those signals should be routed to J6.
J2-2 to J6-14 J2-4 to J6-13
The most complex part is short circuit pins 14 and 15 from U13. That connect UART_RTS with UART_CTS from KitProg2.
References
.. target-notes::
.. _PSOC 63 BLE MCU SoC Website: https://www.cypress.com/products/32-bit-arm-cortex-m4-cortex-m0-psoc-63-connectivity-line
.. _PSOC 63 BLE MCU Datasheet: https://www.cypress.com/documentation/datasheets/psoc-6-mcu-psoc-63-ble-datasheet-programmable-system-chip-psoc
.. _PSOC 63 BLE MCU Architecture Reference Manual: https://www.cypress.com/documentation/technical-reference-manuals/psoc-6-mcu-psoc-63-ble-architecture-technical-reference
.. _PSOC 63 BLE MCU Register Reference Manual: https://www.cypress.com/documentation/technical-reference-manuals/psoc-6-mcu-cy8c63x6-cy8c63x7-cy8c63x6-cy8c63x7-registers
.. _CY8CKIT-062-BLE Website: https://www.cypress.com/documentation/development-kitsboards/psoc-6-ble-pioneer-kit-cy8ckit-062-ble
.. _CY8CKIT-062-BLE User Guide: https://www.cypress.com/file/390496/download
.. _CY8CKIT-062-BLE Schematics: https://www.cypress.com/file/417021/download