So-net無料ブログ作成

HOSを手軽に試したい時のお勧め [書籍ITRON本]


いや別に私は秋月の回し者ではないのですが、現実的にH8マイコンで遊ぼうとなると、頼りにしています秋月さん!って事になるので、やはり紹介します。
H8マイコンを初めて触るかなりの方が、秋月のAE-3048F基板(H8/3048F)を手にするようで、しかしこの基板、ボードのみ購入すると、その後が大変。書き込み用の特殊なライターを作らないと、にっちもさっちも行かないので、ここでいきなりつまづく人も居るようです。昔はともかく、今時書き込みに12V必要と言うのも辛い、失敗するとH8ごと壊す危険性も有るし。

そこでお勧めなのがこの基板。記事の一部には、姉妹品のLANタイプを使用しています。
http://akizukidenshi.com/catalog/items2.php?q=K-171&s=score&p=1&r=1&page=#K-00171
同じボードで3048Fにも、3052Fにも対応可能だし、私が購入した時は、+12Vを生成してくれるMAX662も、SRAMも付属していました。一応、別にACアダプターを用意しなくても、パソコンのUSBからバスパワーで電源供給できます。書き込みモードへの移行は、スイッチ一つでOKです。
LCDは残念ながら付属していないのかな?、取り合えずCコンパイラは無料で幾らでも入手可能なので、個別に、必要なものだけ買ってみて下さい。
これに、やはり秋月のRS232Cストレートケーブルを購入するのが一番無難です。
昔のモデムのストレートケーブルは使えません。

勿論、購入前に秋月に必要なものを良く聞いて下さいね。

追伸!
組み立ては、ちょっと癖があるので、マニュアルを良く読んで下さい。回路図はかなり見難いです。




nice!(0)  コメント(27)  トラックバック(0) 

nice! 0

コメント 27

miw

こんにちは。
いま、こいつのUSBボードをつかってHOSでUSBってのを考えています。
付属サンプルをもとに、GDLでコンパイルできる環境をととのえて、
USBの割り込み関数もIRQ5の割り込みに名前を変えることで対応しました。そんでROMに焼きこんだ場合には動作しました。
が、モニタを焼いてRAMに読み込んだ上でUSBを使おうとした場合、Windowsの方でUSBドライバの読み込みに失敗しています。
USBの部分以外(LCDやSCI)は無事に動いています。

なんぞ、変えないといけないところがあるのでしょうか?
もし、何かご存知ならお知らせください。

こいつで、近藤のロボットKHR-1のコントローラーを下請けにして、
HOSで動くロボットをつくるつもりです。
by miw (2005-11-12 17:25) 

hamayan

うーん何とも言えないのですが、H8側のユーザープログラムを起動した上で、Windowsに接続しているんですよね。
その逆の場合、接続した時に、直ぐにPNPのネゴシエーションが行われない為に、ドライバが組み込まれないとか。
by hamayan (2005-11-12 18:49) 

miw

電源をUSBから供給していたのですが、これがまずいかな?
別電源でやってみます。
by miw (2005-11-12 21:46) 

miw

別電源にし、H8側のソフトを起動してからUSBに接続してみたのですが、
おなじ結果でした。
秋月のサンプルソフトをそのままつかっているので、
アドレスかなんかで再設定をしないといけないのかもしれませんね。
by miw (2005-11-13 15:41) 

hamayan

そうですか、残念。
私はあのボードのUSB機能を使った事無いので、なんとも対策の出し様が無い。
USBを使いたいときはもっぱら、FT232だったりします。
by hamayan (2005-11-13 20:37) 

miw

今考えているのは、秋月のサンプルをいじって、
デバッグモニタのほうにUSBの初期化をいれてやろうかと考えてます。
これなら動くかな?
by miw (2005-11-13 21:20) 

miw

miwです、こんにちは。
Hewでコンパイルしてソースレベルデバッグしようとおもったのですが、
64KB制限でorz・・・

入れなおしたら大丈夫なのですかね?
by miw (2005-11-15 16:09) 

hamayan

無理だと思います。
やった事は無いのですが、デバックモニタとUSBの初期化プログラムを別々にMOTファイルを作成し、それをエディタでリンクすれば可能かもしれません。
それにしても、そんなに大きなサイズの初期化プログラムなんですか?。
by hamayan (2005-11-15 18:19) 

miw

秋月のソースそのままなんですが、それだとvprintfとかよびだしているようです。
この辺削ってやってみます。
by miw (2005-11-15 21:24) 

hamayan

printf族って、そりゃあメモリいっぱい使いますわな。
by hamayan (2005-11-15 23:22) 

miw

削って見ました。代わりにそれらしい動きをするのを組み込んで実験してみました。
Hewでコンパイル OK
ROM焼き 動作確認 OK
さて、あとはRAM焼きでチェック。
by miw (2005-11-16 10:48) 

miw

ルネサスのデバッグモニタをつかっていて、SCI1の割り込みとかで停止するのは、割り込みベクタテーブルの設定がおかしいからでしょうか?RAMで実行するととまっちゃうのです。
GCCで作ったmotだと問題ないのだけど、ほぼ同等の物をhewでつくるととまっちゃうなあ・・・
by miw (2005-11-17 09:27) 

hamayan

なんらかの割り込みが発生しているのに、有効なベクターアドレスが無いと、デバックモニタは、そこで停止してメッセージを表示します。
mapファイルを見て、正しく割り付けされているか確認してみて下さい。
by hamayan (2005-11-17 11:05) 

miw

Kさんの本のおまけのCDからVECTOR.Cを引っ張り出してきて、
Hewでつくったサンプルは無事うごくようになりました。
そしたら、gccでは何がいかんのだろう?と新たな疑問・・・
by miw (2005-11-17 16:11) 

hamayan

え!、GCCでは動いたんですよね。
多分、話がごちゃごちゃになって、状況把握が出来なくなっているのではありませんか?。

もともとC言語は、作成したプログラムをUNIX上のユーザープロセスとして動くべく開発されたので、CPU固有の割り込みベクターは、サポートされていない訳ですね。

しかしそれではマイコンでは困るので、ツールベンダーが独自に拡張しています。
という事で、ツールベンダーに依存する処理は、ベンダーの発行するマニュアルをよく読まないと、上手く使えません。

HEWのウイザードが出力する割り込みベクターは、絶対アドレスで出力するので、仮想ベクターで割り込みをサポートするデバックモニタとは、相性が悪いのです。
mapファイルを確認すれば、思わぬところに、コンテキストがあった筈です。

GCCの場合は、アセンブラで外部ラベルのリストを作り、ソース自体はリロケータブルになっていませんでしたか?。

デバックモニタの仮想ベクターは、デバックモニタのマニュアルに解説が有ったと思います。
by hamayan (2005-11-17 16:53) 

miw

HewでつくったRAM用のmotだと、割込みベクタの設定ができていませんでした。
いままではGCCでRAM用motをつくっていたので、設定方法が頭の中からごそっとぬけてました。
で、本をひっぱりだしてきてCD-ROMをみたら、VECTOR.Cというサンプルソースがあったのでそいつをつっこんで、HEWでも割込みベクタの設定ができるようになりました。

いまのところ
Hewを使った場合:
ROMに焼く:成功
デバッグモニタをつかってRAMで実行:成功

GCCを使った場合;
ROMに焼く:成功
デバッグモニタをつかってRAMで実行:
 Windows側でUSBドライバが読み込めない。
 その他のSCIやLCDはok
といった状況です。
Hewの場合もGCCの場合も、ROM焼きで動作確認したあとに
セクションの割り当てをかえてRAM バージョンにしているわけですが、GCCのほうではUSBドライバが読み込めないようです。
基本的にソースはほぼいじっていないので、理由がわからないです。ステップ実行でI/Oの値とかトレースしてみます。

まあ、Hewでうごいたので、HewでHOSでのテストをやってもいいんですが。
ここのところGCCになれちゃってたので、ちととっつきにくいです。
by miw (2005-11-17 22:14) 

miw

あ、GCCでうまくいっていないのは、秋月のUSBのサンプルプログラムです。
ほかの自作プログラムなんかは問題なく動いてます。
by miw (2005-11-17 22:16) 

Miw

やっとこさ、
USBボード+3052Fで、秋月付属のUSBサンプルプログラムが動きました。
今日までに、
Hewの場合:
 サンプルをアレンジしたもの:ROM,RAMともOK
GCC(GDL)の場合:
 サンプルをアレンジしたもの:ROM,RAMともOK
HOSの場合:
 アレンジtake1:HewでRAMだめ(ROMはまだためしてない)
 アレンジtake2:GCCでRAMOK(ROMはまだためしてない)

となりました。
watson8さんのページにありましたが、USBおそいです。
でも、まあ動いてよかったです。
きちんとまとめたら、自分のHPに乗っけようとおもってます。
by Miw (2006-01-09 23:45) 

hamayan

HOS+HEW+RAMで駄目なのは理由が判りませんが、動いて良かったですね。

USB1.1が基本的に遅いのか?、Windows側のドライバが遅いのか?、H8が遅いのか?なんだか判りませんが、でもUSB1.1って思ったより早くないですよね。
USBシリアルなんかは、明らかにレガシーシリアルの3倍は遅い。

H8側も基本的にDMAを使わないと多分遅いのですが、H8のDMAモードとUSB9604のDMAモードが一致しない所が痛い。
by hamayan (2006-01-11 09:01) 

Miw

ぼくのメインのマシンは、3年ほど前のデスクトップマシンで、
こいつのUSBは1.0です。
で、うまく動いたのは去年買ったノートを使う場合で、こいつはUSB2.0です。
PCのUSBが原因っぽいです。
ノートで作ったmotをデスクトップからHTermをつかっていれても動かなかったです。
でも、デスクトップでHewで作ったHOSでないmotは動いたし、
GDLで作ったmotもROMに焼くと動くという・・・

・・・PCのUSBとの相性?
by Miw (2006-01-11 09:14) 

miw

そうそう、教材用のオリジナル基板の開発を根回し中なのですが、
そのときには、DMA転送ができるUSBの機能もつけようかな。
by miw (2006-01-11 09:16) 

hamayan

>そうそう、教材用のオリジナル基板の開発を根回し
>中なのですが、

おお!、どんな基板なのか興味津々。
by hamayan (2006-01-11 18:21) 

Miw

こんばんは。

細かいところはまだ未定ですが、
秋月の3052のマザーボードに、
押しボタンスイッチ
モータ接続端子
ボリュウム抵抗
などをつけて、H8の機能をひととおり使えるようなのを企画中です。
by Miw (2006-01-12 22:42) 

miw

あいかわらずぼちぼちUSBをやってます。
柏野さんのuusbd.dllをWin側につかってみたのですが、

1.GDLでコンパイルしたサンプルのmotをRAMで使うと、PC側からの書き込みが反映しないけど、USBからPCへの書き込みは成功。Win側でWriteFileは動作してるけどUSB側では反応してないっぽい。

2.HewでこんパイルしたサンプルのmotをRAMでつかうと、PCからの読み書きは問題ない。でも、Win側のソフトでUSBをあけたままでH8側をリセットすると、Winがおちちゃうことがある。

なんかまだ不安定ですが、秋月のドライバとちがって、きちんとWin側ではReadFileやWriteFileが使えていいですね。Win側はBCBでやっているので、うまくいったらPC側のアクセスはVCLにしてみようと思います。
by miw (2006-02-05 11:00) 

Miw

こんにちは。
HOSの本の講習会をはじめて、ちょっとこまったことが・・・
tutorial15などstring.hをインクルードしてmemcpyとかstrcpyを使う場合、
リンクで undefined reference to `memcpy' がでてしまいます。
makefileの方でのライブラリ設定が足りないのでしょうか?

自分でつくっちゃってもいいんですが。

ところで、memcpyなんかは文字列の初期化ありの宣言でもつかわれるんですねえ。びっくりしました。
char name[]={"test"};
とか。
by Miw (2006-10-10 13:27) 

hamayan

makeの中にこれ”-nostdlib”が入っているとか。

> ところで、memcpyなんかは文字列の初期化ありの宣言でも
> つかわれるんですねえ。びっくりしました。
> char name[]={"test"};

大域変数ならcrtで別の初期化プログラムを呼び出している訳ですが、局所変数の場合は関数に入る度に初期化を行う事となるので、何らかのメモリ操作プログラム、strcpyとかmemcpyとかその類がもろに引っ張られる可能性が有りますね。

static const char name[]={"test"};
とすれば、呼ばれないような。
by hamayan (2006-10-11 01:23) 

miw

おお、”-nostdlib”で標準スタートアップをはずしてるとおもってたんですが、
”-nostartfiles”がありましたね。
最近はサンプル付属のdebug.makをいじったのをつかっていたので、
気が付いていませんでした。

ありがとうございました。
by miw (2006-10-11 13:38) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。