蟹さん vs BCM/mips vs ADM

mruby on Yet Another Bare Metalのターゲットの比較をしてみました。

||蟹さん|E蟹さん|蟹さん8198|蟹さん8197D|BCM/mips|BCM/mips sw|BCM/mips sw|ADM|KS|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|SOC|RTL8196C|RTL8196E|RTL8198|RTL8197D|BCM4712|BCM5350,BCM5352|BCM5354|ADM5120,ADM5120P|KS8695|
|発売年|2010|2012|2010|2012|2003|2004|2007|2003|2003|
|CPU|Lexra RLX4181|Lexra RLX4181|Lexra RLX5281|Lexra RLX5281|MIPS32|MIPS32|MIPS32+MIPS16|4Kc|ARM922T|
|Endian|BIG|BIG|BIG|BIG|LITTLE|LITTLE|LITTLE|LITTLE|LITTLE|
|クロック|380MHz|400MHz|500MHz|700MHz|200MHz|200MHz|240MHz|175MHz|166MHz|
|メモリ|8M-32M|32M|32M|64M|16M|16M|8-16M|8M|8M|
|ブート|オリジナル|オリジナル|オリジナル|オリジナル|CFE|CFE|CFE|u-boot|u-boot|
|GPIO|22|16|44|46|8|16|8|8(4)+15|8|
|Ethernet|○|○|○|○|○|○|○|○|○|
|EthernetSwitch|○|○|○|×|-|△*1|△*2|△*1|△*1|
|UART数|1|2|2|2|||2|2|1|
|UART対応|OUT/IN|OUT/IN|OUT/IN|OUT/IN|OUT|OUT|OUT|OUT|OUT|
|Watchdog|○|○|○|○|○|○|○|○|○|
|未対応IO|PCIe,WIFI,USB,Flash|PCIe,WIFI,USB,Flash|PCIe,WIFI,USB,Flash|PCIe,WIFI,USB,Flash|PCI,WIFI,USB,Flash|PCI,WIFI,USB,Flash|PCI,WIFI,USB,PMC,Flash|USB,Flash|Flash|
|ACアダプタ|5V|5V|12V|12V|3.3V|3.3V|3.3V|5.5V|5V|
|カレント|230mA||||350mA|||460mA||
|TCP/UDP|○|○|○|○|○|○|○|○|○|
|TLS 1.2|○|○|○|○|○|○|○|○|○|
|fib(32)|36秒|39秒|13秒|9秒|102秒|145秒||82秒|37秒|
|ファーム転送tftp|クライアント|クライアント|クライアント|クライアント|サーバ・クライアント|サーバ・クライアント|サーバ・クライアント|サーバ|サーバ|
|分解せずファーム書き込み|○|○|×|×|○|○|○|×|△*4|
|安定度|○|△|?|?|◎|?|?|◎|?|
|HardOff価格*3|108-324円|324円|324円|324円|108円|108円|108-324円|108円|108円|
|HardOff在庫|中|小|極小|極小|大|中|中|大|極小|
|github|rtlbm-mruby|rtlbm-mruby|rtlbm-mruby|rtlbm-mruby|bcmbm-mruby|bcmbm-mruby|bcmbm-mruby|admbm-mruby|ksbm-mruby|
|gcc|4.4.5|4.4.5|4.4.5|4.4.5|4.2.3|4.2.3|4.2.3|4.2.3|4.9.2|
|GPL汚染|有|有|有|有|無|無|無|有|有|
|VM,mrb構成|分離|分離|分離|分離|一体|一体|一体|一体|一体|
|利用可能メモリ|実メモリ|実メモリ|実メモリ|実メモリ|実メモリ|実メモリ|実メモリ|8M|8M|

*1 初期化のみでMIBのアクセスはありません。
*2 初期化せず起動直後の状態ですが、ネットワークは使えます。
*3 これより高いものもありますが、自分の購入基準価格です。消費税8%の時代の価格です。
*4 [Netconsoleなu-boot](https://qiita.com/yamori813/items/945227ccb84133a7de7b)を焼けば、ネット越しのオペレーションで焼くことができます。

蟹さんはチップは新しいのですが、LexraのアーキテクチャはMIPS1相当です。BCM/mipsは10年くらい前のWIFIの11gの頃の製品です。Broadcomは11nに出遅れたいので、この後は日本ではBroadcomのSOCが使われた製品がほとんどみなくなりました。

最も新しい蟹さんが電力やスピード的にも有利です。一番古いADMと比べてスピート倍の電力半分といったところで4倍くらいの違いでしょうか。

蟹さんのGPIOは他の機能とシェアーされて全て使えるわけでありません。またGPIOは一部しか使われていないことがほとんどです。E蟹さんはGPIOが少ない上、ほとんどシェアーされていて使えるピンはかなり少ないです。

蟹さんからBCMは同じMIPSなので大枠を流用して、BCMからADMは同じリトルエンディアンなのでライブラリなどを流用して、ADMはKSは同じu-bootなので、u-boot関係を流用しています。

古い機器も多いので、取り扱いには十分に注意してください。

蟹さんの主なターゲット

* HOMESPOTCUBE
* MZK-MF300N
* LAN-W300N/R
* BBR-4HGV2([ブート焼き直し版](https://qiita.com/yamori813/items/4beb3c8fafd740bf69e2))
* BBR-4MGV2(ブート焼き直し版)

E蟹さんの主なターゲット

* WR8165N(ブート焼き直し版)
* WR8166N(ブート焼き直し版)

BCM/mipsの主なターゲット

* WLI3-TX1-G54
* WLA2-G54C

ADMの主なターゲット

* BBR-4MG([ブート焼き直し版](https://qiita.com/yamori813/items/4adb399b635dedb4ac72))
* BBR-4HG(ブート焼き直し版)
 
全てプリコンパイルVMを用意しましてありますので、下記のページの操作で試せます。

[rtlbm-mruby v1.0の使い方](https://qiita.com/yamori813/items/bf3cb113b2b9c121c0b7)
[bcmbm-mruby v1.0の使い方](https://qiita.com/yamori813/items/876f07d4de448ec33cac)
[admbm-mrubyの使い方](https://qiita.com/yamori813/items/4adb399b635dedb4ac72#admbm-mruby%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9)

[dummyクラス](https://qiita.com/yamori813/items/81b4094fa414168d1a20)を用意したのでhostでもある程度の確認が出来ます。

sourceforgeに[Hardware Recycling Initiative](http://hri.sourceforge.net/)という古いプロジェクトがあり、ターゲットやコンセプトは似てるかもしれない。

3台でピタゴラ装置風Lチカやってみました。

https://youtu.be/P1c-FxV-2tk

108円で始められるIoTあなたも始めてみませんか？