Skip to content

1. Chip Identification Example Tutorial

This example demonstrates how to read and display the chip’s unique ID and firmware version information (bootloader, application and SPECT firmware versions). You will learn about the following functions:

  • lt_reboot(): L2 request to reboot to either Application or Maintenance Mode,
  • lt_get_info_riscv_fw_ver(), lt_get_info_spect_fw_ver(): L2 requests to read RISC-V CPU and SPECT firmware versions,
  • lt_get_info_chip_id(): L2 request to read chip identification (e.g., serial number).

Build and Run

Building and running the example

Go to the example's project directory:

cd examples/stm32/<your_board>/identify_chip/

Create a build/ directory and switch to it:

mkdir build/
cd build/

Open your STM32's serial port using your preferred serial monitor with configuration 8-N-1 and baudrate set to 115200. By default, the serial port is mapped to /dev/ttyACM0. For example, using GTKTerm:

gtkterm -p /dev/ttyACM0 -s 115200

Warning

Make sure only one serial monitor has the STM32's serial port open, otherwise your output may appear mangled.

And finally, build and run the example:

cmake ..
make
make flash

TBA

TBA

After this, you should see a colored output in your serial monitor.

Configuration

In addition to the Libtropic CMake options used to configure Libtropic, this example provides the following CMake option:

  • STLINK_SERIAL_NUMBER (default: none, OpenOCD looks for any STLink programming interface) specifies the serial number of the STLink device used for flashing. This is needed only when you have multiple STM32s connected via built-in STLink or when OpenOCD autodetection does not work:

    Configuring STLink serial number
    cmake -DSTLINK_SERIAL_NUMBER=<stlink_serial_number> ..
    make
    make flash
    

    TBA

    TBA

Next example