Google Coral Notes

Google Coral is a toolkit to build products with local AI.

This topic will include an overview and review of the Coral product and software options.

We will be working with the Coral Dev Board. Below is a photo showing a comparison to a Raspberry PI:

Notes about this board:

  • Must be powered by 2-3A @ 5V
  • NXP i.MX iMX8M SoC (quad Cortex-A53, Cortex-M4F)
  • edge TPU processor
    • connected to i.MX8 via PCIe

Block Diagrams

Below is a block diagram of the SBC:

The SBC contains a Coral SOM, block diagram shown below:

Boot Mode

Connectors

Software

Repos appear to be in googlesource and github.

Mendel OS

Mendel OS appears to be based on Raspbian.

Yocto

TPU Software

TODO.

I thought of just trying to bring up my Coral dev board with something off the net. First thing I’ve attempted is following the instructions here: Quick start guide · mirzak/meta-coral Wiki · GitHub
Things are broken for the latest Arch packages. The build requires python V2 (python2.7 to be exact) but python2 is no longer supported in the mainstream Arch repositories. I had a little better luck with an Ubuntu 22.04 distro as its packages are not as cutting edge as Arch, but ran into a problem during the compile process which I have yet to troubleshoot. Just to get bitbake to run required modification of several python files in sources/poky/bitbake/lib/bb because of recent changes to Python 3.

1 Like

We usually wrap yocto with a docker container, see the Yoe build envsetup.sh file. This way we can pick whatever host OS we need.

I don’t think modern versions of Yocto require Python2.

Those instructions are based on Zeus release of yocto which is already EOL I think once we add it to yoe distro we might be getting a more modern version of support for the coral board

@khem do you think it would be worth asking Google if they are interested in Yocto support? At least collaborating?

It would be. However I don’t know whom to ask. Perhaps supporting coral in yoe is valuable to them

maybe I’ll try to dig out a few email address in the Git repos and send something …

The Yocto images above will not compile on an up to date version of Arch without using docker. The Google provided Mandel OS image works but there are issues getting the Google demos running on my Coral board. The Coral dev board seems to be unusually picky about micro SD cards used for initial flashing. Be sure to have several on hand in case the first one doesn’t work. Also for Linux don’t follow google’s instructions for creating the uSD card, simply write the ‘flashcard_arm64.img’ file to the uSD card using dd.

1 Like

Google also has a dev board mini, which has a MediaTek 8167s SoC (Quad-core Arm Cortex-A35). Some more links for Yocto bits:

The meta-tensorflow seems to be kept reasonably up to date.

It also appears from the above that Mediatek is serious about Yocto support.