1.. _quickfeather:
2
3QuickFeather
4############
5
6Overview
7********
8
9The QuickFeather development board is a platform with an on-board QuickLogic
10EOS S3 Sensor Processing Platform.
11
12
13.. figure:: img/feather-board.jpg
14   :align: center
15   :alt: QuickFeather
16
17   QuickFeather (Credit: QuickLogic)
18
19Hardware
20********
21
22- QuickLogic EOS S3 MCU Platform
23- mCube MC3635 accelerometer
24- Infineon DPS310 pressure sensor
25- Infineon IM69D130 MEMS microphone
26- 16 Mbit of on-board flash memory
27- User button
28- RGB LED
29- Integrated battery charger
30
31Detailed information about the board can be found in a `QuickFeather repository`_.
32
33Supported Features
34==================
35
36The QuickFeather configuration supports the following hardware
37features:
38
39+-----------+------------+-------------------------------------+
40| Interface | Controller | Driver/Component                    |
41+===========+============+=====================================+
42| UART      | on-chip    | serial port                         |
43+-----------+------------+-------------------------------------+
44| GPIO      | on-chip    | gpio                                |
45+-----------+------------+-------------------------------------+
46
47The default configuration can be found in the Kconfig file
48:zephyr_file:`boards/arm/quick_feather/quick_feather_defconfig`.
49
50Connections and IOs
51===================
52
53Detailed information about pinouts is available in the `schematics document`_.
54
55Programming and Debugging
56*************************
57
58Flashing
59========
60
61The QuickFeather platform by default boots from flash. Currently
62the Zephyr port only enables loading the program directly to SRAM using either
63OpenOCD and a SWD programmer or SEGGER JLink.
64
65OpenOCD
66-------
67
68In order to connect to the target a SWD programmer supported in
69OpenOCD is needed. To connect to the board run:
70
71.. code-block:: console
72
73   openocd -f /path/to/swd-programmer.cfg -f tcl/board/quicklogic_quickfeather.cfg -c "init" -c "reset halt"
74
75`The QuickFeather OpenOCD config`_ can be found in the OpenOCD mainline repository.
76
77JLink
78-----
79
80To connect to the QuickFeather board with JLink please follow instructions
81in the `QuickFeather User Guide`_.
82
83Debugging
84=========
85
86To debug the QuickFeather board please connect to the target with either
87OpenOCD or JLink and use GDB distributed in Zephyr's SDK in *arm-zephyr-eabi/bin*
88directory.
89
90To load basic sample via GDB:
91
92- Build the sample in an usual way:
93
94.. zephyr-app-commands::
95   :zephyr-app: samples/hello_world
96   :board: quick_feather
97   :goals: build
98
99- Connect to the target using either OpenOCD or JLink
100- Connect via GDB and load an ELF file:
101
102.. code-block:: console
103
104   /path/to/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb
105   target remote <port_number>
106   file </path/to/zephyr.elf>
107   load
108   continue
109
110References
111**********
112
113.. target-notes::
114
115.. _QuickFeather repository:
116    https://github.com/QuickLogic-Corp/quick-feather-dev-board
117
118.. _schematics document:
119    https://github.com/QuickLogic-Corp/quick-feather-dev-board/blob/master/doc/quickfeather-board.pdf
120
121.. _The QuickFeather OpenOCD config:
122    https://sourceforge.net/p/openocd/code/ci/master/tree/tcl/board/quicklogic_quickfeather.cfg
123
124.. _QuickFeather User Guide:
125    https://github.com/QuickLogic-Corp/quick-feather-dev-board/blob/master/doc/QuickFeather_UserGuide.pdf
126