2013-05

2013-04 FM3 RX62N SH2A PIC32MX


5月

  • とりあえず、220円で作るUSBオシロスコープは完成した(つもり)
  • PIC32MXでFT2232互換ファームを作る計画があったんだけれど、また先延ばし。(FT232Hモジュールが秋月で安く買えるようになったので、わざわざマイコンでFT232の代わりをやらせるのも面倒面倒)
  • USB Hostの実験をするために、BTLEなUSBドングル(GREEN HOUSE製)を買ってきた。
  • けれどこれ、どー使えばいいのか(全く)分からない。
  • たぶんトラ技の先月のBTLE特集にあったPIC24Fの作例のソースを参考に移植すれば動くような気もすれけれど・・・。
  • このドングルは、アンドロイドから繋いで、ドングル(+PIC32MX)側は任意のデバイス(例えばキーボードとか)になれるのかな?それともBlueToothのホスト側にしかなれないのだろうか?(よくわからないので放置)


あほやな>オレ





5月のテーマ:予定

  • オシロだと500kSPS程度が限界みたいなので、DMA叩いてPORTをサンプリングする、ロジアナっぽいやつを作ってみる。
  • SPIインターフェースを使って1bit DACを書いてみようかなとかそんな奴。(SPIの先にDACを繋ぐ訳ではない)





SPI出力

  • なかなかうまくいかない。
  • RB5にSDO1出力を指定しても、常に2Vが出てるだけで無反応。
  • いや、普通にRB5をDigital Portとしても、同様に無反応。
  • USB関係に取られているのかと思い、Fuseを変えてコンパイルしてみたが無駄。
  • たぶんUSBドライバーが勝手にOTG関係の出力に割り当てているのだろう。(使わないけど)


  • RB1でやってみるのだけれど、SDOが0Vのままだ。
  • ロジアナ欲しいな。





iPod nanoを買った。

これは、凄くありえないデバイスだ。

  • 造形の妙だ。どうやって組み立てなのだろう。ネジも一本も無いしヘッドホンジャックの穴径とケースの厚さがほぼおんなじだし
  • それに対してiTunesのソフトの酷さはありえない。
  • WindowsXPに入れたら、XPがOSごと落ちるようになって、再起動とリセットを繰り返す。
  • 今はWin7に入れているが、それもOSごと落ちたりするし、Storeの画面が真っ黒で見えなかったりするし、
  • あと困ったことに一番使いたかったPodCastのダウンロードをデバイスに転送することが出来ない(?)謎だ。
  • iTunesStoreのIDが無いからいけないのかと思い、IDを作ってみたが駄目。
  • IDを作るのにクレカ番号が必須になっている。有料のコンテンツは一切買いたくないのに!
  • ググると、無料のコンテンツを選んで購入ボタンをおしてからID作成すると、クレカ「無し」という隠れた選択肢が出るようになっている。罠なのか。
  • 問題は、iTunesStoreの画面が真っ黒で、無料コンテンツ購入に辿り着けないことか。アホか

iTunesはクソ認定。





SPI出力

/********************************************************************
*
********************************************************************
*/
void user_cmd(int arg)
{
	int i;
	SPI_init();
	printf("Start\n");
	for(i=0;i<100;i++) {
		USBTask();
		printf("spi(%d)\n",i);
		SPI_write(-1);
	}
	for(i=0;i<10000;i++) {
		SPI_write(-1);
	}
	printf("Stop\n");
}
  • いやいや、ちゃんとRB1出力は反応しているようだ。特に後ろのfor文回ってるときはテスターの針でさえビコンと反応した
  • だがしかし、最後に0xff(8bitなので)をSPIに出力したならSDOは3.3Vのまま固定になるんじゃなかったっけ?
  • ならずに0Vに戻ってしまう。


  • てゆうか、このSPI、AVRの時と違って、クロック強制出力なのか?
  • だったらSPI_write()止めたらdataが途絶して0に戻されるのかな。

まあいいや、とりあえず今日はSPIが動いているということと、PPS(ペリフェラルポート選択)が出来ていることだけは分かったから。





銀河ヒッチハイクガイド

今はまっているといえばこれ。

  • 地球は銀河ハイウェイの建設予定地に当たるので、工事開始に伴い取り壊される。
  • 地球を破壊することはアルファ・ケンタウリにある出張所に50年前から公示されていた。
  • 人間は地球上の生命体で一番賢いと思っているが、実は3番目で、2番目はイルカ。
  • イルカは公示を知っていて期限までに立ち退いた。

さて、一番目はだれでしょう。


それが知りたくて買ってきて読んでいる。

でも面白い。

この本に出てくる「銀河ヒッチハイクガイド」というのは、宇宙でベストセラーの電子書籍だ。

  • 電子書籍といっても、電子辞書のようなもので、ハードウェア込みだ。
  • 表紙には、「DO'NT PANIC!」(パニクるな)と書いてあるらしい。


そして、生命、宇宙、そして万物についての究極の疑問の答え について(Wikipediaより)

  • 早く続きが読みたいのだが・・・本屋に在庫が無いらしい。




秋月ARM基板

  • ずいぶん前から売られている格安のSTM32基板の活用
    • -->2012-08秋月:中華STM32基板




ブックマーク

エネルギーと戦争

第三次世界大戦

  • あいかわらず、すばらしい洞察。






Windows8-x64: デバイスドライバーの署名問題について

概要

  • Windows8からは、あらゆる署名無しドライバは、通常手順でインストール出来ないようにポリシー変更になっています。(64bit環境のみ)
    • この時に「署名が無いのでインストールできませんでした」等という様な親切なメッセージは出ません。
    • USBデバイスのファームウェアやドライバーを書く人にとっては死活問題です。
  • SPC (Software Publishers Certificate) と呼ぶ、ベリサイン社等が提供するコードサイニング証明書に基づいて正しく署名したドライバ・パッケージを用意しなければなりませんが、費用が掛かるのと、法人である必要があるようです。


USBクラス別の比較表

USB ClassArch32bit/64bit32bit64bit
OSWindowsXP|Vista|7Windows8Windows8
HIDKeyBoard/Mouse/Etc*1
MSCStorage(USBメモリー、HDDなど)
CDCCommunication(モデム、RS-232Cなど)×(注1)
CUSTOM(WinUSB)Etc(特定のクラスに依らず何でも)×(注2)
CUSTOM(LibUSB)Etc(特定のクラスに依らず何でも)○(注3)


  • HID/MSCクラスはデバイスドライバー不要で使用できます。

注1)

  • CDCクラスのデバイスドライバーはOSに内包されていますが、Infファイルは用意する必要があります。
  • Windows7まではInfファイルに署名がなくてもインストール出来ていましたが、Windows8ではInfファイルへの署名も必要です。

注2)

  • WinUSBを使用するUSBカスタムクラスについてもCDCクラスと同じ事情になります。

注3)

  • LibUSB-win32 Ver1.2.6.0 64bit版はデジタル署名が施されています。
  • 同梱のInf-wizard.exe を管理者権限で起動して、該当USBデバイスに対するInfファイルを作成して、ドライバー導入まで行った場合には、Infファイルと共に、署名されたCatファイルも生成されるので、特殊な回避手段を使わなくともドライバーを導入することができます。(但し、別マシンにインストールするときはInf_Wizardからやり直す必要があるようです。ドライバーをアンインストールして再インストールするだけならinfファイル指定でOKです。)

注1、注2)

Windows 8 64bit版には、通常手順では署名なしドライバをインストールできませんが、一応回避手段が存在します。




<前の月次の月>


*1 HIDクラスはUSB転送速度上限が64kB/秒程度と低速ですが、そのデバイスがヒューマンインターフェースである必然性はありませんので普通にUSBでデータをやりとりすることは可能です。