« 2008年01月 | メイン | 2008年03月 »
チューナーの改造も当初の予定通り進んでいる。けっこう、いい感じに仕上がりそう。問題はソフトだな。すこし、考えてみるか。
昨今、一部で大流行の TS-抜き のページを作成してみた。手元にある資料を色々と公開していく予定だ。
盛り上がってくれるとうれしい。
Critical Mass って言葉がある。元々は原子力の言葉で、臨界点を指す言葉だ。でも、この言葉、すげー含蓄に富んでいるんだよ。
野球でもサッカーでも、どんなにうまいやつが集まっても、9人あるいは11人いないとゲームにならない。中途半端じゃだめで、ある一定量を超えないとだめなんだよね。
これ、昨今のプログラミングや他の仕事でも同じなのよ。中途半端な知識や経験なんかじゃ役に立たない。一線を超えないと。
一線を超えるにはどうすればいいか??
ひたすら、そのことをやって知識や経験を集積するしかない。これには多大な労力と時間がかかるけど、でもそれを超えないと今までやってきたことすら、無駄になってしまうのだ。だから、その道を選んだら、クリチカルマスを超えるまでやらんといかんのだ。
がんばってくれ。
今月と来月は、ほとんど会社に行かないことになりそうだ。有休の〆が3月末までで、4月から新しい有給休暇がやってくる。前年度から繰り越せるのは24日なので、それ以上持っていても切り捨てられてしまう。外資系の良いところは、適当にスケジュールが合えば休めるときに休めることだろうか?
とりあえず、客先への出張が1週間おきにくるので、それ以外の日はほとんど休んでいる。定期券を買わないくらいの休みっぷりだ。
でも、家に居るときも会社に居るときもやることはあまり変わらない。開発をしているか、思索に耽っているかのどちらかだからだ。
とりあえず、3月もがっつり休んで開発にターボをかけます。
一部の人はなんでこんなに開発をやっているのか理解できると思うけど…。
タイトルは Web マスターが前の会社で働いていた時のコピーだ。なんか、ぐっと来るよね。ケータイ使うばっかりがモバイルじゃないと言うことで、他のものもモバイルしてみた。
PCをやりながら、コーヒーを啜るのはよくあることだよね。まずはこれをモバイル。
これ を買ってみた。すげえ便利。
で、コーヒードリッパーから直接淹れようとしたけど、いまいち口が狭い。なので、こんなことが出来る商品も出ている。
Webマスターはそんなことを知らずに、安いと言う理由だけでページの最後の商品を購入した。口を拡げることは出来ないので、コーヒードリッパーの足をヤスリで削ることにした。ポリカーボネートだから、それなりに硬いんだよね。これでドリッパーから直接、マグボトルへコーヒーを淹れることが出来るようになった。
うーん、モバイル化は大変だな。
改造ファームを作るときに役立つだろうと思って、YDBC-30(a.k.a ユニデン DT300) のリモコン信号を調べておいた。
そのうちにリモコン対応のファームが出てくると思う。
フリーオ旋風から少ししたので、ハッカー達は違う道を歩み始めた。デジタルTVのフォーマットは国や地域によって異なる。だから、これらをハックするためには自己解決が基本となる。つまり、海外のハッカーには頼れないのだ。
フリーオはハックではなく、日本と言う巨大マーケットとそこに流れるコンテンツの複製を狙った製品の供給であり、ハックとは異なると考えている。
で、DT300とかYDBC-30とかが熱くなっている。これらにUSBの基板を付加して、TSデータを抜いてしまおうと言うわけだ。その為の環境が整いつつある。チューナのチャンネル切り替えはI2Cが一般的だが、もっと単純にリモコン信号をハックしてみた。
近々、公開する予定、それに合わせてファームもリモコン信号対応型にする。
長いこと放置していて、本当にごめんなさい。
を使えるように整備しました。
FX2(EZ-USB)のファームウェアとホストソフトウェアを一体化するときに大変、便利です。
FX2を使いこなす上で、ファームウェアを事前にCの配列としてホストSWに統合しておく事はものすごく便利である。でも、そのためにはバイナリやHEXファイルを読み込んで、Cの配列形式に変換する必要がある。
Cypressの昔のツールにはついていたけど、昨今のには付いていない気がする。また、UNIX系 OS はそもそもWindowsのツールは使えない。
そこで、bin2c を作ってもらった。
かなり、以前に作ってもらっておきながら、まだデビューさせていない。少し、落ち着いたところでこちらも紹介したいと思う。
おたのしみに
Makefile とかの細かい不具合を修正しました。
VisualStudio 2008 がやっと動くようになった。2003 だったけ?ナビゲーションペイント言うか、ソースリストとかヘッダーファイルの表示ペインが右側にあって、えらい違和感を覚えたんだけど、今度は左側になったね。
横文字表示なんだから、左から右に読むよな。普通は。
GUIを作るときはちゃんと動線解析せえよ。って感じ。
2008はよしとする。
とりあえず、手元に Visual Studio 2008 のディスクがあったのでインストールしてみることにした。英語版である。日本語でも英語でも生成されたコードには国籍も性別も関係ないからどうでもいいのである。
でも、どうでも良くないことが起きた。
ウェブマスターの現在の環境はWindowsVistaのBusinessである。VS2008EnglishVersionのインストーラはWindowsXPのSP2が当っていないようなので、直ちにインストールするようにと指示を出してきた。
「ハァー。」
なんで?
こういうのマジ疲れますよね。開発にこれから、エネルギー使うのに。
とりあえず、ダウンロードサイトに行って、日本語版を一時間かけてダウンロードしてきましたよ。その他にDaemonToolsなんかもね。
まぁ、まったりやることにします。
徐々にですが、
が蘇ってきたので。
一応、ソフトウェアエンジニアの端くれなんで、MSDNには入っている。マイクロソフトのドキュメントの質はともかく、量はレスペクトしている。本当に。これに対抗できるのはノキアのS60関連くらいだよ。まじで。
でも、MSDNって微妙に使いにくくないか?
たとえば、プロダクトキーを得るためにMSDNのサイトにアクセスする必要があるんだけど、WindowsLive ! のアカウントを取らないといけないんだよね。それと、MSDNの会員番号を紐付けして、サイトにログインできるわけだ。
なんでこんなことする必要があるの?
会員番号をIDにすりゃいいじゃん。これってWindowsLive!をやっている部署が見かけの登録者数を増やすためにやっているんじゃないの?
全然、意味ないでしょ?まじで。
カメFX2の俺が考えている Killer Application が公開されたね。今後は様々なユーザが参加して、強化されていくと思う。一助にでもなればということで、SDCCでポートした結果を公開することにした。
http://www.teamknox.com/sdccKnowHow/sdccKnowHowj.html
他のFX2アプリにももちろん、流用可能だ。
SDCC でビルドした Hex ファイルを開発者に送って、動作確認をしてもらった。いくつか設定をなおしたけど、
ばっちり、OKっす!!
ページを明日以降、作成しますよ。
楽しみ。
EZ-USB FX2 でUSBの開発と言うと、オプティマイズのボードと fx2fw をたたき台にしているケースが多いのではないだろうか?
とりあえず、この fx2fw も SDCC 化してみた。これで、拡張するときも SDCC を利用できるので、お試し版Keil のコンパイラが持つファームのサイズ制限を気にせずに開発することが出来るかもしれない。
これも近日中にアップします。
Keil の 8051 用コンパイラで書かれた FX2+CPLD のコードを SDCC で書き直すことが出来た。実質的な作業は一時間程度ではなかっただろうか?ビルドまではすぐに出来たけど、Renum がなかなか出来なかった。
先の fenrir 氏の掲示板の書き込みを参考にさせてもらった。ディスクリプタテーブルのアライメントがうまくないと Renum 出来ないのだ。
動作するかどうかは保証の限りではない。なんせ、デバッグ環境がないからまともにデバッグできないのだ。
開発者に送って、評価してもらうことにしよう。そうしよう。
Fenrirさんのページを参考にさせてもらって、Windows 用で作ってみた。まだレナムしかしていないけど、何となく良い感じに仕上がった。本命は件のキラーアプリのSDCC化でフリーウェアにすることだ。もう少ししたら、ページをまとめてアップします。
でも、まじ Fenrir さんすごい。
こういう人がモノを作ってくれるなら、日本もしばらく安泰。
カメレオン USB はその多くの使い道から、一世を風靡した。でも、時代は移り変わり、USB も規格としては 3.0 が取沙汰されている。
このカメレオン USB の 2.0(Hi-Speed Version) を待っていたのは、ウェブマスターだけではあるまい!!
そう、Chameleon USB FX2 である。オプティマイズより発売された。このキットは既に発売されている FX2 + CPLD-MAX2 を組み合わせたものである。コンセプト的には初代カメレオンと同じだが、初代のキラーアプリであるロジアナに匹敵するキラーアプリケーションを持っている。
今の段階ではまだここには書けないけど、遠からずコンテンツとして、当Web ページにて公開する予定である。
SDCC 2.7.0 でビルドしたファームウェアはとりあえず、 Renumlation まで行くようになった。専用基板が手元にないので、システムとしての検証はまだ出来ないがたぶん、大丈夫だろう。
引っかかったのは、code 領域とデータ領域がかぶっていたらしい。
Makefile 中の
XDATA_START = 0x1000
↓
XDATA_START = 0x2000
に変えたら動作を開始した。
これからも細かい話はたくさん出てきそうだな。
今まで作った、ファームウェアを SDCC 2.7.0 でビルドしようとしている。最初に躓いたのが、
#pragma
で指定する構文が 大文字か小文字のいわゆる case sensitive かどうかと言うところだ。 具体的には
#pragma SAVE
#pragma NOIV
...
#pragma RESTORE
の部分をそれぞれ、小文字にすればOK.
次はこのファームがきちんとロードされるかどうかを試してみる。
Linux上で USB 開発を行う場合に役立ちそうな Tips を書いておく。
ファームウェアをバイナリとして持たせて、ホストのソフトウェアの起動時にそれを読み込んでロードするのは普通に行われることだと思う。インテルヘックスを読み込ませるのももちろんありだけど…。
で、Windowsの環境だと、hex2bix なんてコマンドがある。こんな感じで使う。
hex2bix -m 8192 $(TARGET)
Linuxなどでは objcopy を使う
objcopy -I ihex -O binary --pad-to 8192 main.hex main.bin
まぁ、こんな感じで。
PS3に ubuntu を入れて、使っていることはこのブログでさんざん述べた。現在は会社の同僚の助けを得て、色々とセッティングしてXなしで動作させている。
で、起動時に kboot ってのが立ち上がるんだけど誤解していたのが、これは [enter] が必須だと思っていたのだ。で、kboot を無理やりこなすデバイスなんかも考えていて、それの提案なんかしたんだけど、べつに [enter] なしでも起動は進むのだ!!
これはショックでしたよ。
で、今はネットワーク以外に何も接続されていない状態です。ディスプレイの出力もさっき来た地デジチューナーに奪われてしまったのでした。
まぁ、ssh があるんでソフト開発にはなんの問題もないんだけどね。
あることを始めたいので、SDCC を PS3-Linux/ubuntu にソースからインストールしてみた。
./configure
make
sudo make install
なんの問題もなく、あっさりインストール完了。
FX2 の開発環境を整えていきます。
SPE との連携を模索するのだ。
現在、依頼されている原稿は2月中に脱稿したいのだ。そのためにはかなり生産性を上げなければいけない。今までは26インチのモニタはほとんど、ウェブ閲覧のために使ってきた。マウスやキーボードも使い慣れたものだったけど、原稿書きは ThinkPad で行っていたのだ。
26インチはMacBookに接続されている。このMacBookは Lepard だけだったけど、上記の理由から Vista も導入したわけだ。Vista はまだ慣れていないけど、原稿書きで必要なTeraPadとDynamicDrawが使える。
このブログもVista環境で書いているやっぱ書きやすいな。よし、バリバリやりますよ。