エントリー

ユーザー「gshoes」の検索結果は以下のとおりです。

Palm雑感

 palmTXを入手し,約1ヶ月が経過しました。最近はすっかり動作も安定し,安心して各種データの管理を任せることが出来るようになりました。

 それまで使っていたクリエのTH55は完全に引退し,現在のいつでも電源が入る状態から,保存の状態に移行するのも時間の問題でしょう。

 いろいろ手を焼いたpalmTXですが,動き出してしまえばあっけないもので,ここから先は壊れやすいとされるタッチパネルをはじめとする故障が起きないかどうか,持ち歩くものなので破損しないかどうか,経年変化による傷みや電池の劣化がないかなど,そういう心配事に切り替わっています。

 宿題の1つであった革製のキャリングケースはちょっと高価だったのですが薄型の手作り品を入手しましたし,あとは何かの機会に予備のスタイラスとHotSyncケーブルだけは確保しておこうと思います。

 実際こうして使い始めてみると,驚くほど不満がないのがPalmのいいところです。特にpalmTXは,今時遅いとはいえ,Xscaleの312MHzですから,TH55に比べるとサクサク感がちがいます。

 ただ,やはりNVFSに起因する欠点だけは目立ってしまいます。推測でものを言いたくはないのですが,予定表への書き込みを行う場合,起動後最初の1回目だけは,数秒間入力を受け付けてくれません。おそらくデータをフラッシュメモリとやりとりしているからだと考えているのですが,これさえなければ,と思うことも多いです。

 手に入れた時のうれしさで,最初はあれもこれもと試みてはみますが,結局使わなくなってしまうもので,ゲームなどは全く遊ばなくなりました。他のユーティリティについてもほとんど起動することなく,最終的に予定表とアドレス帳,そしてメモ帳の3つだけがあれば,もうそれで私には十分なんでしょう。

 つくづく考えてみると,今から15年ほど前,日本のビジネスマンは電子手帳やザウルスをこぞって手に入れ,予定やアドレスを手帳代わりに記憶させていました。検索機能,編集機能,そして毎年毎年買い直さなくてもよいというメリットをおそらく享受したから,そこから10年ほどPDAの文化がすんなりと受け入れられたのだと思いますが,今電車の中でも全くと言っていいほどPDAを見る事はありませんし,使っているという話もほとんど耳にしません。

 はて,みんな,どうやって,あの面倒な予定やアドレスを管理しているのでしょう?

 かつてのように,紙の手帳にみんな戻ったのでしょうか?

 携帯電話で管理できるようになりましたから,それでやっているのか?

 あるいは,Outlookを使って,完全にPCで管理するようになった?

 紙の手帳は,確かに電車の中でも頻繁に見ます。紙の手帳に戻った人は多いと思いますし,年末に本屋さんの見る手帳コーナーはPDA全盛の頃よりも盛況のように思います。確かに紙はすばらしいメディアですが,私は検索,編集,そして10年近いデータが手のひらにすべて収まるというPDAのメリットを手放したくはありません。

 携帯電話も重要なツールになっていると思います。電話帳から派生したアドレス帳も,カレンダーから派生した予定表も,PCをつかって編集することが可能ですし,PCのデータと同期させることも可能です。

 しかし,いかんせん出先での入力や編集があまりに辛いです。スタンドアロンでも十分動くことは私にとって大事なことですが,携帯電話にはそれが欠けているように思います。

 もう1つは信頼性でしょうか。落として壊すということが特別なことではない携帯電話に,数年分のデータを入れて置こうという気にはなりません。また,携帯電話は必ず買い換えるものです。その時データをどうやって次の機種に移行させるか,これが案外頭の痛い問題です。

 Outlookを使ってPCで管理というのは,実は案外一番良い方法かも知れません。ただ,それも持ち歩き前提ですから,palmと同じようなサイズのPCが安価に手に入ったら,考えてみてもよいかも知れません。とはいえ,OutlookはExchangeサーバがないと成立しませんし,全く個人的なデータをサーバに預けるにはちょっと抵抗があります。同じでgoogleに預けるのも,私は気が進みません。

 ということで,人それぞれ,好き好きだと思いますが,個人的な好みの問題はさておいても,合理的に考えてPDAを使う以上に予定とアドレス,ちょっとしたメモをうまく管理する方法が見あたらないと思うのです。みんな,私の知らない良い方法を知っているんじゃないかと不安になってきました。

 少し気になって,シャープとカシオの電子手帳の現行品を調べて見たのですが,残念ながらゼロです。電子辞書がかつてのページを占領しており,簡単な電子電話帳ですら見あたりませんでした。もっとも,その程度の機能なら,本当に携帯電話の1機能で済んでしまいますから,必要ないのは確かでしょうが・・・

 そう考えると,やはりスマートフォン,つまり携帯電話のデータ管理機能を大幅に拡張させたもの,こそが本命になるということでしょうか。(iPhoneはその点で全然役に立ちませんから,私は欲しいと思いません。枯れたなあ・・・)

 いやはや,つくづく「人それぞれ」な世界なんだと思い知りました。

蔵書を棚卸し

 Macで動くフリーウェアに,Booksというものがあります。

 名前の通り,蔵書管理ソフトです。

 図書館や本屋さんなら管理する必要性もあると思いますが,私も個人で「蔵書」などという仰々しい言葉で指し示すようなものを持っているという自覚はありません。

 このソフト,存在は昔から知っていたのですが,打ち込むのに手間がかかる上,その結果出来上がったデータベースは結局「自己満足と達成感」を得る事にしか使い道がなく,データの二次使用が思いつかないため,いまいち使ってみようという気が起きませんでした。

 しかし最新版は面白いですね。内蔵のカメラでバーコードを読み取る機能があり,読み取ったISBNコードからamazonなどのサイトを探して,その本の書名などのデータと表紙のイメージを取得してくれます。これならあっという間にデータが入力できそうです。

 ファイルへのリンクが可能になっているので,私のように蔵書の半分をPDF化した人にとっては便利でしょうし,しかもその蔵書のリストをhtmlで書き出してwebで公開する機能も持っています。

 ここまで敷居が下がって,かつお遊び機能が付いてきているなら,せっかくだし試して見ようと思ったのが先週のことです。

 しかして元来凝り性の私は,先週1週間,地獄のような日々を送りました。とにかく片っ端から入力していき,持っている本の棚卸しをしようと,そんな風に考えが変わったからです。

 実はこのBooksというソフト,なかなかクセのあるソフトで,決して使いやすいものではありません。例えば新規登録を行う場合,新規登録ボタンを押すとデータの入力フィールドが出てきますが,実はすでにこの段階で新規作成という名称の本が登録されています。だから,入力を何度も途中でやめると,やめた回数だけ「新規作成」という書名の本が登録されてしまいます。この理屈を理解するまで,なぜか知らないうちに冊数が増えて困っていました。

 同じような理由で,データの修正を行おうと入力フィールドに文字を書くと,その段階でデータが上書きされています。保存とか上書きとかそういうボタンも操作もなく,修正を途中でやめるとやめたところでデータが出来上がっています。これも最初は分からなくて困りました。

 例えば続けて登録を行う場合,新規作成ボタンを毎度毎度押さないといけないわけですが,うっかり押し忘れてバーコードをスキャンし,amazonからデータを取り込むと,前のデータが失われます。なんのデータを上書きしたかさっぱりわからないので,何が足りないのか手作業で確認しないといけません。

 まだあります。検索はこの手のソフトでは一番重要な機能ですが,どういう規則で検索が行われるのかさっぱりわかりません。私としては,そのデータに少しでも含まれている語句を入れればとりあえず表示してくれると思っている(spotlightが割とそういう感じになっていますからね)のに,そうならないで見つからないとか,検索した結果の一覧からあるデータを1つ選び,これを複製するとなぜか検索フィールドが空白になり,今作ったデータがどこかにいってしまって探し回る羽目になるとか,とかく信頼を置けないのです。

 こうやって,手間がかかってしまう操作も多くて,申し訳ないですがこのソフト,随所にこうした「無駄な操作」が多く,非常に効率が悪いです。Macらしくない部分も散見されて,ちょっと使いにくいかなあと・・・

 さて,そんなこんなで手元に実体のある蔵書が約500冊,スキャンして実体がないものが300冊,実家に置いてあるもので記憶に残っているものが100冊と,約900冊がデータベース化されました。この数には,いわゆる月刊誌は含まれていませんし,実家にはもう数百ほどの本があると思われるので,合計で1500冊くらい,雑誌まで入れれば2500冊程度に膨れあがるものと思われます。

 今回のデータベース化で何が素晴らしいというと,その本が手元にあるのか実家に送ったのか,それとも友人に貸しているのか,その在処が分かるようになったことです。もちろん,動かすときにデータも更新するというのが大前提ですが,逆にそれさえ守ればどこにあるのか,あるいはスキャンをして捨てたのかどうかも,一目瞭然です。

 htmlに書き出して自宅サーバに置いておくと,世界中どこででも自分の本の状況を把握できます。そんな必要性がどこにあるのかといわれればそれまでなのですが・・・

 それで,改めて今回の件で自分の持っている本を棚卸ししたわけですが,ほとんどが技術書でした。私が毎日のように本屋さんに足を運び,そこで見つけた本を躊躇せず手にとって買うようになった結果なのですが,これも言い訳すると技術書特有の事情があります。

 とにかく,本が買いにくくなりました。特に技術書などの専門書は重傷です。見つけたときに買っておかないと,次はもう手に入らないかもしれません。いや,むしろその時偶然見つかったことが,すでに奇跡的だといってもいいでしょう。

 初版3000部(よくは知りませんがもはやこの部数では採算ラインギリギリなんじゃないでしょうか)で増刷なしとして,全国の本屋さんに何冊ずつ配本されるか,考えてみましょう。そう,amazonなんかの通販は何冊も在庫を持つので,まずすべての本屋に行き渡りません。大都市の大きなお店でも,数冊あれば御の字ですね。

 となると,そういうお店に欲しい人はみんな集まってきますから,発売日から数日間が勝負だったりする本も結構あります。

 うっかり買い逃すとそれっきりになることも多いので,油断できません。講談社のブルーバックスなんて,専門書でもなんでもなくて,どの本屋に結構な在庫があったものですが,今そこそこ大きいお店でも以前の半分程度の在庫しかない,というのは普通のことです。これではここ半年くらいに発売された新しいものしか手に入りません。ブルーバックスは雑誌じゃありません。

 そんなわけで,簡単に品切れになってしまう専門書は,後で惜しいことをしたと思うくらいなら,買っておいた方がよいという判断になってしまいます。専門書は単価も高いので,3000円とか4000円もする本を,あまり考えもせず買うことを続けてしまった結果がこれだった,というわけです。ついでにいうと,そこに「買い支え」というマイナーゲーム機,マイナーパソコンをこよなく愛した私の過去の行動原理が反映されていることを,あえて否定しません。

 再販制度の見直しが議論されると,その度に専門書の存続が危ぶまれると反論が出ますが,すでに専門書は崩壊の直前にあるのではないかと,そんな風に感じることがあります。果たして,再販制度が最後の砦なのか,それとももはや再販制度は関係ないのか,私にはわかりません。わかりませんが,印刷技術によってかつては宝物であった書物が広く安価に庶民に行き渡るようになり,それが民主主義の定着や階級社会の消滅の理由になっていると考えると,本が売れない,あるいは出版の世界の荒廃がもたらす我々庶民の未来が,私は恐ろしくて仕方がありません。庶民は再び,知識から隔絶された世界の住人に,しかも今度は自らの選択によって成り下がる事になるのでしょうか。

遅ればせながらPSoC

  • 2009/02/20 15:06
  • カテゴリー:make:

 MicrochipのPICマイコンが成功を収めたことで,国内外の小型マイコンは新しい方向性を模索するようになりました。かつて,Z80や8086,68000あたりの汎用CPUはなんとかアマチュアにも使えるだけの環境を整えることができたのですが,組み込み用のマイクロコントローラについては,数は膨大なものがあるにもかかわらず,開発環境はおろか技術資料さえもアマチュアには手に入りにくい関係で,長く「知られざる存在」でした。

 90年代前半まで,マイクロコントローラの開発環境はICEとコンパイラで100万円,技術資料は分厚いデータブックしかなくメーカーに頼んで購入するしかありませんでした。

 アーキテクチャは特殊で文献は皆無,仮に苦労の末開発が出来てもそれを実機で動かすために,プログラムをマイコンのROMに書き込むライターが何十万円,さらにマスクROMに書き込むには数千個の注文が必要と,全くアマチュアの利用を想定していません。

 そもそも,20年ほど前の電子部品というのは,プロもアマチュアも共通でした。2SC1815はアマチュアでは長く定番ですが,当時のプロの設計者でも定番でした。そんな中で,プロ用とアマチュア用で完全に分かれていた数少ない部品がマイクロコントローラだったといっていいでしょう。つまり,半導体メーカーにとっても売り上げが大きい主力商品であったマイクロコントローラは,秋葉原の部品屋さんでは買うことの出来なかった部品だったわけです。(たとえ手に入っても全く使い物にならないので買う人もいないのですが)

 余談ですが,プロの設計者の部品が面実装品になり,アマチュアが使う部品との差が大きく広がった今日,アマチュアが使える定番部品は使用量が減り,どんどん生産中止になっています。在庫もかなりありますし,中国などではまだ大量に使われているので現地のメーカーが生産を続けていますから,プロのおこぼれをもらうアマチュアにとってそんなに慌てるような話ではないにせよ,アマチュアが真空管などのプロが絶対に使わない部品で工作を好んでするようになったこともあり,いつまで電子工作というホビーが生き残れるのか,不安になります。

 前置きが長くなりましたが,そんなマイクロコントローラの世界を大きく変えたのが,PICです。PICそのものは意外にマイクロコントローラ黎明期から存在する古典的プロセッサを源流に持つものなのですが,当時の米国系マイクロコントローラでメジャーだった8048や6801,8051や68HC11に比べて,

・パッケージが小さく8ピンから20ピンくらい
・機能を絞り込み低価格
・低消費電力で電池で動く,その割に結構高速
・アセンブラなど開発ツールが無償
・技術資料やデータシートも無償
・ICEもライターも安い,ライターは自作も可能
・そして参考書や使用例が豊富にある

 と,アマチュアにとっての障害が,ことごとく取り払われていることが画期的でした。アメリカでプロアマを問わず広く使われるようになり,日本でも90年代中頃に,アマチュアからブームとなりました。今ではプロも製品に組み込むことが普通になった,草の根からメジャーに上り詰めたマイコンです。

 こうしたなか,アマチュアをバカに出来ないと思いを新たにしたかつてのマイクロコントローラ先進国,日本のメーカーも,PICと同じ方法でアマチュアへの売り込みを図っていますが,なかなか浸透しないのもまたマイクロコントローラの世界で,思うようにアマチュアに使ってもらえていないような感じです。(私に言わせれば,全然日本のメーカーは分かってないです)

 しかし,アメリカではその後も実に面白いマイクロコントローラがいくつも生まれています。AVR,MSP430,dsPIC,そして今回のPSoCもそうです。どれも先に挙げた特徴を最低限のものとして備え,さらにそこから特徴のある個性を主張しています。

 私はPIC以外ではAVR,MSP430を触ったことがある程度なのですが,以前から気になっていたのがPSoCです。果たしてPSoCがマイクロコントローラなのか,と問われれば,必ずしもそういう「狭い」言い方が正しいとは思いません。PSoCにとってマイクロコントローラは機能の1つである以上,PSoCの本質はさらに深いところにあります。

 PSoCはアメリカのCypressが作るマイクロコントローラで,Programmable System on Chipの略とされています。簡単に言うと,PICに見られるマイクロコントローラの特徴に加えて,

・アナログ回路をチップ内に作ることが出来る
・デジタル回路もチップ内に作ることが出来る
・もちろん普通のマイコンも入っている
・それぞれ自由に繋いで使う事が出来る
・実に多くのライブラリが完備されていて,下位レベルをほとんど自分で書く必要がない
・開発ツールにGUIが多用されており,気が付いたら使えるようになっている

 という点が際立っています。

 アナログ回路をチップ内で作ることが出来る,というのはPSoCの最大の特徴で,オペアンプ,コンパレータ,PGA,ADコンバータ,スイッチトキャパシタを内蔵しており,ユーザーはそれらを組み合わせ,またパラメータを設定して純粋なアナログ回路をチップ内部に作ることが出来ます。

 デジタル回路についても同様ですが,PLDとは違って論理回路を合成できるわけではありません。ただ,基本的な論理演算回路が複数入っており,これを組み合わせてタイマやカウンタ,CRC演算器,乱数発生器やUART,I2Cなどを作ることが出来るようになっています。マイコンのペリフェラルもこれで作られます。

 マイコンは大した性能は持っていませんが,最大24MHzで動作,4MIPS程度の能力を持つ8bitのプロセッサです。ただ,PSoCはアナログデジタル混載のプログラマブルシステムLSIを標榜しているので,マイコンも「システムの1つ」に過ぎない扱いです。事実,そのアーキテクチャについて詳しく知る必要性はほとんどありません。

 そしてこれが最大の特徴なのですが,ライブラリがあまりに豊富なのです。

 Cypressでは,先程のアナログ,デジタルの回路のうち,よく使われるものを雛形として提供しています。これをユーザーモジュールと呼んでいるのですが,開発ツールであるPSoC Designerで使いたいユーザーモジュールをGUIで配置し,パラメータを設定すれば,後は基本的な回路ブロックを組み合わせて構築し,初期化のプログラム,そしてアプリケーションからアクセスするためのライブラリまで自動的に生成してくれるのです。

 例えば,先程のスイッチトキャパシタを使ってバンドパスフィルタを作る場合,ユーザーモジュールとして既に用意されているバンドパスフィルタを使えば,フィルタの仕様だけで所望のバンドパスフィルタをPSoC内部に実装し,しかも初期化プログラムに加えてマイコンからパラメータをいじるためのAPIまで完備してくれるというわけです。

 アナログでもここまでやるのですから,デジタルでは当たり前の話で,なんとSDカードのインターフェースのようなものまでユーザーモジュールになっています。

 こいつはすごくて,ハードウェアはSPIを使ってSDカードに接続,ソフトウェアはそのSPIの初期化やドライブはもちろん,低レベルのアクセス関数はおろか,FATファイルシステムまで完備されており,ユーザーはファイルを開いて閉じてするだけです。いっときますが,これがワンチップのマイクロコントローラで出来るのです。汎用OSも搭載されていなければ,SDカードインターフェースをペリフェラルで持っているわけでもないのです。

 さらに面白い例があります。秋月電子などで16桁x2行のLCDキャラクタ表示モジュールが売られており,内蔵されているHD44780互換のLCDコントローラはすでに業界標準になっていますが,これを前提にしたLCD表示も,ユーザーモジュールで出来てしまうのです。

 従来,この手のLCDモジュールは,4bitもしくは8bitのデータバスとE信号やRS信号,R/W信号のコントロールバスをマイコンのGPIOにつなぎ,ソフトでそれぞれのポートをタイミング良くソフトで上げ下げして使っていました。慣れた人だと簡単なのですが,それでも自前で用意することは変わりません。

 GPIOの初期化に始まり,LCDの初期化,データの送受信,1文字の表示,そして文字列の表示と,階層を1つずつ上げてソフトを自前で用意しないといけないのですが,PSoCではユーザーモジュールをぽんとGUIで置けば必要なGPIOがLCD用に確保され,それらを初期化して動かすAPIが用意されます。

 例えば,LCDの左上から3文字目の所に「TEST」と表示するプログラムは,

  LCD_1_Start();           // LCDの初期化
  LCD_1_Position(0,3);     // 書く場所を指定
  LCD_1_PrCString("TEST"); // 書く

 と,わずか3行です。本当にこれだけです。他の部分になにかおまじないを書かないといけないとか,一切ありません。mainの中にこの3行を書きさえすれば,LCDにTESTと表示されます。

 こんな具合にまさにProgrammableなSystem on Chipをアマチュアが作る事の出来るPSoCですが,アナログ回路とデジタル回路,そしてマイコンの3つが同時並行で動くことを十二分に活用しマイコンに頼らないリアルタイムシステムを実現するのもよいでしょうし,ライブラリが充実して手軽に動かせるという利便性でPICの代わりに使うことだってよい使い道です。例えばUARTで受けたデータをSDカードに保存するというシステムを,PICで作るとかなり大変ですが,PSoCならあっという間です。

 それにデジタルのブロックがUARTやI2C,SPIに化けてくれるので,そもそも製品の品種が非常に少なく整理されており,手元に2種類程度のPSoCを置いておけばどんな用途に使えてしまうフレキシビリティも,アマチュアにはうれしい話です。

 アマチュアが手軽に使えるマイクロコントローラはPICによって開花し,内蔵メモリの増大や処理能力の向上,あるいは低消費電力という観点で進化してきましたが,結局それらはマイクロコントローラを越えたものではありません。

 はっきりいって,多少のアーキテクチャの差はあっても,結局出来る事はどれも同じ,マイクロコントローラの差はメモリの大きさと内蔵ペリフェラルの種類と数,そして価格と消費電力だという話の裏返しであり,もう大した興味も沸かないという方は多いと思います。

 それなら使い慣れたPICやAVRで十分となるのですが,PSoCの面白さは自由度の高さを高機能に振ることも,扱いの簡便さに振ることも可能であるということと,ユーザーは最終的にやりたいと思うことの実現に専念出来るということにあります。

 これが,System on Chipたるゆえんなのだと思います。アナログの回路をマイコンからサクサク叩いたり,デジタルのユーザーモジュールと連携させたり,果てはダイナミックコンフィギュレーションを行ってみたりと,従来なら様々な回路を組み合わせ大規模にせざるを得なかった回路をワンチップで(しかも自前で)作る事が,低レベルの関数の整備やレジスタの初期化など面倒で非創造的な作業で手を汚すことなく出来てしまうことに,ただただ感服するばかりです。いやー,アメリカはすごいなあ。

 欧米では,プロアマを問わず,プロトタイピングという「でっち上げ」をつくることがとても重要視されています。マイコンを応用したでっち上げは,電気回路の専門家とソフトウェアを書く人がいないとダメなのですが,これでは工業デザイナーや企画担当者が思いついたことをすぐに実現出来ません。

 そこで,そんな非専門家でもマイコン応用機器が作れるような環境がメジャーになっています。よく知られているArduinoはAVRベースで,習熟の容易なプログラム言語が通るシステムプログラムが書き込み済みです。

 PSoCは,チップ単体でこのプロトタイピングが可能なくらいに簡便化されています。同じ事をやるのに簡単な方がいいに決まっています。

 頭で「ほーすごいなあ」と思って半年,実際に触ってみないといけないと考えて半日触ってみましたが,まさにこの面白さは新次元です。

 さてさて,そんなPSoCですから,何を作るか,がとても重要です。

 アナログのユーザーモジュールを使い倒さないとPSoCの真の姿は見えてきませんし,だけどPICよりも簡単に使える簡便性でPIC16F84の置き換えとしても捨てがたいです。
 
 なにを作りましょうかねえ。

palmTXその4

  • 2009/02/19 18:12
  • カテゴリー:散財

 最後に,現在の状態です。

 TH55にはMSBackupという安心なバックアップツールがあったのですが,palmTXにはありません。有償のソフトを買ってしまうと評価をきちんとしないといけませんから,フリーのものを気軽に試せないものかと思っていたところ,NVBackというちょうどいいものを見つけました。

 自分自身にしかリストア出来ないのですが,それはMSBackupでもそうでしたし,セキュリティ上もその方が望ましいと思いますので,私は全然問題に感じません。

 このツールでバックアップしたファイル名は,スペースが%20に置き換わってしまいます。ここをちゃんとスペースに戻して本体に戻してくれないとまずいんじゃないかと思っていたのですが,そこは杞憂であり,実際に試したところ問題なくリストア出来ました。

 先日の日曜日,調子に乗ってゲームを本体メモリに入れていたら,突然リセットがかかり,再起動を繰り返してデータがパー。金曜日の深夜,寝る前に撮ったバックアップを一か八かリストアしてみたら,見事復活。いやはや,本当に助かりました。

 心配な事は,どうもSDカードの内部が壊れやすいこと,でしょうか。トランセンドの2GBのものを使っているのですが,これまで2度ほど壊れてしまい,フォーマットをかけ直しています。

 こういう信頼性の低さが目に付き始めると,バックアップを残していても不安になるものです。時々マウントしないこともありましたし,このあたりは今後の課題とすべきかも知れません。

 結局本体メモリは78.9MByteを書き込んであり,リセット直後のDBcacheはfreeが7MByte,maxが2.5MByteほどです。

 GoogleMapsなどの大きなアプリも入れてありますし,なんといってもJaPonが相当RAMを食っていますが,綱渡り的な怖さをはらみつつも,なんとか動いてくれているようです。

 PalmOS3.x以前の古いアプリもリセットを起こすことが多いようです。少なくともVFSが存在する時代以降のものでないと危ないような感じです。

 
 それにしても,今年は2009年。大方のアプリは2005年までのアップデートで,それ以降メンテされているものは数えるほどしかありません。それでも一か八か試して見ないといけないので,毎回ドキドキです。

 ところで先日,FedExから請求書が届きました。関税及び消費税と支払い代行手数料の請求書だったのですが,合計で1200円でした。700円の消費税と手数料500円というのがうちわけです。この手の商品は関税がかからないということで,消費税だけがかかった形になっています。円高という事もありましたが,結局3万円ちょっとでpalmTXを入手したことになりました。

 そして折も折,2月13日には,Palm自らがPalmOSのモデルの開発を終息したと発表,ひっそりとではありますが,確実に一時代を築いたプラットフォームが終焉を迎えました。いろいろ意見はあると思いますが,PalmOSはちょっと延命されすぎたのかな,と思っています。

 とりあえず,私はpalmTXをしばらく使い続けることにします。

palmTXその3

  • 2009/02/18 11:53
  • カテゴリー:散財

 2月11日以降,いじったり調べたりして,いろいろわかってきました。

(1)ソフトリセットの問題

 まず,NVFSは不揮発メモリであり,これとRAMであるDBCacheを組み合わせて動作しているのは周知の事実です。ここでいう不揮発メモリとはつまりNANDフラッシュのことであり,このメモリはCPUが直接アクセス出来ません。

 だから,一度RAMに取り込んで,RAM上で実行しないといけません。NVFSとして128MByteの空間があるとは言え,CPUから見ればあくまで16MByteのRAMがすべてなのです。

 だから,起動時にたくさんのデータが読み込まれるようなことがあると,OSやアプリが動くために必要なテンポラリなエリア(ヒープといいます)が圧迫されて,どうしても動作が不安定になります。本当はそういうことはあってはいけないのですが,伝統的にレガシーな構造であるPalmOS5.xでは,現実的に避けようがありません。

 私は,5.4ではこのあたりの問題をある程度解決してくれていると信じていたのですが,まだまだ詰めが甘いようです。少なくともRAMは物理的に8MByte程度空いていないとまずいようですし,さらにいうとアプリケーションがallocするメモリの最大値が2MByteを割ると突然リセットされてしまうようです。

 本体のNANDフラッシュにたくさんのアプリやデータを書き込んでおくと,このRAMの空きがドンドンなくなっていきます。私が非常に疑問なのは,実体はNANDフラッシュにあり,実行時にはDBcacheにコピーされるそれぞれのアプリやデータは,どこかのタイミングでNANDフラッシュに書き戻されて,DBcacheも開放されるはずで,これがどのタイミングで起こるのか,ということです。

 ちょっと調べたくらいではこの疑問は明らかにならず,その代わりにDBcacheをフラッシュするアプリがいくつも見つかりました。これはDBcacheに非常に大きなデータを書き込み,DBcacheに存在する不必要なアプリやデータをNANDフラッシュに書き戻すもののようです。

 これらのツールでも,電源OFF,あるいはDBcacheの空きが4MByteを切ったらフラッシュなど,あまり根拠のないトリガでフラッシュするようになっていて,私自身はどうも釈然としません。

 設定によっては頻繁にフラッシュが発生,その度に10秒以上作業が止まりますし,場合によってはそのままリセット,と言うことも起きています。それに,確かにフラッシュ後のRAMの空きは大きくなっていますが,それでも安定しない場合もあったりするので,この辺は過度な期待をしない方が良いのかも知れません。

 で,結局どうしたかというと,DBcacheToolという非常にありがたいアプリを使い,freeが2MByte以下,あるいはmaxが1MByte以下になったら,自動的にフラッシュするようにしてあります。また,リセット復帰後にも自動でフラッシュするようになっていて,リセット直後でfreeが7MByte以上,maxが2.5Mbyte程度を確保出来るようにして,ようやく安定してきました。

 ここからさらにNVFSにアプリやデータを詰め込んでしまうと,フラッシュの段階でリセットがかかったり,リセット復帰後に再起動を繰り返すようになってしまい,うまくありません。

 ところで,これも不思議なことなのですが,SDカードからアプリを起動した場合,リセットがかかることがほとんどありません。Palmの外部メモリの扱いは,それこそハードディスクなどのストレージと同じで,データを一度RAMに転送し,ここから起動させます。だから,SDカードからの実行でも不安定になってもいいはずなのに,それがないのです。VFSはPalmOS4からの実装なので,こなれているというのが理由だとすれば,同じ仕組みでNVFSを実装してもらうわけにはいかなかったのかと,疑問を感じてしまいます。


(2)PIMデータの扱い

 これは私が不勉強だっただけの話なのですが,PalmOS5.4では,PIMのデータベースに変更が入っています。従来,DatebookDB,AddressDB,MemoDBがそれぞれ予定表,アドレス帳,メモ帳のデータベースで,これを上書きすれば直ちにそれぞれのアプリが参照するデータも置き換わったのですが,PalmOS5.4では従来の3つに加えて,

 ContactsDB-PAdd
 CalenderDB-PDat
 MemoDB-PMem

 の3つが存在しています。

 つまり,予定表のデータベースはDatebookDBとCalenderDB-PDatの2つが存在しています。これらがどういう役割分担をしているのかまできちんと調べることが出来なかったのですが,どうやらNANDフラッシュに記録されるのはCalenderDB-PDatで,DatebookDBはテンポラリなデータとして読み書きに使われているようです。

 DatebookDBのデータは直接の編集対象として各アプリケーションがアクセスをします。そしてその結果をCalenderDB-PDatに追記していくんだと想像します。(ちゃんと調べたいところです)

 だから,DatebookDBを消して,TH55から赤外線でコピーすると,同じ予定が二重登録されてしまうのでしょう。

 ということは,従来の3つに加えて,新しい3つも完全の消去してから,従来の3つを赤外線で受けてやればよいのでは,と考えられるのですが,これは失敗に終わりました。というのも,本来NANDフラッシュに必ず存在するCalenderDB-PDatなど新しいデータベースの3つは,存在しないという事があり得ません。だからエラーになります。

 これを回避するためには,ContactsDB-PAdd,CalecderDB-PDat,MemoDB-PMemの3つをFilezなどで消去してから,palmTXに最初から入っているオリジナルのアプリをそれぞれ立ち上げ,空のデータベースを生成してあげる必要があります。

 その後,DatebookDBとAddressDB,MemoDBを上書きしてやります。これで一応大丈夫なようです。

 ただこれもちょっと釈然しないところが残っています。まず,SDカードにバックアップしておいたAddressDBなどのデータベースを上書きすると,エラーが出て裏書きでない場合があるということ,もう1つはどうしても,palmTXに取り込んだアドレス帳の件数だけ2つ少なくなってしまうということです。

 ざっと調べて見ましたが,どれが足りないのかわかりません。500件近いので数を数えたり照合したりする気にもならず,重要な人の名前が消えていないことを確認して,もうあきらめてしまいました。


 と,ここまでで一応palmTXをなんとか実用レベルで使うだけの状況に仕上がってきました。まだ不用心に追加したアプリがきっかけでリセットがかかり,時々データが消えることもありますが,TH55で出来ていたことの大半を,ようやく実際に動かせる状態になってきました。それが,先週の金曜日,2月13日のことです。


 次にネットワークに関連したトラブルです。

 初期不良を見つけないといけないと考えた私は,Wi-FiとBluetoothを動かして見る事にしました。これが2月12日のお話です。

 先にわかりやすいWi-Fiです。自宅のアクセスポイントにMACアドレスを登録し,palmTXの設定を行い,接続を試みます。うちはWPAですので,TH55では繋げることが出来ませんでしたが,このpalmTXなら大丈夫なはずです。

 ところが,何度やっても繋がりません。エラーが出ます。MacBookも繋がっていますので,アクセスポイントの問題とは考えにくいです。

 セキュリティの設定の問題だろうかと,SSIDを公開したところ,一度だけ繋がりました。しかし二度目はダメ。MACアドレスフィルタリングをしない設定にしてもダメ,あげく暗号化も解除しましたがダメ。

 一度だけ繋がったので,完全にダメという訳ではないのですが,二度と繋がってくれないのです。これには本当にまいりました。

 よくよく見てみると,SSIDを公開してあるのに,palmTXのアクセスポイントのリストにうちのアクセスポイントが出てきません。他のSSIDはいっぱい出てくるのに,これはおかしいです。

 つまり,そもそもうちのアクセスポイントを受信していないということなんですね。設定以前の問題です。しかし,MacBookや他のマシンは問題なく繋がっています。もうさっぱりわかりません。

 よくよく冷静になって考えてみました。

 もうすでにぴーんと来た方もいらっしゃるでしょうが,そう,このpalmTXは海外仕様のものです。国内向けではありません。国内では許可されている13chの電波は,このpalmTXでは送受信できないのです。

 もしやと思い,アクセスポイントのchを調べると,設定は自動設定なのですが,現状まさに13chになっていました。ビンゴです。

 そこで,手動で11chにしてみるとまったく問題なく,これまでの苦労がウソのようにさくっと繋がってくれます。

 もう説明の必要もないでしょうが,自動にしたことで,周囲の電波の状況から13chを選択することが多いうちのアクセスポイントも,なんかの表紙に一度だけ他のchを割り当てることができ,この時偶然palmTXで繋げることが出来た,と言うことです。

 これで一件落着。スッキリしたー,と喜んだのですが,いやまてよ,国内向けのchが送受信できないなんて,つまり国内の規格を全然満たしてないじゃないか,てことは,もしこのpalmTXで電波を出したら,電波法違反になってしまうぞ・・・

 なんか,このあたりを気にしている人は,あまりいないようです。私は使うのを控えるようにします。

 このことに気が付く前に,Bluetoothも試して見ました。こちらは問題なくさっと繋がりました。Bluetooth経由でHotSyncはなかなか便利で,これからこれでいこうと思ったのですが,やたら遅いのです。BluetoothではUART扱いで,最高でも115200bpsですから,USBで繋ぐよりも遅くなるということなのでしょう。

 充電を別にしないといけなくなるデメリットもあるので,こちらもあまり魅力はありません。結局,Bluetoothも使う事はなさそうです。

 

ユーティリティ

2026年04月

- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

過去ログ

Feed