blob: 1960a00257ed9c71389975aff3ea1aa55d3c6896 [file] [log] [blame]
.. zephyr:board:: max78000fthr
Overview
********
The MAX78000FTHR is a rapid development platform to help engineers quickly implement ultra low-power, artificial
intelligence (AI) solutions using the MAX78000 Arm® Cortex®-M4F processor with an integrated Convolutional Neural Network
accelerator. The board also includes the MAX20303 PMIC for battery and power management. The form factor is 0.9in x 2.6in
dual-row header footprint that is compatible with Adafruit Feather Wing peripheral expansion boards. The board includes a
variety of peripherals, such as a CMOS VGA image sensor, digital microphone, low-power stereo audio CODEC, 1MB QSPI
SRAM, micro SD card connector, RGB indicator LED, and pushbutton. The MAX78000FTHR provides a poweroptimized flexible
platform for quick proof-of-concepts and early software development to enhance time to market.
The Zephyr port is running on the MAX78000 MCU.
Hardware
********
- MAX78000 MCU:
- Dual-Core, Low-Power Microcontroller
- Arm Cortex-M4 Processor with FPU up to 100MHz
- 512KB Flash and 128KB SRAM
- Optimized Performance with 16KB Instruction Cache
- Optional Error Correction Code (ECC-SEC-DED) for SRAM
- 32-Bit RISC-V Coprocessor up to 60MHz
- Up to 52 General-Purpose I/O Pins
- 12-Bit Parallel Camera Interface
- One I2S Master/Slave for Digital Audio Interface
- Neural Network Accelerator
- Highly Optimized for Deep Convolutional Neural Networks
- 442k 8-Bit Weight Capacity with 1,2,4,8-Bit Weights
- Programmable Input Image Size up to 1024 x 1024 pixels
- Programmable Network Depth up to 64 Layers
- Programmable per Layer Network Channel Widths up to 1024 Channels
- 1 and 2 Dimensional Convolution Processing
- Streaming Mode
- Flexibility to Support Other Network Types, Including MLP and Recurrent Neural Networks
- Power Management Maximizes Operating Time for Battery Applications
- Integrated Single-Inductor Multiple-Output (SIMO) Switch-Mode Power Supply (SMPS)
- 2.0V to 3.6V SIMO Supply Voltage Range
- Dynamic Voltage Scaling Minimizes Active Core Power Consumption
- 22.2μA/MHz While Loop Execution at 3.0V from Cache (CM4 Only)
- Selectable SRAM Retention in Low-Power Modes with Real-Time Clock (RTC) Enabled
- Security and Integrity
- Available Secure Boot
- AES 128/192/256 Hardware Acceleration Engine
- True Random Number Generator (TRNG) Seed Generator
Supported Features
==================
.. zephyr:board-supported-hw::
Connections and IOs
===================
J8 Pinout
**********
+---------+----------+-------------------------------------------------------------------------------------------------+
| Pin | Name | Description |
+=========+==========+=================================================================================================+
| 1 | RST | Master Reset Signal |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 2 | 3V3 | 3.3V Output. Typically used to provide 3.3V to peripherals connected to the expansion headers. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 3 | 1V8 | 1.8V Output. Typically used to provide 1.8V to peripherals connected to the expansion headers. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 4 | GND | Ground |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 5 | P2_3 | GPIO or Analog Input (AIN3 channel). |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 6 | P2_4 | GPIO or Analog Input (AIN4 channel). |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 7 | P1_1 | GPIO or UART2 Tx signal |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 8 | P1_0 | GPIO or UART2 Rx signal |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 9 | MPC1 | GPIO controlled by PMIC through I2C interface. Open drain or push-pull programmable |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 10 | MPC2 | GPIO controlled by PMIC through I2C interface. Open drain or push-pull programmable |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 11 | P0_7 | GPIO or QSPI0 clock signal. Shared with SD card and on-board QSPI SRAM |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 12 | P0_5 | GPIO or QSPI0 MOSI signal. Shared with SD card and on-board QSPI SRAM |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 13 | P0_6 | GPIO or QSPI0 MISO signal. Shared with SD card and on-board QSPI SRAM |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 14 | P2_6 | GPIO or LPUART Rx signal |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 15 | P2_7 | GPIO or LPUART Tx signal |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 16 | GND | Ground |
+---------+----------+-------------------------------------------------------------------------------------------------+
J4 Pinout
**********
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| Pin | Name | Description |
+=========+==========+===========================================================================================================+
| 1 | SYS | SYS Switched Connection to the Battery. This is the primary system power supply and automatically |
| | | switches between the battery voltage and the USB supply when available. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 2 | PWR | Turns off the PMIC if shorted to Ground for 13 seconds. Hard power-down button. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 3 | VBUS | USB VBUS Signal. This can be used as a 5V supply when connected to USB. This pin can also be |
| | | used as an input to power the board. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 4 | P1_6 | GPIO |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 5 | MPC3 | GPIO controlled by PMIC through the I2C interface. Open drain or push-pull programmable. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 6 | P0_9 | GPIO or QSPI0 SDIO3 signal. Shared with SD card and on-board QSPI SRAM. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 7 | P0_8 | GPIO or QSPI0 SDIO2 signal. Shared with SD Card and on-board QSPI SRAM. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 8 | P0_11 | GPIO or QSPI0 slave select signal |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 9 | P0_19 | GPIO |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 10 | P3_1 | GPIO or Wake-up signal. This pin is 3.3V only. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 11 | P0_16 | GPIO or I2C1 SCL signal. An on-board level shifter allows selecting 1.8V or 3.3V operation through |
| | | R15 or R20 resistors. Do not populate both. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 12 | P0_17 | GPIO or I2C1 SDA signal. An on-board level shifter allows selecting 1.8V or 3.3V operation through |
| | | R15 or R20 resistors. Do not populate both. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
Programming and Debugging
*************************
.. zephyr:board-supported-runners::
Flashing
========
The MAX32625 microcontroller on the board is preprogrammed with DAPLink firmware.
It allows debugging and programming of the MAX78000 Arm core over USB.
Once the debug probe is connected to your host computer, then you can simply run the
``west flash`` command to write a firmware image into flash. To perform a full erase,
pass the ``--erase`` option when executing ``west flash``.
.. note::
This board uses OpenOCD as the default debug interface. You can also use
a Segger J-Link with Segger's native tooling by overriding the runner,
appending ``--runner jlink`` to your ``west`` command(s). The J-Link should
be connected to the standard 2*5 pin debug connector (JH5) using an
appropriate adapter board and cable.
Debugging
=========
Please refer to the `Flashing`_ section and run the ``west debug`` command
instead of ``west flash``.
References
**********
- `MAX78000FTHR web page`_
.. _MAX78000FTHR web page:
https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max78000fthr.html