« Golfがほしい (^-^) | トップページ | 問題を構造化して考える技術 »

2008年5月 5日 (月)

頭がごちゃごちゃ

台車のDCモータを速度制御できるようにするために回路設計をしつつ、制御用のマイコン(SH7149F)に載せるOSの準備を進めています。が、もうパニック状態です。

まずは最初に直面した問題から。DCモータの速度制御をするためにロータリーエンコーダのパルス出力(2相)をSH7149のMTUで読み取りたいのですが、外部SRAMを使おうとするとロータリーエンコーダの入力に使う端子と外部SRAMの制御に使う端子がバッティングしてしまいます。あれこれ考えた末、外部SRAM(512KB)の使用を諦めて内蔵SRAM 8KBだけで対応することにしました。外部SRAMが無いと、JTAG-ICEでRAMデバッグできないんだよなぁ。

外部SRAMが使えなくなったので、次は制御プログラムの構造をどうするかという問題です。当初の予定ではITRON系のOSを載せてRAMの容量を気にせずプログラムを書くつもりだったのですが、先ほどの理由で予定変更、SRAMは8KBが上限になりました。SRAM 8KBでOSを載せてRAMが足りなくなったという過去の経験があるので、下手にOSなんか使わないほうがいいんじゃないかとか。(このときRAMが足りなくなったのは、printfなんぞを使ってしまったからだったりして。) なんとかRAMが少なくてもOS載せられる方法はないものかと思うところですが、アルファプロジェクトのSTK-7125HOS-V4を移植した記事が昨年いくつかあったのを覚えていたので、これで何とかなるかなぁと思って手を出してみました。( Smalightという手も考えたのですが、そこそこお金がかかりそうだったので保留。)

今度はHOS-V4の立ち上げに絡む問題SourceForge.jpからHOS-V4のコードを頂いてきて展開。SH7149はサポートされていないようなので、こことかこことかを参考にしながらあちこちいじってみましたが、カーネル構築前のコンフィグレーションがうまく通りません。そこでネット上で探しまわって、こちらでアドバイスを頂くことができて、カーネル構築まで何とかできるようになりました。カーネルが構築できるまでには書くのが面倒なくらい雑多なトラブルがありまして・・・weep

で、先ほどのアドバイスをくださったhamayanさんのところでsh7125用に作成したHEWのプロジェクトを頂けたので、私の手元にあるSTK-7125を使ってサンプルプログラムを動かしてみようと。したところ、今度は開発環境に絡む問題が発生。STK-7125EVBキットのFlashWriter EXを使ってプログラムをCPUに書き込みたいのですが、シリアル通信のポートはあるのにポートを開けません。これは他のツールを使っても開けないので、アプリ側の問題ではなさそう。どうも、表示されているCOMポートの番号と実際にSTK-7125EVBが使用しているCOMポートの番号が違うんじゃないかという臭いがするのですが確証はありません。そう思った理由は、(ベステクのGCC Developper Liteについてきた)SimpleTermでWindowsのデバイスマネージャで表示されているSTK-715EVBのCOMポート番号(このときはCOM6)を開こうとしても開けず、違う番号(このときはCOM8)なら開けたからです。そうそう、そういえばWindows Vista にはHyper Terminal 入ってないんですね。 その後、Windowsを再起動して書き込みに再挑戦したら1回だけは書けましたが、書き込んだプログラムは動いていません。いや、通信ができていないから動いているかどうかよくわからないだけなのか。

そろそろ心が折れそうなのですが、昨年買ったJTAG-ICE(XrossFider)を使ってステップ実行しつつソースコードを追いかけることにしました。そこで気付いたのは、もらってきたサンプルプロジェクトのセクション設定をみると、sh7125じゃなくて(Interfaceの2006年6月号の付録についてきた) sh7144 + 外部RAMの設定になっていることです。ということは、vectorの設定とかも見直さなきゃダメかなぁと言う感じでモチベーションダウン中です。

こんなことしてますが、去年はSH7149の同じCPUボード上で、同じITRON系のOSであるREALi_SHを動かしてました。なのになんで今年もそれを使わないのか。それは、今私が使っているノートPCはOSがWindows Vistaで、去年使っていたKPIT GCCが動かないから。KPIT GCCが動くなら、わざわざサイズ制限のある評価版SHCコンパイラなんて使いませんよ。

こうしてみてみると、雑多なトラブルの元凶は、私がWndows Vistaなんか使ってることにあるんじゃないかと思えてきました。去年は STK-7125EVBキットがかなり素直に動いてくれて、これすげーじゃんと思っていましたからね。ついでに言うと、Vista上のIE7ではここからC++コンパイラのダウンロードができなかったり、IE7でFlash Playerが正しく動かないのか動画系のサイト(YouTubeやニコニコ動画)で動画が表示されなかったり、Flash系のゲームが動かなかったり、e-learningができなかったりと、不満が沢山あります。なので、FireFoxを入れてこの手の問題を回避しています。簡単にいえば、「Vistaはやめておけ」ってことです。

文章に起こしたら問題点が整理できるかと思いましたが、やっぱりダメかも。やる気が回復するまでしばらく休憩します。

« Golfがほしい (^-^) | トップページ | 問題を構造化して考える技術 »

コメント

tkさん、岩崎さん、コメントありがとうございます。

> tk
これ、別に仕事じゃないんで、嫌になったらやめりゃいいだけのこと。こういう苦労を楽しむものなのかもね。<マゾですか

> 岩崎さん
Vistaは評判悪いですね~。私のPCは使えば使うほど日本語変換がおかしくなっていってる気がします。個人的にはWindows2000が軽くて安定しててすごく好きです。

Vistaダメダメすぎますね.
海外の開発ツールベンダでも、Vista対応するつもりがないところや、対応しているといいつつ、ダメだったりとか...
商売してますから、検証用に入れたのですが、いじればいじるほど頭が痛くなってきました...
それと、貧乏会社なので、ショボイPCしかないもんで、檄重.
もうやめてーって感じです.

お久です!!

よくわかんねーけど、
たいへんなんだなあ。

走り疲れたときは、止まっていっちょ後ろを見て、進む方向を決めたほうがいいよ!

オレは今、お昼の休憩中!!

がんばって!!!

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/167990/41098745

この記事へのトラックバック一覧です: 頭がごちゃごちゃ:

« Golfがほしい (^-^) | トップページ | 問題を構造化して考える技術 »

最近の写真