Heimann HTPA Eval Board (rev0)
Overview
The Heimann HTPA Eval Board (rev0) is a development platform for the
Heimann Thermopile Sensor Array (HTPA) family sensors. Array sensors
range from 8x8 pixels to 160x120 pixels, each with calibrated per
pixel temperature output.
Zephyr support is available as htpa_eval board with different
soc variants: ATSAME70Q20B, ATSAME70Q21, and ATSAME70Q21B.
The default target shown below is ATSAME70Q20B.
Hardware
ATSAME70Q20B/Q21/Q21B ARM Cortex-M7 processor
12 MHz crystal oscillator => SOC @ 300MHz
32.768 kHz crystal oscillator
1 MiB or 2 MiB internal flash, depending on SoC variant
384 KiB RAM
1 MiB external SRAM
Ethernet interface
USB high-speed controller
RGB status LEDs
Camera power and indicator LEDs
User push-button
JTAG debug interface
Supported Features
The htpa_eval board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
htpa_eval/same70q20b target
On-target memory for this board target: 384 KiB of RAM, 1 MiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M7 CPU1 |
|
ADC |
on-chip |
Atmel SAM family AFEC2 |
|
ARM architecture |
on-chip |
Atmel SAM SSC (Synchronous Serial Controller) controller1 |
|
CAN |
on-chip |
Specialization of Bosch m_can CAN FD controller for Atmel SAM2 |
|
Clock control |
on-chip |
Atmel Power Management Controller (PMC)1 |
|
Counter |
on-chip |
Atmel SAM Timer Counter (TC) node4 |
|
DAC |
on-chip |
Atmel SAM family DAC1 |
|
DMA |
on-chip |
Atmel SAM XDMAC controller1 |
|
Ethernet |
on-chip |
Microchip SAM Ethernet Controller1 |
|
on-chip |
Atmel SAM-family GMAC Ethernet1 |
||
on-chip |
Atmel SAM Family MDIO Driver node1 |
||
on-board |
Generic MII PHY1 |
||
Flash controller |
on-chip |
Atmel SAM Enhanced Embedded Flash Controller (EEFC)1 |
|
GPIO & Headers |
on-chip |
SAM GPIO Port5 |
|
Hardware information |
on-chip |
ATMEL SAM Reset controller1 |
|
I2C |
on-chip |
Atmel SAM Family I2C (TWIHS)3 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Memory controller |
on-board |
Atmel Static Memory Controller (SMC)1 |
|
MMU / MPU |
on-chip |
ARMv7-M Memory Protection Unit (MPU)1 |
|
MTD |
on-chip |
This binding describes the Atmel SAM flash area layout1 |
|
Pin control |
on-chip |
Atmel SAM Pinctrl Container1 |
|
Power management |
on-chip |
Atmel SAM SUPC (Supply-Controller) controller1 |
|
PWM |
on-chip |
Atmel SAM PWM2 |
|
RNG |
on-chip |
Atmel SAM RNG1 |
|
RTC |
on-chip |
Atmel SAM family RTC device1 |
|
SDHC |
on-chip |
ATMEL (Microchip) SAM HSMCI SD host controller1 |
|
Sensors |
on-chip |
Atmel SAM Timer Counter (TC) QDEC mode4 |
|
Serial controller |
on-chip |
Atmel SAM family USART3 |
|
on-chip |
|||
SPI |
on-chip |
Atmel SAM SPI controller2 |
|
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
USB |
on-chip |
Atmel SAM Family USB (USBHS) in device mode1 |
|
Watchdog |
on-chip |
ATMEL SAM0 watchdog1 |
htpa_eval/same70q21 target
On-target memory for this board target: 384 KiB of RAM, 2 MiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M7 CPU1 |
|
ADC |
on-chip |
Atmel SAM family AFEC2 |
|
ARM architecture |
on-chip |
Atmel SAM SSC (Synchronous Serial Controller) controller1 |
|
CAN |
on-chip |
Specialization of Bosch m_can CAN FD controller for Atmel SAM2 |
|
Clock control |
on-chip |
Atmel Power Management Controller (PMC)1 |
|
Counter |
on-chip |
Atmel SAM Timer Counter (TC) node4 |
|
DAC |
on-chip |
Atmel SAM family DAC1 |
|
DMA |
on-chip |
Atmel SAM XDMAC controller1 |
|
Ethernet |
on-chip |
Microchip SAM Ethernet Controller1 |
|
on-chip |
Atmel SAM-family GMAC Ethernet1 |
||
on-chip |
Atmel SAM Family MDIO Driver node1 |
||
on-board |
Generic MII PHY1 |
||
Flash controller |
on-chip |
Atmel SAM Enhanced Embedded Flash Controller (EEFC)1 |
|
GPIO & Headers |
on-chip |
SAM GPIO Port5 |
|
Hardware information |
on-chip |
ATMEL SAM Reset controller1 |
|
I2C |
on-chip |
Atmel SAM Family I2C (TWIHS)3 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Memory controller |
on-board |
Atmel Static Memory Controller (SMC)1 |
|
MMU / MPU |
on-chip |
ARMv7-M Memory Protection Unit (MPU)1 |
|
MTD |
on-chip |
This binding describes the Atmel SAM flash area layout1 |
|
Pin control |
on-chip |
Atmel SAM Pinctrl Container1 |
|
Power management |
on-chip |
Atmel SAM SUPC (Supply-Controller) controller1 |
|
PWM |
on-chip |
Atmel SAM PWM2 |
|
RNG |
on-chip |
Atmel SAM RNG1 |
|
RTC |
on-chip |
Atmel SAM family RTC device1 |
|
SDHC |
on-chip |
ATMEL (Microchip) SAM HSMCI SD host controller1 |
|
Sensors |
on-chip |
Atmel SAM Timer Counter (TC) QDEC mode4 |
|
Serial controller |
on-chip |
Atmel SAM family USART3 |
|
on-chip |
|||
SPI |
on-chip |
Atmel SAM SPI controller2 |
|
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
USB |
on-chip |
Atmel SAM Family USB (USBHS) in device mode1 |
|
Watchdog |
on-chip |
ATMEL SAM0 watchdog1 |
htpa_eval/same70q21b target
On-target memory for this board target: 384 KiB of RAM, 2 MiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M7 CPU1 |
|
ADC |
on-chip |
Atmel SAM family AFEC2 |
|
ARM architecture |
on-chip |
Atmel SAM SSC (Synchronous Serial Controller) controller1 |
|
CAN |
on-chip |
Specialization of Bosch m_can CAN FD controller for Atmel SAM2 |
|
Clock control |
on-chip |
Atmel Power Management Controller (PMC)1 |
|
Counter |
on-chip |
Atmel SAM Timer Counter (TC) node4 |
|
DAC |
on-chip |
Atmel SAM family DAC1 |
|
DMA |
on-chip |
Atmel SAM XDMAC controller1 |
|
Ethernet |
on-chip |
Microchip SAM Ethernet Controller1 |
|
on-chip |
Atmel SAM-family GMAC Ethernet1 |
||
on-chip |
Atmel SAM Family MDIO Driver node1 |
||
on-board |
Generic MII PHY1 |
||
Flash controller |
on-chip |
Atmel SAM Enhanced Embedded Flash Controller (EEFC)1 |
|
GPIO & Headers |
on-chip |
SAM GPIO Port5 |
|
Hardware information |
on-chip |
ATMEL SAM Reset controller1 |
|
I2C |
on-chip |
Atmel SAM Family I2C (TWIHS)3 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Memory controller |
on-board |
Atmel Static Memory Controller (SMC)1 |
|
MMU / MPU |
on-chip |
ARMv7-M Memory Protection Unit (MPU)1 |
|
MTD |
on-chip |
This binding describes the Atmel SAM flash area layout1 |
|
Pin control |
on-chip |
Atmel SAM Pinctrl Container1 |
|
Power management |
on-chip |
Atmel SAM SUPC (Supply-Controller) controller1 |
|
PWM |
on-chip |
Atmel SAM PWM2 |
|
RNG |
on-chip |
Atmel SAM RNG1 |
|
RTC |
on-chip |
Atmel SAM family RTC device1 |
|
SDHC |
on-chip |
ATMEL (Microchip) SAM HSMCI SD host controller1 |
|
Sensors |
on-chip |
Atmel SAM Timer Counter (TC) QDEC mode4 |
|
Serial controller |
on-chip |
Atmel SAM family USART3 |
|
on-chip |
|||
SPI |
on-chip |
Atmel SAM SPI controller2 |
|
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
USB |
on-chip |
Atmel SAM Family USB (USBHS) in device mode1 |
|
Watchdog |
on-chip |
ATMEL SAM0 watchdog1 |
Connections and IOs
UART0 is routed as the Zephyr console on this board. For board-specific connector and signal details, refer to the board schematic and hardware documentation.
System Clock
The ATSAME70 MCU is configured to use the 12 MHz external oscillator on the board with the on-chip PLL to generate a 300 MHz system clock.
Programming and Debugging
The htpa_eval board supports the runners and associated west commands listed below.
| flash | debug | rtt | debugserver | attach | |
|---|---|---|---|---|---|
| openocd | ✅ (default) | ✅ (default) | ✅ | ✅ | ✅ |
ROM and Boot Behavior
Factory-new SAME70 devices boot the SAM-BA [3] boot loader from ROM rather
than the flashed image. Boot selection is controlled by the GPNVM1
(General-Purpose NVM bit 1) flag:
GPNVM1 = 0 boots the ROM SAM-BA loader
GPNVM1 = 1 boots from flash
If GPNVM0 is set, the device cannot be programmed via the SAM-BA loader. A full chip erase is required, which clears the flash and GPNVM bits. Note: J-Link (the preferred flash option) can program and debug at all time.
OpenOCD and J-Link
The recommended flashing path uses the OpenOCD tool [1] together with a J-Link [2] debug probe. This path automatically sets GPNVM1 to 1 after programming, so the device boots the flashed image on reset.
Flashing the Zephyr project through OpenOCD requires the OpenOCD tool [1], which is built into Zephyr.
Flashing
Build and flash the Hello World application for the ATSAME70Q20B variant:
# From the root of the zephyr repository west build -b htpa_eval/same70q20b samples/hello_world west flash
The other supported variants are
htpa_eval/same70q21andhtpa_eval/same70q21b.Connect your serial terminal to the board console at 115200 8N1.
You should see
Hello World! htpa_evalin your terminal.
SAM-BA CLI
The board also supports SAM-BA uploads over the external UART interface. This path is useful when you want to work without a debug probe.
Before using the SAM-BA CLI, assert the board’s flash erase jumper so the
device can be erased and recovered if needed. The flash erase signal is
PB12. The board’s R7 resistor can be shorted while the board is
booting to trigger the flash erase sequence. After the erase sequence is
complete, you can upload the image with the SAM-BA command-line tools over
the board’s UART0 serial connection.
Debugging
You can debug an application in the usual way. Here is an example for the Hello World application.
# From the root of the zephyr repository
west build -b htpa_eval/same70q20b samples/hello_world
west debug