Hardware Development Tools for NuttX

I.Introduction

1.1 Traditional Microcontroller Hardware setup

1.2 Remote tools for Flashing and Debugging

1.2.1 Microcontroller NuttX Flash Process

1.2.2 JTAG Debugging

II.Usual cases of use

2.1 OpenOCD

2.1.1 Introduction

OpenOCD is the open-source Flashing and Debugging software used in most of the cases with NuttX . It provides interfaces to usual Flashing and debugging Hardware through configuration files and additionnal librairies.

Official website: http://openocd.org/

Further documentation about OpenOCD can be found here : http://openocd.org/doc-release/html/index.html and here : http://openocd.org/doc-release/README

Official Source code repository could be found here : http://sourceforge.net/p/openocd/code/ but an extensive version also supporting ESP32 could be found here : https://github.com/espressif/openocd-esp32

2.1.2 Installation

Refer to Ubuntu Install Guide if your are using Ubuntu and OpenBSD Install Guide if you are using OpenBSD

2.2 Link / Flash Utilities

ARM Architectures

J-Link
FT232H
STlinkV2
CP2102

AVR Architectures

MIPS Architectures

J-link
PICkit3

ESP32 Architecture

Zilog Architectures

2.3 Debugging with JTAG and gdb

ARM Architectures

AVR Architectures

MIPS Architectures

ESP32 Architecture

Zilog Architectures

2.4 Logic Analysing

Logic Analyzer is a hardware tool to track signals at a certain sampling speed (eg 24Mhz sampling capability in the salae logic8, 100Mhz for the logic16 , could be split over the different channels)

It is used usually to debug SPI,UART,I2C,I2S or other onboard signals.

You can use Sigrok Open-Source Signal analysis or proprietary Salae logic suite , as they are the most common tools.

2.4.1 Sigrok

2.4.2 Salae Logic

III.Where to buy ?

A look over the official websites of each manufacturer is the best official way to get the tools.

However , A search on Aliexpress with the adapted keywords might help to find cheap chinese copies for those who are short on money.