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