blob: 66aefe952c0a2a8c34dce95df11de1de7a5295d0 [file] [log] [blame]
.. _teensy40:
PJRC TEENSY 4
#############
Overview
********
The Teensy is a complete USB-based microcontroller development system, in a
very small footprint, capable of implementing many types of projects. All
programming is done via the USB port.
.. figure:: teensy40.jpg
:align: center
:alt: TEENSY40
TEENSY40 (Credit: https://www.pjrc.com)
.. figure:: teensy41.jpg
:align: center
:alt: TEENSY41
TEENSY41 (Credit: https://www.pjrc.com)
Hardware
********
Teensy 4.0:
- MIMXRT1062DVL6A MCU (600 MHz, 1024 KB on-chip memory)
- 16 Mbit QSPI Flash
- LED
- USB 2.0 host connector
Teensy 4.1:
- MIMXRT1062DVJ6A MCU (600 MHz, 1024 KB on-chip memory)
- 64 Mbit QSPI Flash
- LED
- USB 2.0 host connector
- USB 2.0 OTG connector
- 10/100 Mbit/s Ethernet PHY
- TF socket for SD card
See the `Teensy 4.0 Website`_ for a complete hardware description.
Supported Features
==================
The teensy40 board configuration supports the following hardware
features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| I2C | on-chip | i2c |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+
| USB | on-chip | USB device |
+-----------+------------+-------------------------------------+
The default configuration can be found in
:zephyr_file:`boards/pjrc/teensy4/teensy40_defconfig`
The teensy41 board configuration supports additional hardware
features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| SDHC | on-chip | disk access |
+-----------+------------+-------------------------------------+
| ENET | on-chip | ethernet |
+-----------+------------+-------------------------------------+
The default configuration can be found in
:zephyr_file:`boards/pjrc/teensy4/teensy41_defconfig`
Other hardware features are not currently supported by the port.
Connections and IOs
===================
Pin mappings from Teensy to MIMXRT1062 SoC.
+-----+------------+-------------------------------------+
| Pin | Pad ID | Usage |
+=====+============+=====================================+
| 0 | AD_B0_03 | GPIO1_3 / UART6_RX / CAN2_RX |
+-----+------------+-------------------------------------+
| 1 | AD_B0_02 | GPIO1_2 / UART6_TX / CAN2_TX |
+-----+------------+-------------------------------------+
| 2 | EMC_04 | GPIO4_4 |
+-----+------------+-------------------------------------+
| 3 | EMC_05 | GPIO4_5 |
+-----+------------+-------------------------------------+
| 4 | EMC_06 | GPIO4_6 |
+-----+------------+-------------------------------------+
| 5 | EMC_08 | GPIO4_8 |
+-----+------------+-------------------------------------+
| 6 | B0_10 | GPIO2_10 |
+-----+------------+-------------------------------------+
| 7 | B1_01 | GPIO2_17 / UART4_RX |
+-----+------------+-------------------------------------+
| 8 | B1_00 | GPIO2_16 / UART4_TX |
+-----+------------+-------------------------------------+
| 9 | B0_11 | GPIO2_11 |
+-----+------------+-------------------------------------+
| 10 | B0_00 | GPIO2_0 |
+-----+------------+-------------------------------------+
| 11 | B0_02 | GPIO2_2 |
+-----+------------+-------------------------------------+
| 12 | B0_01 | GPIO2_1 |
+-----+------------+-------------------------------------+
| 13 | B0_03 | GPIO2_3 / LED |
+-----+------------+-------------------------------------+
| 14 | AD_B1_02 | GPIO1_18 / UART2_TX |
+-----+------------+-------------------------------------+
| 15 | AD_B1_03 | GPIO1_19 / UART2_RX |
+-----+------------+-------------------------------------+
| 16 | AD_B1_07 | GPIO1_23 / UART3_RX / I2C3_SCL |
+-----+------------+-------------------------------------+
| 17 | AD_B1_06 | GPIO1_22 / UART3_TX / I2C3_SDA |
+-----+------------+-------------------------------------+
| 18 | AD_B1_01 | GPIO1_17 / I2C1_SDA |
+-----+------------+-------------------------------------+
| 19 | AD_B1_00 | GPIO1_16 / I2C1_SCL |
+-----+------------+-------------------------------------+
| 20 | AD_B1_10 | GPIO1_26 / UART8_TX |
+-----+------------+-------------------------------------+
| 21 | AD_B1_11 | GPIO1_27 / UART8_RX |
+-----+------------+-------------------------------------+
| 22 | AD_B1_08 | GPIO1_24 / CAN1_TX |
+-----+------------+-------------------------------------+
| 23 | AD_B1_09 | GPIO1_25 / CAN1_RX |
+-----+------------+-------------------------------------+
| 24 | AD_B0_12 | GPIO1_12 / UART1_TX / I2C4_SCL |
+-----+------------+-------------------------------------+
| 25 | AD_B0_13 | GPIO1_13 / UART1_RX / I2C4_SDA |
+-----+------------+-------------------------------------+
| 26 | AD_B1_14 | GPIO1_30 / SPI3_MOSI |
+-----+------------+-------------------------------------+
| 27 | AD_B1_15 | GPIO1_31 / SPI3_SCK |
+-----+------------+-------------------------------------+
| 28 | EMC_32 | GPIO3_18 / UART7_RX |
+-----+------------+-------------------------------------+
| 29 | EMC_31 | GPIO4_31 / UART7_TX |
+-----+------------+-------------------------------------+
| 30 | EMC_37 | GPIO3_23 / CAN3_RX |
+-----+------------+-------------------------------------+
| 31 | EMC_36 | GPIO3_22 / CAN3_TX |
+-----+------------+-------------------------------------+
| 32 | B0_12 | GPIO2_12 |
+-----+------------+-------------------------------------+
| 33 | EMC_07 | GPIO4_7 |
+-----+------------+-------------------------------------+
Only Teensy 4.0:
+-----+------------+-------------------------------------+
| 34 | SD_B0_03 | GPIO3_15 |
+-----+------------+-------------------------------------+
| 35 | SD_B0_02 | GPIO3_14 |
+-----+------------+-------------------------------------+
| 36 | SD_B0_01 | GPIO3_13 |
+-----+------------+-------------------------------------+
| 37 | SD_B0_00 | GPIO3_12 |
+-----+------------+-------------------------------------+
| 38 | SD_B0_05 | GPIO3_17 |
+-----+------------+-------------------------------------+
| 39 | SD_B0_04 | GPIO3_16 |
+-----+------------+-------------------------------------+
Only Teensy 4.1:
+-----+------------+-------------------------------------+
| 34 | B1_13 | GPIO2_29 / UART5_RX |
+-----+------------+-------------------------------------+
| 35 | B1_12 | GPIO2_28 / UART5_TX |
+-----+------------+-------------------------------------+
| 36 | B1_02 | GPIO2_18 |
+-----+------------+-------------------------------------+
| 37 | B1_03 | GPIO2_19 |
+-----+------------+-------------------------------------+
| 38 | AD_B1_12 | GPIO1_28 / SPI3_CS |
+-----+------------+-------------------------------------+
| 39 | AD_B1_13 | GPIO1_29 / SPI3_MISO |
+-----+------------+-------------------------------------+
| 40 | AD_B1_04 | GPIO1_20 |
+-----+------------+-------------------------------------+
| 41 | AD_B1_05 | GPIO1_21 |
+-----+------------+-------------------------------------+
Programming and Debugging
*************************
Flashing
========
Build applications as usual (see :ref:`build_an_application` for more details).
Flash hex-file with the documented tools:
.. _Teensy flash tools:
https://www.pjrc.com/teensy/loader.html
Debugging
=========
Console output is mapped to teensy pins 0 (RX1) and 1 (TX1). Connect a usb-to-serial adapter
to use this serial console. Use the following settings with your serial terminal of choice (minicom, putty,
etc.):
- Speed: 115200
- Data: 8 bits
- Parity: None
- Stop bits: 1
References
**********
.. target-notes::
.. _Teensy 4.0 Website:
https://www.pjrc.com/store/teensy40.html
.. _Teensy Schematics:
https://www.pjrc.com/teensy/schematic.html
.. _i.MX RT1060 Website:
https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-rt-series/i.mx-rt1060-crossover-processor-with-arm-cortex-m7-core:i.MX-RT1060
.. _i.MX RT1060 Datasheet:
https://www.nxp.com/docs/en/nxp/data-sheets/IMXRT1060CEC.pdf
.. _i.MX RT1060 Reference Manual:
https://www.nxp.com/webapp/Download?colCode=IMXRT1060RM