MES覚え書き
MESは組み込みマイコン用のOSです。
みついわゆきおさんという方が開発されています。
詳細は下記参照
http://mes.sourceforge.jp/mes2/index-j.html
組み込み マイコン 楽天 とは、装置に組み込まれるコンピューターのこと。 パソコンはコンピューターが主役なのでパソコンといいますが、 写真のような自作デジタルカメラは主役が カメラ 楽天 なので、コンピューターが載っていても 「デジカメ」になります。そのデジカメに組み込まれているのが、「組み込みマイコン」です。
「OS」はパソコンのWindowsに代表されるソフトです。OSがあると、 自分でプログラムを組む際にいろいろと楽になります。
写真のデジカメは組み立てたものの、LAN通信がうまく行かなくて開発中止 になってしまっているもの。このマイコンもみついわ氏のH8/OSを使っているのですが、 残念ながらこのOSが原因で不具合が生じたようです。
最近、このデジカメのOSをMESに載せ換えようとしているのですがついでにMESの 使い方についてもまとめて行こうと思います。 組み込みマイコンについてまとめてみます。 マイコンにはいろいろ種類があります。左はPICと呼ばれるマイコン。まん中の緑色の基板 がAKI-H8/3664というマイコン。右はH8/3069ネット対応マイコン。
PICのようにチップだけの状態で購入して組み込む場合と、 h8/3664やh8/3069のように基板上にチップと周辺装置を載せた状態のものを購入して 使う場合があります。 使用用途によって適したマイコンを選ぶのが賢い使いかたでしょう。
MESはH8/3069その他のマイコン上で動きます。H8/3069はLANをはじめ、 多彩な機能があるので、それらを制御するのにOSがあるととても便利なのです。
H8/3069の仕様は大体下記のとおり。
フラッシュROM512Kバイト : パソコンのハードディスクにあたるもの。 OSや制御プログラムを書き込みます。
RAM2メガバイト : パソコンでいうメモリー
LANポート : ネットワークに繋げるためのもの。このマイコンの最大の特徴
SCI端子 : パソコンと通信するためのもの。LANよりはるかに遅いです
アナログ入力端子 : センサと繋げて温度を測ったり出来ます
アナログ出力端子 : 速さや明るさを微妙にコントロールするときに使います
デジタル入出力端子 : スイッチをON/OFFしたり、ドアの開閉を検知するときに使います
H8マイコンはこちらで購入します。 http://akizukidenshi.com/ MESのダウンロードをします。↓からダウンロードします。
http://mes.sourceforge.jp/mes2/download-j.html
現在のMESのバージョンは、 2.3 rel 6(2006/9/20)です。頻繁に更新されるので、 そのたびにダウンロードし直した方がよさそうです。
ダウンロードするファイルは下記の通り。
wgcc23r6.exe 開発ツール。ダウンロード後、展開します。
shell.elf コマンドインタプリタ実行ファイル、H8用
config.sys 構成定義ファイル、H8-20Mhz用。(動作周波数が25Mhzの時は25MHz用)
動作周波数はH8のボード上のクリスタルを見て判断します。
wgcc23r6.exeを実行してインストールする前に、古いバージョンがあれば削除しておいた方 がよさそうです。削除は「アプリケーションの追加と削除」の中の「GCC on windows」を削除することで行います。
インストールは、ダウンロードしたwgcc23r6.exeをダブルクリックすれば開始されます。
全てyesで進むと、「C:\wingcc」内にファイルが展開され、デストップ上には 左のアイコンが作られます。
MESをH8/3069ネット対応マイコンへインストールしします。具体的には、 MESをH8/3069のフラッシュメモリ(ROM)に焼きこみます。
パソコンに例えると、ハードディスクにWindowsだけをインストールした状態にします。
①ファイルの準備
ROMに入れるファイルを準備します。新しいフォルダを作り(今回はC:\work\mes\h8-20MHz)
ダウンロードした下記ファイルをおきます
shell.elf
config.sys
②ファイルの変換
Disktoolをダブルクリックして開き、対象がH8-306xFであることを確認し、 DiskLoadボタンを押します。①で作ったフォルダを指定してOKボタン楽天 を押します。
①のフォルダの1つ上の階層(ここではC:\work\mes)にmot形式のファイルができます。 (ここではh8-20MHz.motという名前)
このmotファイルにはMESとフォルダ内のファイルが入っています。 このファイルををマイコンへ送信します。
③マイコンの準備
マイコンをブートモードにします。
スイッチを右図のように設定します。
マイコンにRS232Cケーブル(ストレート)、ACアダプタ(電源)を繋ぎます。 写真ではLANケーブルも繋げています。
④書き込み
mot形式ファイル(h8-20MHz.mot)をドラッグ&ドロップでFlushwriterの上に落とします。
こんなwindowが現れ、転送が始まります。転送はRS232Cケーブルを介して行われます。
しばらく待ってこんな表示が出れば転送成功。
ROMにmotファイルの中身が入ります。
ハイパーターミナルの設定をします。このソフトはパソコン上でH8/3069ネット対応 マイコンと通信するために使います。
設定するのは、
・通信速度を マイコンの周波数が25MHzの場合は115200、20MHzは57600
・着信データに改行文字を付ける
の2つですが、詳しく書くと下記のようになります。
①ハイパーターミナルの起動
ハイパーターミナル(電話のショートカット)をダブルクリックして起動します。
②一旦切断
起動すると通信状態になるので、一旦切断します。
通信/切断で切れます。
③設定
ファイル/プロパティでh8のプロパティウインドウを開きます。
COMポートの番号を確認し(シリアルケーブルの繋がっている番号。大抵はCOM1)、
ポートのモデムの構成 ボタンを押してCOMポートのプロパティウインドウを開きます。
通信速度を設定します。
マイコンの周波数が25MHzの場合は115200、20MHzは57600
OKボタンを押して戻ります。
h8のプロパティ ウインドウの設定タブを押し、
ASCII設定ボタンを押します。ASCII設定ウインドウが開きます。
着信データに改行文字を付ける にチェックを付けます。
④設定終了
OKボタンを押して全てのウインドウを閉じます。
ハイパーターミナルも一旦閉じます。
パソコン上でMESの動作確認を行います。
①ハイパーターミナルの起動
デスクトップ上のショートカットをダブルクリックして立ち上げます。
立ち上げる前に設定を済ませておいて下さい。
②H8/3069ネット対応マイコンの起動
H8/3069ネット対応マイコンをモード5で立ち上げます。
パソコンとはRS232Cケーブルで接続しておきます。
ACアダプタは一旦外し、スイッチを下図の位置にして、ACアダプタを繋げます。
ハイパーターミナル上に下図のようなメッセージが
現れれば接続成功。
③繋がらない場合は...
・ハイパーターミナルの設定が正しく出来ていない。
・MESが正常にインストールされていない。
・RS232ケーブルがストレートでない(クロス)
・H8/3069ネット対応マイコン上の部品が正しくハンダ付けされていない
・ケーブルが繋がっていない
・COMポートを他のプログラムが使っている
...などを疑ってみましょう
パソコンの場合、アプリケーションソフトは購入したりダウンロードしたりしますが、 マイコンの場合は原則として自分でプログラムを作ります。使うのはC言語。 パソコンのアプリケーションソフトは主に人間を相手にしますが、 マイコンの場合は機械や電子部品を相手にするのが大きな違いです。 マイコンをどんな部品に繋げるかによって、プログラムもおのずと変わってきます。 ソフト(プログラム)とハード(マイコンとその周辺装置)には密接な関係があります。
①フォルダの作成
プロジェクトに使うフォルダを新規に作成します。 ここではC:\work\mes\testを作りました。
②Cbarの起動
Cbarのショートカットをダブルクリックして起動します。
③プロジェクトの新規作成
最初はプロジェクトを新規作成します。
(次回からは「プロジェクトを開く」既存のプロジェクトを開きます)
ファイル/プロジェクト新規作成
プロジェクト名をtestとして、保存先をC:\work\mes\testにします。
④ソースファイルの作成
C:\work\mes\test にテキストファイルtest.cを作り、コードを
書きます。今回の中身は下記の通り。
C言語がわからない方はどこか他のHPでお調べください。
int main()
{
printf("Hello Tomosan!");
}
⑤ソースファイルのプロジェクトへの登録
ファイル/追加、
先程作成したtest.cを選び、追加ボタンを押します。
⑥コンパイル
人間の言葉(C言語)からコンピュータの言葉に翻訳します。
実行/コンパイル
成功すると C:\work\mes\test の中に、test.elfというファイルが出来ます。
失敗したら手直ししましょう。
⑦ファイルが複数ある場合
こんな感じにファイルを登録してゆきます。
将来はライブラリを作りたいものですが、作り方は知りません。
⑧MESがバージョンアップした場合
OS(MES)にあわせてコンパイルしなおす必要があります(多分)
パソコンとMES間をLANで通信するための設定をします。
ここではIPアドレスを下記に設定するとして作業します。
パソコン:192.168.11.1
マイコン:192.168.11.2
パソコンとマイコンはRS232Cケーブルと、LANケーブルで接続しておきます。 ハブを介する場合は普通のケーブル、直接繋ぐ場合はクロスケーブルを使います。
①パソコンのIPアドレス設定
WINDOWSのバージョンによっても違いますが私の使っている2000の場合は
ローカルエリア接続のプロパティ内のインターネットプロコトルのプロパティに入り、
下記のように設定します。
②マイコンのIPアドレス設定
H8/3069ネット対応マイコンにLANケーブル、RS232Cケーブルを接続し、 MES覚え書き6の要領でマイコンと通信します。
ハイパーターミナル上で、
ifconfig ne0 192.168.11.2 255.255.255.0
とキー入力します。
net0 IP Address:192.168.11.2. Netmask:255.255.255.0. MAC:00:02:cb:02:14:a6
という返事がかえればコマンドが受け付けられています。
MAC:の後の数字はマイコンに固有の値が表示されます。
次に、
ping 192.168.11.1
とキー入力します。これは マイコン→パソコンにLAN経由で「聞こえますか?」 と問い合わせるコマンドです。
Pinging 192.168.11.1 of data.
Reply from 192.168.11.1:
Reply from 192.168.11.1:
Reply from 192.168.11.1:
Reply from 192.168.11.1:
こんな感じでパソコンからReplyが戻ってきたら、パソコン-マイコン間の LAN接続が完了しています。
※ちょっとややこしいですが、ハイパーターミナルはRS232Cケーブル を使って通信しています。ですので、RS232C、LANの2経路でパソコン-マイコン間 が繋がれることになります。
自分で作ったプログラムは、最初から正常に動くとは限りません。 むしろ正常に動くほうが稀です。ですので作成したプログラムはマイコンのメモリに送信して、 実際に動かし、思ったとおりに動くまで動作確認をする必要があります。
H8/3069ネット対応マイコンのメモリにはROMとRAMがあります。 既に覚え書き4でROMにMESを入れましたが、 プログラムの入るメモリは動作試験時と使用時とで違いがあります。
動作試験時
ROM:MES(OS)と付属ファイル
RAM:プログラム
使用時
ROM:MES(OS)と付属ファイル+プログラム
H8/3069ネット対応マイコンのROMは100回ほど書き込むと壊れてしまう。
ROMへの書き込みは面倒。などの理由で、通常はプログラムをRAMに転送し、
動作の確認が出来てから、ROMを焼きなおして使用する、という手順を踏みます。
それではRAMにプログラムを転送してみましょう。
パソコンとH8/3069ネット対応マイコンをRS232CとLANで接続して行います。 RS232Cはパソコンからの命令のやり取り。LANはプログラムデータの送信を行います。ちょっとややこしいですね。
①パソコンとの接続
覚え書き8の要領で接続します。
②TFTPサーバの起動
デスクトップ上のTFTP Serverをダブルクリックしてウインドウを開きます。
Browseボタンを押し、CurrentDirectoryをコンパイル済みのファイルのある
フォルダに変更します。ここでは 覚え書き7で作成したファイルを転送するので C:\work\mes\test に設定しています。
③転送
ハイパーターミナルから転送を指示するコマンドを送ります。
送るファイルはここではC:\work\mes\testの中のtest.elfです。
今回は、ハイパーターミナル上で、
tftp test.elf 192.168.11.1 リターン
とキー入力します。
tftp [ファイル名] [PCのIPアドレス]
ですね。
...と表示されている間は転送中です。
④転送の確認
ハイパーターミナル上でdir と入力して、H8/3069ネット対応マイコンに入っている ファイルを見ます。
test.elfが入っていれば転送成功
⑤プログラムの動作試験
ハイパーターミナル上で、
test.elf リターン
とキー入力します。これは
MESに対し、test.elfというプログラムを実行してくださいと頼むコマンドです。
test.elfはHello Tomosan!と表示するだけのプログラムなので、
Hello Tomosan!
が返ってくれば正常に動作していると確認できます。
うまく動いてくれるまで、「プログラムを直し、動作試験をする」を繰り返します。
最終更新日: 2021-11-15 05:29:05