LoginSignup
0
0

More than 5 years have passed since last update.

Contexthubのファームウェア

Posted at

AOSPにあるContextHubのファームウェアのソースコードを眺めてみました。

このソースコードは、SensorHub(センサー制御用)MCUのファームウェアのソースコードです。
Google Nexus6Pで実際に使われているっぽいです。
(それ以降の機種は基板上にMCUが見当たらないので、SoC内臓されているCPUコアをつかっているのでしょうか?)
linkedinの情報によると、ExynosとかHTCの人もContexthubのコードを使っているみたいなので、Google以外の端末メーカーも使っているっぽいっです。

OS

  • Googleが開発した独自OSです。名前は不明です。 (ソースコード内にseosという表記もあるけど。)
    • タスク
    • タイマ
    • イベント
    • メモリ管理 SlabAllocatorがある。
    • システムコール
  • AOSPにあるのはSTM32F411RE用のコードです。

センサー

  • 対応しているセンサー
ams_tmd2772 色センサ
ams_tmd4903 色センサ
bosch_bmi160 BMI160 BMM150 AK09915 地磁気センサ
bosch_bmp280 気圧センサー
intersil_isl29034 光センサー
invensense_icm40600
rohm_rpr0521 照度・近接センサー 
si_si7034 SI7037 湿度・温度センサー
st_acc44 LIS2DW12 加速度センサ
st_hts221 HTS221 湿度・温度センサー
st_lps22hb LPS22HB
st_lsm6dsm LIS3MDL LSM303AGR AK09916
st_mag40 LSM303AGR LSM303AH LIS2MDL磁気センサー
synaptics_s3708 タッチセンター
vsync GPIOでvsyncを検出

ライブラリ

  • libc
    • ARM, FreeBSD, OpenBSD 由来のコードを使っている
    • crtとmem*とstr*ぐらい
  • libm
    • cygnus, FreeBSD由来のコード
    • センサーのデータ処理に浮動小数点の算術関数が必要です。

ホストインターフェース

  • Androidが動いているホストとの接続はI2CまたはSPIを使う。

ボード

このソースコードを動かすためのボードが96boardsの拡張ボードとして提供されています。

aliexpressで29.99USDで購入できます。

リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0