boards: arm: pinetime_devkit0: Fix docs and config
Fix typos, inconsistent naming and formatting issues. Also setting CONFIG_NFCT_PINS_AS_GPIOS=y because NFC is not used. Signed-off-by: Martin Jäger <martin@libre.solar>
This commit is contained in:
parent
7140c21044
commit
53e606c050
2 changed files with 82 additions and 50 deletions
|
@ -11,10 +11,10 @@ Overview
|
|||
:align: center
|
||||
:alt: Pine64 PineTime
|
||||
|
||||
Board Name (Credit: <owner>)
|
||||
PineTime leaflet (Credit: Pine64)
|
||||
|
||||
|
||||
The PINE64 SmartWatch, dubbed "PineTime", is a product of a community effort
|
||||
The Pine64 smartwatch, dubbed "PineTime", is a product of a community effort
|
||||
for an open source smartwatch in collaboration with wearable RTOS and Linux
|
||||
app developers/communities.
|
||||
|
||||
|
@ -23,12 +23,12 @@ app developers/communities.
|
|||
:align: center
|
||||
:alt: Pine64 PineTime
|
||||
|
||||
Board Name (Credit: <owner>)
|
||||
PineTime Dev Kit (Credit: Pine64)
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
||||
The Pinetime is based on a Nordic NRF52832 chip and features:
|
||||
The PineTime is based on a Nordic NRF52832 chip and features:
|
||||
|
||||
- 64 MHz Cortex-M4 with FPU
|
||||
- 64KB SRAM
|
||||
|
@ -37,80 +37,108 @@ The Pinetime is based on a Nordic NRF52832 chip and features:
|
|||
- 170-180mAh LiPo battery
|
||||
- XT25F32B 32Mb (4MB) SPI NOR Flash
|
||||
- CST816S Capacitive Touch
|
||||
- BMA421 Triaxial VAcceleration Sensor
|
||||
- BMA421 Triaxial Acceleration Sensor
|
||||
- HRS3300 PPG Heart Rate Sensor
|
||||
|
||||
PineTime Port Assignment
|
||||
========================
|
||||
|
||||
See `Pinetime schematics`_
|
||||
See `PineTime schematics`_
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| NRF52 pins | Function | Direction |
|
||||
+======================+=================================+===========+
|
||||
| P0.00/XL1 | 32.768KHz –XL1 | |
|
||||
| P0.01/XL2 | 32.768KHz –XL1 | |
|
||||
| P0.00/XL1 | 32.768 kHz –XL1 | |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.01/XL2 | 32.768 kHz –XL2 | |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.02/AIN0 | SPI-SCK, LCD_SCK | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.03/AIN1 | SPI-MOSI, LCD_SDI | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.04/AIN2 | SPI-MISO | IN |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.05/AIN3 | SPI-CE# (SPI-NOR) | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.06 | BMA421-SDA, HRS3300-SDA, TP-SDA | I/O |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.07 | BMA421-SCL, HRS3300-SCL, TP-SCL | OUT |
|
||||
| P0.08 | BMA421-INT | IN |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.08 | BMA421-INT | IN |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.09/NFC1 | LCD_DET | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.10/NFC2 | TP_RESET | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.11 | | |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.12 | CHARGE INDICATION | IN |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.13 | PUSH BUTTON_IN | IN |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.14/TRACEDATA3 | LCD_BACKLIGHT_LOW | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.15/TRACEDATA2 | PUSH BUTTON_OUT | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.16/TRACEDATA1 | VIBRATOR OUT | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.17 | | |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.18/TRACEDATA0/SWO | LCD_RS OUT | |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.19 | POWER PRESENCE INDICATION | IN |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.20/TRACECLK | | |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.21/nRESET | | |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.22 | LCD_BACKLIGHT_MID | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.23 | LCD_BACKLIGHT_HIGH | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.24 | 3V3 POWER CONTROL | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.25 | LCD_CS | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.26 | LCD_RESET | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.27 | STATUS LED (NOT STAFF) | OUT |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.28/AIN4 | TP_INT | IN |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.29/AIN5 | | |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.30/AIN6 | HRS3300-TEST | IN |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
| P0.31/AIN7 | BATTERY VOLTAGE (Analog) | IN |
|
||||
+----------------------+---------------------------------+-----------+
|
||||
|
||||
Building
|
||||
********
|
||||
|
||||
In order to build Zephyr for the Pinetime, you can specify the pinetime board
|
||||
using the -b option:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ west build -b pinetime
|
||||
In order to get started with Zephyr on the PineTime, you can use the
|
||||
board-specific sample:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/boards/pine64_pinetime
|
||||
:board: pinetime_devkit0
|
||||
:goals: build
|
||||
|
||||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
More infos to be found there:
|
||||
- `Wiki Regrogramming the PineTime`_
|
||||
|
||||
The PineTime Dev Kit comes with the back not glued down to allow it to be
|
||||
easily reprogrammed, however the kit does not include an hardware
|
||||
/debugger.
|
||||
There is a bewildering variety of different hardware programmers available
|
||||
but whatever programmer you have there are only a few tasks you will have to
|
||||
learn about:
|
||||
easily reprogrammed.
|
||||
|
||||
The kit does not include a hardware programmer, but existing debuggers
|
||||
supporting SWD can be used.
|
||||
|
||||
These are the necessary steps for debugging:
|
||||
|
||||
- Unlock the device
|
||||
- Upload new software
|
||||
- Run a debugger
|
||||
|
||||
Unlocking the device is a one-time action that is needed to enable to debug
|
||||
port and provide full access to the device. Unlocking the device will erase
|
||||
all existing software from the internal flash.
|
||||
More infos to be found in the `Wiki Reprogramming the PineTime`_ page.
|
||||
|
||||
Debugger connection
|
||||
===================
|
||||
|
@ -119,6 +147,7 @@ The devkits have exposed SWD pins for flashing and debugging.
|
|||
|
||||
Only a few devs have soldered to these pins, most just use friction to make
|
||||
contact with the programming cable.
|
||||
|
||||
The pinout is:
|
||||
|
||||
.. figure:: img/PineTime_SWD_location.jpg
|
||||
|
@ -129,10 +158,9 @@ The pinout is:
|
|||
Unlocking the Flash memory
|
||||
==========================
|
||||
|
||||
Unlocking the device and erase the memory.
|
||||
|
||||
You need to execute this step only once, to remove the read protection on the
|
||||
memory. Note that it will erase the whole flash memory of the MCU!:
|
||||
Unlocking the device is a one-time action that is needed to enable to debug
|
||||
port and provide full access to the device. This will erase all existing
|
||||
software from the internal flash.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
@ -141,7 +169,7 @@ memory. Note that it will erase the whole flash memory of the MCU!:
|
|||
Flashing
|
||||
========
|
||||
|
||||
Using nrfjprog, flashing the Pinetime is done wit hthe command:
|
||||
Using nrfjprog, flashing the PineTime is done with the command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
@ -149,12 +177,13 @@ Using nrfjprog, flashing the Pinetime is done wit hthe command:
|
|||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
Using Segger Ozone debugger, debugging and flashing is made easy.
|
||||
|
||||
Simply load the .elf file containing the final firmware and
|
||||
setup the debbuger to use SWD ober USB for the chip nRF52832_xxAA.
|
||||
This setup can be done using the menu Tools/J-Link Settings. or directly type
|
||||
in the debugger console the folowing:
|
||||
setup the debbuger to use SWD over USB for the chip nRF52832_xxAA.
|
||||
This setup can be done using the menu Tools/J-Link Settings. or by directly
|
||||
typing the following in the debugger console:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
@ -162,17 +191,24 @@ in the debugger console the folowing:
|
|||
$ Project.SetHostIF ("USB", "");
|
||||
$ Project.SetTargetIF ("SWD");
|
||||
$ Project.SetTIFSpeed ("4 MHz");
|
||||
$ File.Open ("/Users/sdorre/dev/nrf52/pinetine-hypnos/pinetime/build/zephyr/zephyr.elf");
|
||||
$ File.Open ("path/to/your/build/zephyr/zephyr.elf");
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
.. target-notes::
|
||||
|
||||
.. _Pine64 Pinetime presentation: https://www.pine64.org/pinetime
|
||||
.. _Pine64 wiki: https://wiki.pine64.org/index.php/PineTime
|
||||
.. _Pine64 forum: https://forum.pine64.org
|
||||
.. _Pinetime schematics:
|
||||
.. _Pine64 PineTime presentation:
|
||||
https://www.pine64.org/pinetime
|
||||
|
||||
.. _Pine64 PineTime wiki page:
|
||||
https://wiki.pine64.org/index.php/PineTime
|
||||
|
||||
.. _Pine64 forum:
|
||||
https://forum.pine64.org
|
||||
|
||||
.. _PineTime schematics:
|
||||
http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf
|
||||
.. _Wiki Regrogramming the PineTime:
|
||||
|
||||
.. _Wiki Reprogramming the PineTime:
|
||||
https://wiki.pine64.org/index.php/Reprogramming_the_PineTime
|
||||
|
|
|
@ -6,25 +6,21 @@ CONFIG_BOARD_PINETIME_DEVKIT0=y
|
|||
CONFIG_HWINFO=y
|
||||
CONFIG_HWINFO_NRF=y
|
||||
|
||||
# enable MPU
|
||||
CONFIG_ARM_MPU=y
|
||||
|
||||
# enable GPIO
|
||||
CONFIG_GPIO=y
|
||||
|
||||
# enable UART driver
|
||||
CONFIG_SERIAL=y
|
||||
|
||||
# enable I2C0 driver
|
||||
CONFIG_I2C=y
|
||||
|
||||
# enable SPI1 driver
|
||||
CONFIG_SPI=y
|
||||
|
||||
# enable console
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
|
||||
# additional board options
|
||||
# enable P0_21 as RST
|
||||
# use P0.09 and P0.10 as GPIOs
|
||||
CONFIG_NFCT_PINS_AS_GPIOS=y
|
||||
|
||||
# use P0.21 as RST
|
||||
CONFIG_GPIO_AS_PINRESET=y
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue