EC Commands

The USRP E320 has an always-on microcontroller called the Emebedded Controller (EC). The EC is connected to a USB-UART transceiver and implements a basic menu via this UART. The menu supports querying the state of various hardware parameters (voltage regulators, system temperatures, etc), toggling the Zynq reset, and emulating power button presses.

The EC commands below can be useful during development. However these commands are optional - the 802.11 MAC/PHY design can be used on the USRP E320 without using the EC terminal.

Connecting to the EC UART

The EC UART interface shares a USB-UART transceiver with the Zynq PS UART peripheral. Refer to the E320 UART page for details on connecting your PC to the EC UART.

The EC will print the following output to its UART on powerup. Note the EC is active immediately upon connection to power, even before the node is powered on via the front-panel power button.

--- UART initialized after reboot ---
[Reset cause: reset-pin power-on]
[Image: RO, neon_v1.1.7353-e8a05419f 2018-08-14 10:18:25]
[0.000408 Inits done]
[0.034882 SW 0x03]
Enclosure version ... using alternative thermal parameters
Console is enabled; type HELP for help.
> [0.045700 event set 0x00002000]
[0.045818 hostcmd init 0x2000]
[0.327072 power button released]
[0.327265 SW 0x01]

EC Menu

Hit Enter in the EC UART to verify the command prompt > is shown. Run help to see a list of available EC commands.

We find the following commands useful during development:

  • powerbtn <msec>: emulates pressing the E320 power button for msec miliseconds. Use this command to power the E320 on/off without actually pressing the button
    • powerbtn 1: Emulates quick button press, triggers Zynq Power Off -> On
    • powerbtn 3500: Emulates long button press, triggers Zynq Power On -> Off
  • apreset: toggles the Zynq reset signal, triggers a full reboot of the Zynq PS/PL
  • eeinfo: displays EEPROM contents, including the node’s serial number and MAC addresses
  • temps: displays readings from five temperature sensors
  • ver: displays version information for the current EC firmware (see below)

EC Firmware Versions

The EC flash stores two firmware images - a read-only (RO) image loaded during manufacturing and a read-write (RW) image that can be updated at boot. The EC always boots the RO firmware image at powerup.

A bootloader in the Zynq ARM can update the EC RW image and reboot the EC from the RW image. The 802.11 design requires the EC to run a custom RW image which disables watchdogs implemented in the standard RO/RW images from NI. The RW image will be updated automatically the first time the E320 boots from an SD card initialized with the Mango design files.

You can verify the current EC firmware image with the ver command via the EC UART menu.

The RO Image output from ver:

> ver
Chip:    stm stm32f07x
Board:   3
RO:      neon_v1.1.7353-e8a05419f
RW:      neon_v0.0.11+db09ca69
Build:   neon_v0.0.11+db09ca69
         2018-08-14 10:18:25

The Mango RW Image output from ver:

> ver
Chip:    stm stm32f07x
Board:   3
RO:      neon_v1.1.7353-e8a05419f
RW:      neon_v0.0.11+db09ca69
Build:   neon_v0.0.11+db09ca69
         2019-10-09 09:58:05 mango-wlan-ec-no-watchdog