Skip to content
binho.io (opens in a new tab)Contact Us

MCU Programmer

The MCU Programmer flashes a .hex, .bin or .elf file onto a microcontroller through the Binho Atira debug probe, over SWD at 1 MHz. It needs no project or source code. It is in the desktop app only.

Plug in the Atira, choose it in the bar at the top (Binho Atira · S/N …), then click Connect.

To power the target from the Atira, switch Atira supply from 0 V to 3.3 V and click Supply 3.3 V. The Atira then drives 3.3 V onto J4 pin 1: use it only for 3.3 V targets that are not powered through that pin.

The Transaction Log at the bottom has one entry per run, with the part, the file and the result. It can be searched, filtered, copied and exported.

Target lists the built-in parts, such as the STM32H503. To flash another MCU, click Open pack… and open the vendor’s device family pack for it (.pack or .atpack). Its parts are added under From your packs, with flash size, address and core. Type in Search targets to filter the list. The pack stays open after a restart; Close pack goes back to the built-in parts. See Install a Device Pack for where to get the pack.

Some parts in a pack are listed as Not supported yet, with the reason, for example a part with several separate flash regions. A part marked Not supported yet: needs vendor connect steps can still be flashed: Mission Control asks before every Flash or Erase, and runs only after Flash at my own risk or Erase at my own risk is clicked.

  • Binary: click Choose… and pick a .hex, .bin or .elf file. A .bin is written at the start of the target’s flash; .hex and .elf files carry their own addresses.
  • Flash writes the file. Verify after flash (on by default, remembered) reads it back afterwards. Reset after flash (on by default) resets the target so the new firmware runs; with it off, the core stays halted at the reset vector.
  • Verify compares the flash with the file and reports a mismatch with its address.
  • Erase erases the whole flash.
  • Reset resets the target and runs it.
  • Flash and Erase arm on the first click (Click again to flash) and run on the second.
  • Wrong MCU: Flash and Erase first check that the MCU connected to the Atira is the part picked. If it is not, or it cannot be identified exactly, nothing is written. Pick the right part or open the right pack. If the pick is certain, type the part name to enable Flash anyway or Erase anyway.
  • Large erase: flash is erased in whole sectors. If that erases much more than the image, or the area before it (where a bootloader may live), Flash shows the range first; Erase and flash goes ahead. Don’t show this again stops the question for that MCU, and Ask before a large erase brings it back.
  • MCU Debugger attached: the Programmer shows Detach debugger. Click it twice to end the debug session, then flash.