May 02, 2004会津駒ヶ岳
[Mountain]
会津駒ヶ岳に登ってきました。 雪がわんさかあったけど、そのおかげでコースタイムを大幅に短縮できました。登り3時間、下り1時間30分という驚異的な速さ。 あと、ふもとの風呂がパワーアップしていました。桧枝岐村経営の駒の湯ですが、一昨年よりも(もともとかなり綺麗だったのに)さらに細部がきれいになっていました。ラッキー!! Rolleiをもっていったので、写真は後日UP。 May 03, 2004Ruby Marshal
[Computer]
Rubyを1.8にしてからしばらく経ちますが、なんとCGIは1.6.8で実行されていたことが発覚。で、1.8にパスを修正してなおしました。 そうしたら、カウンタが壊れた!!原因は1.8と1.6.8のMarshalのバージョンが違っていたためのようです。修正ちょっと大変でした…。 サーバ管理者の掟、その1。バージョン管理はしっかりやるべし。 May 04, 2004May 07, 2004May 09, 2004H2A 発射台(整備塔)
[Aero & Astro]
[Photo]
最近、写真がなくて寂しいので、探してきました。これはH2Aの発射台(整備塔の中にいる状態)を下から見上げて撮ったもんです。先っぽの丸の部分に、あのトンガリがピタっとはまります。もちろん、場所は種子島。 May 11, 2004H8用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の作成(リベンジ)"May 13, 2004ポット!!
[Tips]
卒論で研究室配属になったわけですが、ラッキーなことにうちの研究室は4年生用の部屋があります。あと、自分用の机とパソコンも支給されました!! ということで部屋をカスタマイズしているわけなのですが、お茶が飲みたい、だが湯沸し器がないではないか!!ということで、ポットを誰が買うか、卓球大会をして決めることに。 勝負は研究室対抗。うちの研究室には2人の先生がいて、それぞれ3人ずつの卒論配属なので、3対3の総当り戦で雌雄を決しました(大げさな)。 結果、9連敗、死です、ポットを買わなければならないことに。けっこう高いですね、ポット。生協で八千円~。自腹切りたくねぇ。 続きを読む "ポット!!"May 15, 2004緑の部屋へと
[Timely]
最近、以前書いた『赤い部屋から』という記事にアクセスが集中していたので、なんでかなと思って調べてみました。そうしたら、続編がでていたのです。
さっそくやってみました。自力クリアできませんでした。夜やってて、骸骨があったりなんかして、怖くて眠れなくなりそう(!?)だったので、ためらいつつもヒントをみてしまいました。実際、前作のCrimson Roomよりも難易度高いです。これからチャレンジする人はがんばってみてください。 May 16, 2004h8300-elf MakefileH8のelf版コンパイラの作成に成功しましたが、いちいちコマンドを入力するのがあまりに面倒くさいと思うので、Makefile(一連の処理をまとめたもの)を作成しました。公開します。 やっていることは前回書いたことと同じです。ただし、Windows上のCygwinでこのMakefileを動作させ開発環境を構築するには、wgetとmake、gcc(ネイティブコンパイラ)が必要です。以下の手順をとってください。 『コンパイラ導入方法(Cygwin)』を参考にCygwinを導入します。基本は同じなのですが、 Select Packages[インストールするソフトを選択してください。ここが重要です。All+Develの中にあるgcc: GCC C compilerとgcc-g77: GCC Fortran compilerのNewのところにバージョンが表示されているかどうか確認してください。なければSkipとかなっているところクリックすればバージョンが表示されるはずです。] のところで、All+Develにあるmake: The GNU version of the 'make' utilityとAll+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"May 17, 2004デバックモニタ、HTerm導入H8で開発をしているわけですが、今回はルネサス純正のデバックモニタとターミナルソフトHTermを導入してみました。 まず、デバックモニタなのですが、秋月のボードで開発を行っているので、当然のごとくそのままでは動きません。従って、自分で再構築する必要があるようですが、今回は手っ取り早く、Developer's Placeにある再構築済みのものを使わせていただくことにしました、ありがとうございます。ただ、ここから落とせるものはH8内蔵ROMに転送する際に、チェックサムでけられるので、解消パッチ(同サイトで公開されています)をあてる必要があります。当てたもの(秋月3069F、LANなし用)をおいておきます。あとは、これをH8の内蔵ROMに転送してください。 次にHTermですが、これは簡単、ダウンロード、インストール一発でおわりです。
方法は簡単で、HTermを起動、H8に接続、Loadコマンドでバイナリ(Sレコードの他、elf/dwarf2にも対応していました)を転送、Goで実行という次第です。 May 18, 2004筑波宇宙センター
正解は、宇宙飛行士が訓練を行うための巨大なプールです!! 筑波宇宙センターに見学に行ってきました。ALOS(陸域観測衛星)とETS-8の実物、『きぼう』のコピーがおいてありました。いったいいつになったら『きぼう』は宇宙にいけるんでしょう?宇宙ステーションの耐用年数がやばいというのに…。 May 19, 2004ナナナン魂
[Music]
ということで、塊魂のサウンドトラック、『塊フォルテッシモ魂』が本日発売になりました。早速購入。 すばらしい、塊に対する愛が伝わってくる~。ゲーム中にも口ずさむくらい、のりのいい音楽なので、自分的に買いです。ゲームといっしょにどうぞ~。 続きを読む "ナナナン魂"May 20, 2004秋月3069F用リンカスクリプト、スタートアップルーチン秋月の3069Fボード上にルネサス純正のデバックモニタをのせてプログラムを開発しているわけですが、デバックモニタ用にビルドする際に必要となるリンカスクリプトとスタートアップルーチンを公開します。 デバックモニタではベクタエリアのRAMへ二重化(アドレスは0xffc040~、長さ0xff)されていますが、それに対応しています。ROM領域、RAM領域、Stack領域は秋月増設RAM(16Mbit)上に確保しています、アドレスはそれぞれ0x400000~、0x410000~、0x5ffffc~(上位アドレスへ)としてあります。 また、スタートアップルーチンでは次の手順をとっています。具体的には、①スタックの設定、②変数領域のゼロクリア、③ROM領域に書き込んだ初期値付変数のイメージをスタート時にRAM領域に移す、の3つを行っています。 May 22, 2004AdSenseいまさら感が否めないですが、GoogleのAdSenseをはじめてみました。はじめてから約1週間が経ちますが、少々のおこずかいゲットです。 AdSenseとは、そのページに特徴的な単語を抽出して、マッチする広告を提供するサービスなのですが、うちのサイトだと、MovableTypeやシステム開発に関する広告がピックアップされるようです。 May 23, 2004カルマンフィルタ実装計画複数のセンサデータを取得し、それをもとにカルマンフィルタをかけることによって精度のよい観測を行う、そんなルーチンを考えています。 センサデータはできるかぎり利用したいですが、一定時間間隔で取得しなければ、誤差の広がり要因が増え、精度の高い測定を行うことができなくなると思います。従って、インターバルタイマを使用してセンサの値を取得するルーチンを用意する作戦でいきます。 こうすると、センサループから計算ルーチンへの値をどのようにわたすかが問題になりますが、これにはソフトウェアFIFOのQueueを使用すればうまくいきます。Queueを一段かませることによって、取得したデータを順序よく処理することができ、古いデータをとりこぼすこともありません(Queueのサイズを適当な値に調整する必要がありますが)。カルマンフィルタ特有の、計算時間が補正を行うときと行わないときとで変わってしまう問題にも対処できます。 で、全体の構造はつぎのようにしました。ここではカルマンフィルタの組み合わせとして、精度は普通だが応答性がよい(=一定時間にたくさんデータがとれる)センサとして加速度センサ、精度は良いが応答性が悪いセンサとしてGPSを例にしています。 コードは続きをどうぞ。 続きを読む "カルマンフィルタ実装計画"May 24, 2004RichartzからWengerへ
[Tips]
山へ行く人なのでアーミーナイフを愛用していますが、以前使愛用していたRichartz製のStructure Picnic 7が疲労破壊をおこしてしまったので、新しいのを買いました。 新しく買ったのは、Porsche DesignでWenger製の153500。曲線を使ったデザインがかっこいいのが決め手になりました、使うのがもったいないくらい。 続きを読む "RichartzからWengerへ"May 25, 2004全翼機
全翼機とよばりれるタイプの飛行機で、尾翼がなく、全体が一枚の羽で構成されています。 部品の点数がないので、このタイプの飛行機は電子部品を除けばハンドメイドでつくることができます。実際今回も手作りで、材料の発泡スチロールをニクロム線カッターで切ってつくりました。翼、というか本体ができたら、あとは模型飛行機のレシーバ(電波受信機)、アンプ(増幅器)、サーボ(舵を操作する動力)、モーターを組み込んで完成です。 宣伝ですが、5月祭当日はこれらの展示に加え、ライト兄弟のフライヤー号のシミュレータが体験できます。興味がある方はどうぞ、場所は工学部7号館です。 May 26, 2004ガムつぼ
[Tips]
最近マイブームなのがガムつぼです。ガムつぼというのは、粒タイプのガムが壺状の容器にたくさん入って売られているあれのことです。 ガムつぼにはいくつか種類がありますが、僕が愛用しているのはXYLITOLの緑のやつ。一番でかいやつ(ファミリーボトルというらしい)を買っています。で、飯を食った後や、コーディング中にはほとんどガムをくっています。でかいといいですね、なかなかなくならないし。あまった容器も使い勝手がいいし(ICとか電子パーツの保管用に使っています)。 以前はコーヒーにはまっていて、ストレートでがんがん飲んでいたら胃がおかしくなったので、お茶に転向。その後、お茶を気軽に飲める環境から遠ざかってしまった(現在、再構築中です)ので、ガムになったわけですが、他にストレス解消にはこんなのがあるよ、ということでしたら、是非教えてください!! May 27, 2004H8モニタで浮動小数点を導入したH8モニタには、printfの機能が内蔵されていましたが、H8本体の内蔵メモリで実行できるようなサイズにおさえるために、文字列のみの表示が可能のようです。 しかし、なんとかして浮動小数点演算の結果を表示したい。強引ですが、やってみました。秋月の3069にある増設RAMの2Mbyteという大量のワークエリアをもってすれば、それが可能なのです。 ソースは続きをどうぞ。 続きを読む "H8モニタで浮動小数点を"May 29, 2004Apache 1.3.31へ移行
[Computer]
今まで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へ移行"May 31, 2004ソフトウェアFIFOH8でシリアル通信を行うプログラムを作成しています。しかし、シリアル通信がメインではないので、シリアル通信はメインルーチン以外のところで勝手にやってほしい、と思っています。 結論としては、割り込み+ソフトウェアFIFOバッファで対処するのがよいかと思います。幸い、H8のシリアル通信では受信バッファフル(RXI)や送信バッファエンプティ(TXI)が組み込まれているので、CPUからみればはるかに遅いシリアル通信も、処理が可能になったときだけ関連するルーチンを呼び出すということが可能です。 で、問題はソフトウェアFIFOなのですが、C言語を使うなら配列で実装することになるでしょう。配列というとStackを実現するのは簡単(なぜなら末尾を処理するだけで先頭は不変)ですが、FIFOとはQueueですから先頭の処理が必要になります。従って、多少やっかいです。 ここでリングバッファの登場です。リングバッファとは配列の先頭と末尾をソフトウェア的に結んだもので、末尾までくると先頭にジャンプするよう作ります。またリングバッファ上にFIFOの先頭、末尾を作成し、そのFIFOの先頭と末尾が追いかけっこするような形でつくります。 詳細はコード(ring_buffer.c、ring_buffer_h)をどうぞ。 ちなみにこのページを参考にしました。実際のシリアルルーチンが絡んでくる部分は、今度公開予定です。 ※その後H8/3694向けの実装を公開しました。 |
かれんだ~
スポンサード リンク
|