Skip to content

Updating the IO Controller Via Bossa Under Linux & MacOS

retrofun edited this page Jun 8, 2024 · 3 revisions

Installing on Linux

  • Install the bossa-cli package, available on Debian and derivatives and verify it is working.

    $ sudo apt install bossa-cli
    $ bossac --info
    No device found on /dev/ttyACM0
    
  • As a verification step, connect the MIST board to your Linux System via USB. In the default configuration, the device should appear as such:

    lsusb  | grep MIST
    Bus 001 Device 023: ID 1c40:0537 EZPrototypes MIST Board
    
  • Switch the board off, remove the SD card

  • Close the JP1 jumper on the board. This means you need to put a jumper on the two connectors marked as JP1 on the board. The exact location of the JP1 jumper varies between hardware releases. For a Lotharek 1.5 board, you can have a look at MIST 4 layers VCC PLANE top.png to find the JP1 location in the right side of the board.

  • Switch the board on, wait 10 seconds and switch it off again. The I/O controller SAMBA boot loader is now installed.

  • Power the board on. The PC should recognize the board with the bootloader

    $ lsusb | grep Atmel
    Bus 001 Device 024: ID 03eb:6124 Atmel Corp. at91sam SAMBA bootloader
    
    $ bossac --info
    Device       : AT91SAM7S256
    ...
    
  • Install the firmware to the board

    $ bossac --write firmware_240405.bin
    Write 226024 bytes to flash (883 pages)
    [==============================] 100% (883/883 pages)
    Done in 11.822 seconds
    
  • Power the board off, disconnect the USB cable, insert the SD card

  • Power the board on. The new firmware should load.

Installing on macOS

Install Bossa from Homebrew

$ brew install bossa
==> Fetching bossa
==> Pouring bossa--1.9.1.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/bossa/1.9.1: 7 files, 312.6KB
==> Running `brew cleanup bossa`...

To set up the device for flashing

  1. Unplug all of the cables from the MiST
  2. Completely remove the SDCard from the SD card slot
  3. Open up the MiST case by unscrewing the 4 screws
  4. Put a jumper on JP1, which on "later" MiST versions is located next to the I/O controller chip (on the right hand side of the board, it’s the chip marked “Atmel” next to the DB9 joystick ports)
    1. Use the Lotharek link above to find the location of JP1 if you have an earlier version board
    2. If you don’t have any jumpers, something like a metal hair clip or a paper clip will work, just be careful that it only touches the two pins for JP1, and nowhere else on the circuit board
  5. Plug in the USB power cable to the USB “power” port on the MiST box, and then power on the MiST box for 10-15 seconds
    1. This will cause an “flashing firmware” to be loaded into the I/O controller, which causes the MiST box to present itself to a computer as a USB serial communications device
  6. Power off the MiST box, and unplug the USB power cable
  7. Remove the jumper from JP1

After jumpering JP1 and powering on in order to set up the MiST box for flashing, you can view the USB serial communication device that becomes available using the System Information tool, or by typing this command into Terminal;

system_profiler SPUSBDataType

Look for this device in the output of either program:

Communication Device:

  Product ID: 0x6124
  Vendor ID: 0x03eb  (Atmel Corporation)
  Version: 1.10
  Speed: Up to 12 Mb/s
  Location ID: 0x02241200 / 24
  Current Available (mA): 500
  Current Required (mA): 0
  Extra Operating Current (mA): 0

This USB device goes away once the I/O controller has been flashed with MiST firmware.

Flash the MiST device

  1. Plug the USB "power" port on the MiST box into a computer with Bossa loaded
  2. Power on the MiST box using the power switch
  3. You can verify the MiST box is available before flashing using the above “System Profiler”/“System Information” tools (above), or by using bossac --info (below)
  4. Run the following bossa command to load firmware on to the device…
bossac --write firmware_240405.bin

Misc. Bossa Commands

Use this command to get info about the device, if it is running with the "SAMBA" flashing firmware.

bossac --info

Use this command to start a “shell” interface that lets you interact with the I/O controller, if it is running with the "SAMBA" flashing firmware.

bossash

MiST User Guides

User Guides of MiST cores

Cores

Console cores

Arcade cores

Hardware add-ons

For Core Developers

Hardware Development

Clone this wiki locally