パスワードを忘れた? アカウント作成
33685 journal

fslashtの日記: [マイコン][Coldfire] インターフェース付録マイコンを試す(1) 10

日記 by fslasht

(写真は、はてなダイアリーの日記でまとめてみられます→こちら

先日某所にあつまってインターフェース付録基盤で遊んできました。
参考ページ→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

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • ううむ、これは面白そうだ。
    レポートを読んでいるだけでもわくわくしてきたぞ。
    --
    屍体メモ [windy.cx]
  • by nenoneno (28388) on 2008年08月28日 12時48分 (#1411224) 日記
    すでに転売厨に買い占められた模様。

    ジュンクとかにならまだあるかな...
    • うわー、もうそんな状況なんですね。
      でもヤフオクみてみたら現状定価以下でしかでてないから、とんでもない値段になってるわけではなさげ。

      というか、まだ売ってますよ。
      先週いったら若松(ラジオ会館)でも売ってたし、まだ通販 [wakamatsu-net.com]してるー

      この機会ですので、是非
      親コメント
      • by nenoneno (28388) on 2008年08月29日 10時35分 (#1411909) 日記
        MC68000は本当にアーキティクチャが美しい。こんな形で再会できるとは思いませんでした。
        まあ、インタプリタ内蔵だからアセンブラを使う事も無いとは思いますが...
        fslashtさんの日記見ていなければ買い逃す所でした。
        ありがとう。

        ジュンクで2冊確保。
        あと必要なのは、トランス内蔵のRJ45とDCコネクタでしょうか。
        仕事帰りに秋葉まで買いに行こうと思いましたが、雨になりそうなので若松に注文しようかと思案中

        # Amazonはいつも売れる数仕入れたら、普段買わない人が買って在庫切れになったのかも...
        親コメント
        • 68000派でしたか~
          X68000はOh!MZ/X時代はあこがれのマシンでした。もってないのにアセンブラのソースとかよんでたなあ。そのころはZ80つかってた。

          X68kジャンキーの友人は、あえてアセンブラで組むっていってました。開発環境にX68030つかうそうで・・・

          トランス内蔵のRJ45はピン配置がことなるものもあるようなので注意がひつようですね。若松で買えば安心でしょうか。
          とりあえず、SilentCでGPIOの操作からボチボチやっていこうと思います。
          親コメント
      • by Anonymous Coward
        そんなにバカ売れって感じではなさげですね、STのARMの時と比べて。

        ・パルストランス入りのイーサネットのソケット
        ・ACアダプタ

        同時期発売のNECのUSBと比べて必要なもの揃えるのが面倒…という事を知ってる人は、
        見送ったようだからウチの地方でも、入荷が遅かった(8中旬)本屋では5冊丸まる残って返本。
        (自分は発売日に予約してたのと、その後の衝動買いで見送りました)

        むしろNECの板が、なひたふ氏が色々ネタを書き始めて急激に売れてた感じです。
        • 雑誌付録の基板は実際に動かそうとすると別売りパーツで結構お金かかる罠・・・
          USBのやつは基板自体がコネクタになってるのが秀逸ですよねぇ

          LANだと電源もほかにいるし。インターフェース誌の特集でPoEふれてた記事がありましたが。
          サンコーレアモノショップとかで、脱力系ネーミングで安価にだしてくれるといいのですが(PoEの電源供給するユニット)

          なひたふ氏の影響力はすごいですね。フリースケールもやってほしいw
          親コメント
  • インタプリタ載ってて、オンチップで32KBもRAMがあるのがいい。
    昔の8ビットマイコン並には動かせるでしょ。サイレントシステムはなかなかいい仕事をしています。

    問題は…「加速度センサとLANを使ったアプリケーションって何?」という辺り。
    地震計として動かしてサーバをシャットダウンするとか、そういう用途でしょうか。

    チップもセンサもフリースケールの製品なので製品の宣伝としてのっけたのは分かるんですが
    イマイチ何がしたいのかよく分からない構成になっているような気がします。贅沢な悩みですけどね。
    ベースは68Kなんだから、普通にこのクラスのマイコンが載ってるだけで凄いですよ。
    (昔は68Kで初期のUNIXが動いてたんだし[仮想記憶の実現にマルチプロセッサ構成が必須だったけど])
    • なかなか、使い始めるまで重い腰があがらないので友人たちとあつまって動かしてみました。
      そろそろWebでもいろんな情報があがってきてますね。

      このボードは性能や容量がバランスよくていいですね。
      あえて欠点をいえば8bitまるまる使えるポートがすくなくて、数ビットずつ分散しちゃっているところですが(もっと多ピン構成のチップからピンを減らした構成なので)

      加速度センサーは、機器の動作確認(異常動作検出)や防犯用としてもつかわれるのでLANとのくみあわせはアリだとは思います。

      ColdFireはプロセッサータイプ(メモリーを外付けできるタイプ)では、Linuxがバリバリうごいていますしね。いろいろできそう。
      親コメント
typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...