May 02, 2004

会津駒ヶ岳

会津駒ヶ岳に登ってきました。

雪がわんさかあったけど、そのおかげでコースタイムを大幅に短縮できました。登り3時間、下り1時間30分という驚異的な速さ。
あと天気もすごくよく、一昨年登ったときよりもはるかに展望が望めました。見えたのは、燧ヶ岳、至仏岳、平ヶ岳、男体山、女峰山、越後三山といった周囲すべて。

あと、ふもとの風呂がパワーアップしていました。桧枝岐村経営の駒の湯ですが、一昨年よりも(もともとかなり綺麗だったのに)さらに細部がきれいになっていました。ラッキー!!

Rolleiをもっていったので、写真は後日UP。

23:03 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/249

May 03, 2004

Ruby Marshal

Rubyを1.8にしてからしばらく経ちますが、なんとCGIは1.6.8で実行されていたことが発覚。で、1.8にパスを修正してなおしました。

そうしたら、カウンタが壊れた!!原因は1.8と1.6.8のMarshalのバージョンが違っていたためのようです。修正ちょっと大変でした…。

サーバ管理者の掟、その1。バージョン管理はしっかりやるべし。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/250

May 04, 2004

オキシライド

[Tips]

最近TVで広告をやっているので、気になって調べてみました。オキシライドとはPanasonicから新しく発売された電池です。

この電池、宣伝によるとアルカリ電池の1.5倍長持ちし、電圧の低下も押さえられるとか。最近の低消費電力デバイスとあいまって、これでますます電源が長持ちすることでしょう。Palmとかでランダウンテストをしてみようかな。

23:56 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/251

May 07, 2004

coLinux

巷でうわさのcoLinuxを使ってみました。coLinuxというのはWindowsの特権モードでLinuxを動かすという少々強引なソフトですが、APIのエミュレーションレベルでLinuxを実現しているCygwinなどと比べると、全然サクサク動きます、すばらしい。

coLinuxのインストールにはこのページが非常に参考になりました。このページどおりのやり方でインストールが完了します。少しばかり補足をするなら、デフォルトでは名前解決されなかったので、/etc/resolv.confを適当な値に修正しました。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/252

May 09, 2004

H2A 発射台(整備塔)

H2A_laucher.jpg

最近、写真がなくて寂しいので、探してきました。これはH2Aの発射台(整備塔の中にいる状態)を下から見上げて撮ったもんです。先っぽの丸の部分に、あのトンガリがピタっとはまります。もちろん、場所は種子島。
Pentax LX + Rollei 25mm F2.8。撮影はセルフ+地面おきで。

21:40 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/253

May 11, 2004

H8用gccの作成(リベンジ)

以前、H8用gccの作成を失敗しましたが、最近とある事情でH8の開発環境を作らねばならなくなったので、再チャレンジしてみました。

でっ、できました!!コンパイル時間、3時間近くかかって(P4-2GHz)。

前回の敗因は、組み合わせるnewlibのバージョンがよくなかったようです。gcc-3.3.2に対してはnewlib-1.11.0の組み合わせでコンパイルがとおります。gcc-3.4だとnewlib-1.12.0なのかもしれません。

前回はCコンパイラだけしかターゲットにしていませんでしたが、今回はC++コンパイルも作ってみました。また、newlibのヘッダでコンパイラをコンパイルし、生成オプションをh8300-hmsからh8300-elfに変更。手順はほぼ前回と似ているのですが、手順を続きに載っけておきます。

続きを読む "H8用gccの作成(リベンジ)"
18:34 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/254

May 13, 2004

ポット!!

[Tips]

卒論で研究室配属になったわけですが、ラッキーなことにうちの研究室は4年生用の部屋があります。あと、自分用の机とパソコンも支給されました!!

ということで部屋をカスタマイズしているわけなのですが、お茶が飲みたい、だが湯沸し器がないではないか!!ということで、ポットを誰が買うか、卓球大会をして決めることに。

勝負は研究室対抗。うちの研究室には2人の先生がいて、それぞれ3人ずつの卒論配属なので、3対3の総当り戦で雌雄を決しました(大げさな)。

結果、9連敗、死です、ポットを買わなければならないことに。けっこう高いですね、ポット。生協で八千円~。自腹切りたくねぇ。

続きを読む "ポット!!"
22:19 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/255

May 15, 2004

緑の部屋へと

[Timely]

最近、以前書いた『赤い部屋から』という記事にアクセスが集中していたので、なんでかなと思って調べてみました。そうしたら、続編がでていたのです。

viridian_room.gif
Viridian Room。謎解きゲー。むずい…。

さっそくやってみました。自力クリアできませんでした。夜やってて、骸骨があったりなんかして、怖くて眠れなくなりそう(!?)だったので、ためらいつつもヒントをみてしまいました。実際、前作のCrimson Roomよりも難易度高いです。これからチャレンジする人はがんばってみてください。

01:08 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/256

May 16, 2004

h8300-elf Makefile

H8のelf版コンパイラの作成に成功しましたが、いちいちコマンドを入力するのがあまりに面倒くさいと思うので、Makefile(一連の処理をまとめたもの)を作成しました。公開します。

やっていることは前回書いたことと同じです。ただし、Windows上のCygwinでこのMakefileを動作させ開発環境を構築するには、wgetとmake、gcc(ネイティブコンパイラ)が必要です。以下の手順をとってください。

『コンパイラ導入方法(Cygwin)』を参考にCygwinを導入します。基本は同じなのですが、

Select Packages[インストールするソフトを選択してください。ここが重要です。All+Develの中にあるgcc: GCC C compilergcc-g77: GCC Fortran compilerのNewのところにバージョンが表示されているかどうか確認してください。なければSkipとかなっているところクリックすればバージョンが表示されるはずです。]

のところで、All+Develにあるmake: The GNU version of the 'make' utilityAll+Webにあるwget: Utility to retrieve files from the WWW via HTTP and FTPもチェックしてバージョンが表示されるようにしてください。

Cygwinがインストールされたら以下の手順を実行してください。

$ if ! [ -d /usr/local/src ]; then mkdir /usr/local/src; fi
$ cd /usr/local/src
$ wget https://fenrir.naruoka.org/download/embedded/h8devel.makefile
$ make -f h8devel.makefile

これで開発環境が構築されます。

ちなみにですが、開発は秋月の3069FのLANなしモデル(開発環境付)でやっています。このキットに付属の開発環境はh8300-hms(coff)でベースgccが2.95なので、とってもいけていません。開発環境なしモデルを買って、上記の方法で再構築することをお勧めします。

続きを読む "h8300-elf Makefile"
09:51 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/257

May 17, 2004

デバックモニタ、HTerm導入

H8で開発をしているわけですが、今回はルネサス純正のデバックモニタとターミナルソフトHTermを導入してみました。

まず、デバックモニタなのですが、秋月のボードで開発を行っているので、当然のごとくそのままでは動きません。従って、自分で再構築する必要があるようですが、今回は手っ取り早く、Developer's Placeにある再構築済みのものを使わせていただくことにしました、ありがとうございます。ただ、ここから落とせるものはH8内蔵ROMに転送する際に、チェックサムでけられるので、解消パッチ(同サイトで公開されています)をあてる必要があります。当てたもの(秋月3069F、LANなし用)をおいておきます。あとは、これをH8の内蔵ROMに転送してください。

次にHTermですが、これは簡単、ダウンロード、インストール一発でおわりです。

HelloH8.jpg
結果、Hello world from H8に成功しました。

方法は簡単で、HTermを起動、H8に接続、Loadコマンドでバイナリ(Sレコードの他、elf/dwarf2にも対応していました)を転送、Goで実行という次第です。
デバックモニタ用のバイナリを作るのは、スタートアップルーチンやリンカスクリプトなど、色々とやることがあり、まだ調整が完全に済んでいないので、日を改めて記事を書きたいと思います。

19:04 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/258

May 18, 2004

筑波宇宙センター

04-05-18_16-31.jpg
なんだかわかりますか?

正解は、宇宙飛行士が訓練を行うための巨大なプールです!!

筑波宇宙センターに見学に行ってきました。ALOS(陸域観測衛星)ETS-8の実物、『きぼう』のコピーがおいてありました。いったいいつになったら『きぼう』は宇宙にいけるんでしょう?宇宙ステーションの耐用年数がやばいというのに…。

22:02 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/259

May 19, 2004

ナナナン魂

[Music]

B0001Z2X7C.09.jpeg
なぁ~なななぁ、ななぁ、なぁ、なぁあ、かたまりだましい~♪
なぁ~なななぁ、ななぁ、なぁ、なぁあ、かたまりだましい~っ♪

ということで、塊魂のサウンドトラック、『塊フォルテッシモ魂』が本日発売になりました。早速購入。

すばらしい、塊に対する愛が伝わってくる~。ゲーム中にも口ずさむくらい、のりのいい音楽なので、自分的に買いです。ゲームといっしょにどうぞ~。

続きを読む "ナナナン魂"
19:11 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/260

May 20, 2004

秋月3069F用リンカスクリプト、スタートアップルーチン

秋月の3069Fボード上にルネサス純正のデバックモニタをのせてプログラムを開発しているわけですが、デバックモニタ用にビルドする際に必要となるリンカスクリプトスタートアップルーチンを公開します。

デバックモニタではベクタエリアのRAMへ二重化(アドレスは0xffc040~、長さ0xff)されていますが、それに対応しています。ROM領域、RAM領域、Stack領域は秋月増設RAM(16Mbit)上に確保しています、アドレスはそれぞれ0x400000~、0x410000~、0x5ffffc~(上位アドレスへ)としてあります。

また、スタートアップルーチンでは次の手順をとっています。具体的には、①スタックの設定、②変数領域のゼロクリア、③ROM領域に書き込んだ初期値付変数のイメージをスタート時にRAM領域に移す、の3つを行っています。

20:03 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/261

May 22, 2004

AdSense

いまさら感が否めないですが、GoogleのAdSenseをはじめてみました。はじめてから約1週間が経ちますが、少々のおこずかいゲットです。

AdSenseとは、そのページに特徴的な単語を抽出して、マッチする広告を提供するサービスなのですが、うちのサイトだと、MovableTypeやシステム開発に関する広告がピックアップされるようです。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/262

May 23, 2004

カルマンフィルタ実装計画

複数のセンサデータを取得し、それをもとにカルマンフィルタをかけることによって精度のよい観測を行う、そんなルーチンを考えています。

センサデータはできるかぎり利用したいですが、一定時間間隔で取得しなければ、誤差の広がり要因が増え、精度の高い測定を行うことができなくなると思います。従って、インターバルタイマを使用してセンサの値を取得するルーチンを用意する作戦でいきます。

こうすると、センサループから計算ルーチンへの値をどのようにわたすかが問題になりますが、これにはソフトウェアFIFOのQueueを使用すればうまくいきます。Queueを一段かませることによって、取得したデータを順序よく処理することができ、古いデータをとりこぼすこともありません(Queueのサイズを適当な値に調整する必要がありますが)。カルマンフィルタ特有の、計算時間が補正を行うときと行わないときとで変わってしまう問題にも対処できます。

で、全体の構造はつぎのようにしました。ここではカルマンフィルタの組み合わせとして、精度は普通だが応答性がよい(=一定時間にたくさんデータがとれる)センサとして加速度センサ、精度は良いが応答性が悪いセンサとしてGPSを例にしています。

コードは続きをどうぞ。

続きを読む "カルマンフィルタ実装計画"
23:47 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/263

May 24, 2004

RichartzからWengerへ

[Tips]

山へ行く人なのでアーミーナイフを愛用していますが、以前使愛用していたRichartz製のStructure Picnic 7が疲労破壊をおこしてしまったので、新しいのを買いました。

153500.jpg

新しく買ったのは、Porsche DesignWenger製の153500。曲線を使ったデザインがかっこいいのが決め手になりました、使うのがもったいないくらい。

続きを読む "RichartzからWengerへ"
19:22 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/264

May 25, 2004

全翼機

04-05-25_18-46.jpg
今年もまた5月祭がありますが、それにむけてR/C飛行機を作成しました。写真の赤いやつを含め、2台つくりました。

全翼機とよばりれるタイプの飛行機で、尾翼がなく、全体が一枚の羽で構成されています。
普通の飛行機に尾翼があるのはかっこいいからというわけではなく、あれでバランスをとっているのです。従って、この全翼機、ちょっとした工夫をしないとうまくバランスがとれません。詳細な解説は別のページにゆずりますが、簡単に説明すると1枚の羽で主翼と尾翼の両方の働きをするような絶妙なカーブの翼(S字キャンバー)を採用することによって、バランス問題を解決しています。

部品の点数がないので、このタイプの飛行機は電子部品を除けばハンドメイドでつくることができます。実際今回も手作りで、材料の発泡スチロールをニクロム線カッターで切ってつくりました。翼、というか本体ができたら、あとは模型飛行機のレシーバ(電波受信機)、アンプ(増幅器)、サーボ(舵を操作する動力)、モーターを組み込んで完成です。

宣伝ですが、5月祭当日はこれらの展示に加え、ライト兄弟のフライヤー号のシミュレータが体験できます。興味がある方はどうぞ、場所は工学部7号館です。

22:08 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/265

May 26, 2004

ガムつぼ

[Tips]

最近マイブームなのがガムつぼです。ガムつぼというのは、粒タイプのガムが壺状の容器にたくさん入って売られているあれのことです。

ガムつぼにはいくつか種類がありますが、僕が愛用しているのはXYLITOLの緑のやつ。一番でかいやつ(ファミリーボトルというらしい)を買っています。で、飯を食った後や、コーディング中にはほとんどガムをくっています。でかいといいですね、なかなかなくならないし。あまった容器も使い勝手がいいし(ICとか電子パーツの保管用に使っています)。

以前はコーヒーにはまっていて、ストレートでがんがん飲んでいたら胃がおかしくなったので、お茶に転向。その後、お茶を気軽に飲める環境から遠ざかってしまった(現在、再構築中です)ので、ガムになったわけですが、他にストレス解消にはこんなのがあるよ、ということでしたら、是非教えてください!!

23:45 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/266

May 27, 2004

H8モニタで浮動小数点を

導入したH8モニタには、printfの機能が内蔵されていましたが、H8本体の内蔵メモリで実行できるようなサイズにおさえるために、文字列のみの表示が可能のようです。
つまり内蔵モニタのprintfにとっては、%fなどの浮動小数点の表示はもってのほか、ということなのでしょう。

しかし、なんとかして浮動小数点演算の結果を表示したい。強引ですが、やってみました。秋月の3069にある増設RAMの2Mbyteという大量のワークエリアをもってすれば、それが可能なのです。
単純な話で、内蔵モニタのprintfをする前にライブラリのsprintfで文字列に変換し、それを内蔵モニタのprintfで表示させればOKです。

FloatH8.jpg
できましたっ!!

ソースは続きをどうぞ。

続きを読む "H8モニタで浮動小数点を"
19:46 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/267

May 29, 2004

Apache 1.3.31へ移行

今までApacheの1.3.28を使ってきたのですが、ここのところApacheの調子がよくなかったので、1.3系で最新のものに入れ替えてみました。調べてみると、どうやら1.3.29以前で重大なバグが存在していたようです。

今回作成したApacheは以下のような構成にしました。Apache_1.3.31 + OpenSSL-0.9.7d + mod_ssl-2.8.17-1.3.31 + mod_perl-1.29(Perlは5.8.0) + mod_ruby-1.2.0(Rubyは1.8.0)で、mod_ssl、mod_perl、mod_rubyはすべてDSOではなくビルトインにしました。ターゲットはMacOSX 10.2.8です。

手順は続きをどうぞ。

続きを読む "Apache 1.3.31へ移行"
22:07 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/268

May 31, 2004

ソフトウェアFIFO

H8でシリアル通信を行うプログラムを作成しています。しかし、シリアル通信がメインではないので、シリアル通信はメインルーチン以外のところで勝手にやってほしい、と思っています。
ハードウェアなら、こんな場合はFIFO(First In First Out)バッファを途中に設けて、都合のいいときにまとめてバッファに書き出し、あとは通信デバイスがたらたら読み出して処理(その逆も当然あり)というのが定石ですが、ソフトウェアでこれを実現するためには?

結論としては、割り込み+ソフトウェアFIFOバッファで対処するのがよいかと思います。幸い、H8のシリアル通信では受信バッファフル(RXI)や送信バッファエンプティ(TXI)が組み込まれているので、CPUからみればはるかに遅いシリアル通信も、処理が可能になったときだけ関連するルーチンを呼び出すということが可能です。

で、問題はソフトウェアFIFOなのですが、C言語を使うなら配列で実装することになるでしょう。配列というとStackを実現するのは簡単(なぜなら末尾を処理するだけで先頭は不変)ですが、FIFOとはQueueですから先頭の処理が必要になります。従って、多少やっかいです。

ここでリングバッファの登場です。リングバッファとは配列の先頭と末尾をソフトウェア的に結んだもので、末尾までくると先頭にジャンプするよう作ります。またリングバッファ上にFIFOの先頭、末尾を作成し、そのFIFOの先頭と末尾が追いかけっこするような形でつくります。

詳細はコード(ring_buffer.cring_buffer_h)をどうぞ。

ちなみにこのページを参考にしました。実際のシリアルルーチンが絡んでくる部分は、今度公開予定です。

※その後H8/3694向けの実装を公開しました。

23:38 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/269