fslashtの日記: [マイコン][Coldfire] インターフェース付録マイコンを試す(1) 10
(写真は、はてなダイアリーの日記でまとめてみられます→こちら)
先日某所にあつまってインターフェース付録基盤で遊んできました。
参考ページ→Interface 付録ColdFire基板特設ページ
68000の流れを汲むColdFireマイコン(MCF52233)の基盤です。
イーサネットのI/FもあるのでコネクタをつければLANにもつながります。いろいろ応用できそうですね。
3冊買っちゃいました。
● じゃあ早速組み立ててみよう
パルストランス入りのイーサネットのソケット(RJ45)や電源のACアダプタ、DCコネクタがが必要なのですが、間違った部品かってもつまらないので若松通商で売ってた全部いりセットを買ってきました(インターフェース 9月号付録 基板周辺実装部品一式)。ラジオ会館4階のお店で売ってます(アゾンの隣w)。3000円。
パルストランス内臓RJ45ソケットも790円で単品売りしているので次からはこれだけを買えばいいでしょう。
取り付け完了
→写真
LANにつないだらちゃんとランプがついたよ!
HUB側では10Mbpsで認識(あとで設定ファイル変更したら100Mbpsで接続できました)。
リセットスイッチを取り付けた
→写真
PCからPingも通る
→写真
Telnetで接続して、MACアドレス設定。
設定ツールは、SilentCで書かれているのね。
→写真
なんとWebサーバが動いている。
→写真
加速度センサー(基板上に載ってる)の値を表示するCGI
すごいすごい
→写真
ブラウザからポートのON/OFFもできるので、
ブレッドボードにのせてLEDをON/OFFしてみる。
→写真
→写真
成功。
(ブレッドボードにのせたら、幅がキツキツですね。とりあえず片側のピンしかつかわないのでずらして載せた)
マイコンボードのIPアドレスなどもブラウザで設定できます。
(ブラウザからCGIとしてSilentCで書かれたプログラムを呼び出す仕組みになってました)
内蔵のSilentCは、昔のBASICみたいに行番号つきでプログラミングします。
TELNETでつないだらそのままプログラム開始。
インタプリタなので試しながら組めるのがいいですね。
さて、では手始めにLED ON/OFFでもしてみっか・・・
と思ったら、GPIOを操作する関数がありません。えー?
D/Aコンバーターを使ったアナログ入力や、シリアル入出力の関数群はあるのに基本ぽいGPIOがないなんて・・・プンスカ
うーん、ほかの機能とぶつかるからあえて実装しなかったのかあ。
これは、ドライバーとか書かないといけないのかな・・・と思いましたが、よくかんがえたらI/Oポートはメモリマップドだから当該番地のメモリを普通に読み書きすればいいのか。
とりあえずインターフェース誌にのってたメモリマップをみると、0x40000000番地からがI/Oポートのようです(32bitマイコンはアドレスが長いなー)。
この辺をダンプして見ました。
10 main() {
20 PrStr("START\n");
50 char *a;
60 int i;
70 a = 0x40000000;
80 for ( i=0; i<1024; i++ ) {
90 PrHex( a );
100 PrChar( ':' );
110 PrHex( *a );
120 PrStr("\r\n");
130 a++;
140 }
150 }
save Main
して
run
40000000:00000040
40000001:00000000
40000002:00000000
40000003:00000001
40000004:00000000
40000005:00000000
40000006:00000000
40000007:00000000
40000008:00000020
40000009:00000000
4000000a:00000002
4000000b:00000000
4000000c:00000000
4000000d:00000000
4000000e:00000024
4000000f:00000000
40000010:ffffff80
40000011:00000001
40000012:00000000
40000013:00000000
40000014:00000000
40000015:00000000
40000016:00000000
40000017:00000000
40000018:00000000
40000019:00000040
4000001a:00000000
4000001b:0000000c
4000001c:00000030
4000001d:ffffffe1
4000001e:00000000
4000001f:00000000
40000020:00000003
お、なんかそれっぽいデータが表示されたぞ。
でも途中でハングアップ。なんか、アクセスしてはいけないとこを読んでしまったようです(4000007e)。
まあでも、SilentCでもポインタは普通に使えることがわかって一安心。
じゃあ、ColdFireのリファレンスマニュアルを見てと・・・
「Chapter 14 General Purpose I/O Module」
なんかGPIOいっぱいある・・・
PORT DD,AS,QS,TA,TD,TC,UC,UB,UA,AN,NQ,LD,GP
とりあえず基盤の右側にでてるのは、TA(GPT[0]-[3])とかAN(PAN[0]-[7])だな。
じゃあ、早速操作してみよ・・・あれ?
なんでこんなに制御しないといけないレジスターがあるのー?
Port Output Data Registers
Port Data Direction Registers
Port Pin Data/Set Data Registers
Port Clear Output Data Registers
Port Pin Assignment Registers
Port Pad Control Registers
HCS08でいうところのPTAD,PTADD,PTAPE とかに相当するのってどれ? ←いまココ
● 参考URL
・データシート
http://www.freescale.com/files/32bit/doc/data_sheet/MCF52235DS.pdf
・リファレンスマニュアル
http://www.freescale.com/files/32bit/doc/ref_manual/MCF52235RM.pdf
これは面白そうだ (スコア:1)
レポートを読んでいるだけでもわくわくしてきたぞ。
屍体メモ [windy.cx]
Re:これは面白そうだ (スコア:1)
特に導入部がサクサク進むのはいいですね。
外部機器を制御できると、やれることが一気に増えて楽しいです。
Amazonでは (スコア:1)
ジュンクとかにならまだあるかな...
Re:Amazonでは (スコア:1)
でもヤフオクみてみたら現状定価以下でしかでてないから、とんでもない値段になってるわけではなさげ。
というか、まだ売ってますよ。
先週いったら若松(ラジオ会館)でも売ってたし、まだ通販 [wakamatsu-net.com]してるー
この機会ですので、是非
Re:Amazonでは (スコア:1)
まあ、インタプリタ内蔵だからアセンブラを使う事も無いとは思いますが...
fslashtさんの日記見ていなければ買い逃す所でした。
ありがとう。
ジュンクで2冊確保。
あと必要なのは、トランス内蔵のRJ45とDCコネクタでしょうか。
仕事帰りに秋葉まで買いに行こうと思いましたが、雨になりそうなので若松に注文しようかと思案中
# Amazonはいつも売れる数仕入れたら、普段買わない人が買って在庫切れになったのかも...
Re:Amazonでは (スコア:1)
X68000はOh!MZ/X時代はあこがれのマシンでした。もってないのにアセンブラのソースとかよんでたなあ。そのころはZ80つかってた。
X68kジャンキーの友人は、あえてアセンブラで組むっていってました。開発環境にX68030つかうそうで・・・
トランス内蔵のRJ45はピン配置がことなるものもあるようなので注意がひつようですね。若松で買えば安心でしょうか。
とりあえず、SilentCでGPIOの操作からボチボチやっていこうと思います。
Re: (スコア:0)
・パルストランス入りのイーサネットのソケット
・ACアダプタ
同時期発売のNECのUSBと比べて必要なもの揃えるのが面倒…という事を知ってる人は、
見送ったようだからウチの地方でも、入荷が遅かった(8中旬)本屋では5冊丸まる残って返本。
(自分は発売日に予約してたのと、その後の衝動買いで見送りました)
むしろNECの板が、なひたふ氏が色々ネタを書き始めて急激に売れてた感じです。
Re:Amazonでは (スコア:1)
USBのやつは基板自体がコネクタになってるのが秀逸ですよねぇ
LANだと電源もほかにいるし。インターフェース誌の特集でPoEふれてた記事がありましたが。
サンコーレアモノショップとかで、脱力系ネーミングで安価にだしてくれるといいのですが(PoEの電源供給するユニット)
なひたふ氏の影響力はすごいですね。フリースケールもやってほしいw
おお、使い始めたんですかぁ (スコア:1)
昔の8ビットマイコン並には動かせるでしょ。サイレントシステムはなかなかいい仕事をしています。
問題は…「加速度センサとLANを使ったアプリケーションって何?」という辺り。
地震計として動かしてサーバをシャットダウンするとか、そういう用途でしょうか。
チップもセンサもフリースケールの製品なので製品の宣伝としてのっけたのは分かるんですが
イマイチ何がしたいのかよく分からない構成になっているような気がします。贅沢な悩みですけどね。
ベースは68Kなんだから、普通にこのクラスのマイコンが載ってるだけで凄いですよ。
(昔は68Kで初期のUNIXが動いてたんだし[仮想記憶の実現にマルチプロセッサ構成が必須だったけど])
Re:おお、使い始めたんですかぁ (スコア:1)
そろそろWebでもいろんな情報があがってきてますね。
このボードは性能や容量がバランスよくていいですね。
あえて欠点をいえば8bitまるまる使えるポートがすくなくて、数ビットずつ分散しちゃっているところですが(もっと多ピン構成のチップからピンを減らした構成なので)
加速度センサーは、機器の動作確認(異常動作検出)や防犯用としてもつかわれるのでLANとのくみあわせはアリだとは思います。
ColdFireはプロセッサータイプ(メモリーを外付けできるタイプ)では、Linuxがバリバリうごいていますしね。いろいろできそう。