(M25P16とM25PX16を比較してみる)あらまし2012年の10月にM25P16をフルコントロール!と題してM25P16の制御コードを公開しました。今年に入ってM25PX16を使用する機会があり、それじゃあM25P16と何が違うの?というのを簡単に調べた結果をまとめてみました。下にはソースコードも示しましたのでご覧下さい。bytes」という何かが追加されています。programmableの略で、64バイトのワンタイム・ロムが存在するという事がわかります。これは装置物に仕立てる時のアレコレに使えます。次にメモリ・マップを確認してみると、M25PX16ではサブ・セクタが導入されている事がわかります。M25PX16のコマンドがどうなっているのかというと、M25P16のコマンド・セットに加えて、幾つかの新しいコマンドが追加された形になっています。M25PX16では、ロックレジスタが新設され、不用意なライトからメモリを保護できるように機能強化されています。DQ0とDQ1の二線を使って入出力ができる機能が追加されており、M25P16よりも高速にR/W可能なコマンドも用意されました。消去コマンドも、M25PX16ではサブ・セクタ単位での消去も可能となっています。見た結果、M25P16を機能強化したのがM25PX16という感じで、M25P16を使用していた基板にM25PX16を使用する事もソフトウェアの変更のみで可能という事がわかりました。IDENTIFICATIONコマンドを発行すれば基板にどちらのフラッシュ・ロムが搭載されているのか検知可能ですから、下層でうまく実装する事で自動的に切り替える事も可能です。いうことで、M25P16とM25PX16に対する制御コードを記述し、実機動作確認済みのソースコード公開します。ソースコード実機で動作確認済みのソースコードからターゲット依存箇所を取り除いたソースコードです。一切の責任を負いません。(Atom)自己紹介shinta基板が大好きな組み込み系エンジニア。電気図面を描いてPCB上に美しく配線できた時に何とも言えない快感を覚える。ソフトウェアとドライバが一式になったパッケージをダウンロードします。インストール後に本体を接続してソフトウェアを起動すると以下のような画面が表示されます。勢いよく「改良しました!」と宣言したh8writeですが、やっぱり書き込みに失敗するという事がわかりました。そもそも真の原因を掴めないまま改良したと言っても、何を改良したのか意味がわかりません。自分でもそんな突っ込みを入れたくなるのですが、その日はグ...システムにおけるレイテンシーとスループットの話題レイテンシーとは、あるシステムに何らかの入力を与え、それに対応する何らかの出力が出てくるまでの時間(遅延量)を指します。ある処理の実行を指令してから実際の結果が得られるまでに250ミリ秒かかったとすると、それは250ミリ秒のレイテンシーを持つシステムという事になります。放置を防ぐアイデアの1つとして「具体的な目標に繋げる」というものを挙げました。アップデートしました。このアップデートにより、以下の動画で示すような長い曲でも難なく再生させる事ができるようになりました。mkIIは便利なのですがオンフィールドで書き換えるには不便ですし、ユーザに書き変えを頼むわけにもいきません。Atmelが公開しているアプリケーションノートAVR109に自己プログラミングがありましたので試してみました。LPC824を使ったサウンドモジュールMicroSoundModuleを開発していました。このサウンドモジュールは、コマンドを受け取って色々な再生を行うもので、当初はこのコマンド処理部分の実装にNT-Shellを用いる計画でした。BlackTankには有機EL液晶が搭載される予定です。接続部分はFPCになっていて、例によってFPC用コネクタなのですが、最初の実装は思いっきり失敗してしまいました。猫も杓子もIoTと皆さんが仰るので、その声が大きくなればなるほど自分は遠ざかる方向で生きていたのですが、そうすると完全に煙に巻かれたお爺さんのようになりまして、今は世の中が進んでおるんじゃのぉと言うだけの人です。moduleにブートローダを載せる(AVR109対応)随分前に対応しようと思い立っていたAVR109にようやく対応させた。以前やった時にうまく書けなかったのはボードのクロック精度が原因。ここ数日モニタを実装していて、思った以上にRC内蔵クロックの精度が悪いことが分かった。エコーバックのテストでやたらと文字が化ける。