2010-07-04 (日)
*Parallax Propellerマイコン
SafiiがParallaxのPropellerというマイコンを土産に買ってきてくれたので,まずは動かしてみる.マイコン単体しか無いけど,資料はネット上にあるようなので,なんとかなるはず.
- 32ビットCPU
- 8コア! (Cog)
- 12MHzクロック内部(外部クロックは80MHzまで)
- RAM: 32KByte + 各Cogに512x32bits
- 32本のIO
今回のやつは40ピンのDIPです.
こういったマイコンにはめずらしく,ハーバードアーキテクチャではありません.プログラムは,ブートローダでシリアルポートから転送するか,外部にシリアルフラッシュメモリをつけることができるようです.
機能はそんなに多くなく,ペリフェラルもタイマカウンタとビデオ信号生成機能くらいの,シンプルなマイコンです.が,Cogと呼ばれるCPUコアが8個入っています.まだI/Oアクセス周りが良く分かりませんが,Hubと呼ばれるコントローラがアクティブなCogを切り替えるようです.
最初見たときはキワモノなマイコンかと思いましたが,調べてみると意外と情報が豊富.
64KBのメモリ空間のうち,32KBはROMになっていますが,フォントやらsinやlogのテーブルがROMに入っているようです.フォントにある記号が気になりますが.もう,ディスプレイを繋いでゲームとか作れと言われている気がしますし,サンプルもあるようです.
動かしてみる
まず,Parallaxのサイトから開発ツールとデータシートやらマニュアルやらをダウンロードしてくる.
Propeller Plugというライタで書き込むようですが,シリアルポート接続のものを簡単に作れるようです.データシートに回路の例が載っています.3.3Vにレベル変換して,リセット用のパルスを生成できるようにするだけの簡単なものです.とりあえず,ブレッドボード上に実装.
開発用には,Spinというオブジェクト指向(?)の言語とアセンブラがあると書かれています.商用のCコンパイラも45日間なら無料でフル機能使えるようですが,せっかくなのでこのSpinという謎言語で開発してみよう.サンプルが付いてくるので,とりあえず簡単そうなやつを見ながらスイッチとLEDを繋げてみる.定番ですね.付属のサンプルは外部クロック使うようになってますが,その辺を消してしまえば,内部クロックだけで動きました.