December 13, 2013Super Sylphide 進捗状況(71) -- もうちょっとすごいロガー完成先日基板がきたもうちょっとすごいロガー(NinjaScanSlim)を組み立てて、動作確認をとってみました。 1円玉2つくらいのサイズで、とても小さいです。特にMicroSDのソケットがお気に入りです。挟み込むタイプで、間違って抜いてしまうこともなさそうです。 最近あいかわらず進捗ダメですが、折をみてちょっとすごいロガー同様、設計データを公開したいと思います。なおファームウェアは、ちょっとすごいロガーと共通化してあるので、今回開発を大幅に短縮できました。 ※GPSアンテナ内蔵のRev.B基板を作ってみました。 December 26, 2013生データをファイルとして読み込むもうちょっとすごいロガーの亜種として、記録媒体をMicroSD以外の、例えばSPI Flashなどに換える計画があるのですが、その記録媒体をどのようにハンドリングすれば効果的に使えるか、ということを考えてみました。その一つのアイデアとして、記録媒体には生データしか保存せず、読みだすときにPC等からファイルシステム上のファイルとして見える方法を考えてみました。この方法なら、保存データの最大化、かつ、データの効率的な取得の両立が可能になると思われます。 そこで読みだす時にファイルとして見えるための情報を仮想的に生成するテストコードを書いてみました。FAT16ファイルシステムで、約128MBの保存領域が単一のファイルlog.datとして見えるようにしてあります。検証はimage_generator.cによって生成した128MBディスクイメージを仮想ディスク(vhd)としてWindowsでマウントできることで確認しました。 図でいうとオレンジの部分にあたる、Master boot record (MBR)の1セクタ、および FAT16ファイルシステムに関わる BIOS parameter block (BPB)、File allocation table (FAT)、Directory Entriesの3種複数セクタを、diskio.cのdevice_read_special関数が自動生成しています。それ以外の部分はdevice_read()関数にオフセット部分を引いて問い合わせるようにしました。 本検討をするにあたり下記の情報が大変参考になりました。ありがとうございます。 また検証にあたっては、VirtualBoxのディスクツールをイメージからvhd形式に変換するのに使いました(VBoxManage.exe convertdd in.raw out.vhd --format VHD)。WindowsでのマウントはM$公式情報が参考になりました。 |
かれんだ~
スポンサード リンク
|