OCEAN OS

Custom OS for Ocean devices

2014 - 2016
linux
c
embedded
hardware
c++
a20

Ocean OS (2014 - 2016)

Custom OS for Ocean devices

Not dissimilar to Android, the Ocean OS was a linux-based OS for running on Ocean devices. The Ocean CPU used ARMv7.

I should write about this in more detail, but here are some highlights:

  • There were actually TWO OSes, the second being firmware for an onboard chip for power and USB management - the MCU.
  • We had an API so the linux OS could communicate with the MCU: (https://github.com/GetOcean/ocean-mcu-comm-api)
  • We had additional drivers for a hardware test fixture for Ocean devices.
  • We had our own linux kernel, open sourced on github.
  • To get our WiFi/BT/BTLE chip working, we had to do lots of tedious Bluetooth and WiFi linux backports.
  • We created an OS build server, with test scripts and unit tests for verifying the OS build on an Ocean device.
  • Sourced chipset firmware with dubious binaries (https://github.com/GetOcean/ocean-os-bt-firmware)
  • Wrote a C++ library for talking to iOS devices without blowing up the CPU.

And so on. Just because we didn't have to write the kernel doesn't mean building an OS is easy!