Initial G, THE firmaware

Flying Stone Technology (FST) has started the development of a new firmware, called "Initial G".

In November 2011, FST released the design of FST-01 (Flying Stone Tiny Zero-One). Then, FST manufactured and started selling of FST-01 in October 2012.

The first lot of FST-01 comes with Gnuk version 1.0.1. Because FST-01 is designed for Gnuk, this is natural choice for Flying Stone Technology.

However, it found that Gnuk Token is so perfect as an application, people tend to _not_ enjoy FST-01 itself much.

Thus, Flying Stone Technology were seeking a firmware suitable for USB MCU.

The answer is "Initial G", a minimum controlling program for USB MCU.


Gniibe expected people enjoy computing on MCU with FST-01. But it found that there are obstacles and difficultie around such computing and developement.

Some people have skill for electronics, such as QFN soldering and QFP soldering, but those people don't enjoy programming in some cases.

Some people have skill for GNU toolchain for cross development, but using JTAG/SWD dongle is relatively difficult even for professionals, because of many reason (cost of hardware, proprietary hardware, proprietary middileware, maturity of implementation, etc.). Even if a part of problem could be solved, such as FTDI2232D Module can be JTAG dongle, it requires some electronics skill and knowledge.

Current best practice would be a kind of DFU (Device Firmware Upgrade) firmware. In the other day, Gniibe addressed DFU (Device Firmware Upgrade) consideration.

Features of Initial G

Initial G will implement vendor specific command set, named "CTRL-G".

  • CTRL-G protocol: Vendor specific command sets for endpoint zero.
    • SRAM Memory access: read/write
    • Register access: read/write
    • MCU control: start/stop
    • Flash ROM access: read/write

Host applications with Initial G

  • Unittest framework for target MCU
  • GDB server for target board

Logo of Initial G

Gniibe draws a log for Initial G with motif of Mt. Akagi and Sunshine in the morning.

Initial G logo