ジャンル不定の日記です。

Vistaのライセンス認証ができない・・・

Windows 7 で古いゲームやろうとしたらsafediscの関係?でできなかった。(前にも経験した気がする)
対処法はあるぽいんだが、10があれば7いらないし、7のVM消してVistaのVM使おうとした。

で、新しく作ったVMに以前バックアップした.vdiと.vboxをコピーして実行したんだが、
なんかVM起動しなかったんで(バックアップのインポート方法が間違ってた為)新しくVM作ってクリーンインストールすることにした。
インストール方法は以前書いた記事見ながら。

そしたらライセンス認証でエラー出てできなかった。
以前のときはインストール直後ライセンス認証を忘れてて、あとからすんなりできたと記事にも書いてあるが、
先にWindows Updateしてからやったと思うんでそれが原因だと思って、
SP1,SP2を入れて、手動で更新プログラム入れたりして丸1日かかったがWindows Updateできた。
だが、ライセンス認証できない。

で、気づいたが、
認証画面なんか変な気もしてたが、
プロダクトキーの変更ってので入力してたが、本来オンライン認証って項目が出るはずなんだね。
エラー以前に電話認証必須の状況になってるんだね。
PC本体はまだ手元にあるがVMでやりたいから電話で通らんよね・・・

そして、最初のバックアップのVMをインポートする方法を間違えてた件に気づいたんで、
新規インストールのVMは消してインストール済みのVMを使うことにした。
バックアップはVMのフォルダ丸ごとコピーしたものだが、.vboxを実行するだけでインポートされるのね。

そして、バックアップのVM起動したら、要ライセンス認証だった・・・
ライセンス認証してない状況のバックアップだったのか、構成が変わってて無効化されてるのか?

STM32F042K6T6の基本回路図書いてみた

前回のLチカの際は中華ST-Linkの3.3VをSTM32F042K6T6に直結したが、データシート見るとパスコンがついてる。
実際に使う際はコンデンサつけたほうがいいだろうし、電源周りとか基本の回路図を書いてみた。



VDDは2本あるのかと思ったが、17番ピンはVDDIO2でちょい違うみたいだった。
VDDIO2はPA8からPA15に供給される電源らしい。必須なのか不明だが、17番ピンは他の用途には使えないのでつけとけばいいと思う。
VDDとVDDIO2は共通電源で4.7uFは1個で100nFを別々につければいいものと思ってる。
VDD-VSSは-0.3から4.0の範囲が絶対定格で、2から3.6Vの範囲で起動。
VDDIO2は1.65から3.6V。絶対定格はVDDと同じ。

VDDAはアナログ用の電源で、デジタルと共通でいいと思うがデータシートのコンデンサは10nF+1uFになってる。
VDD-VDDA=0.4が最大絶対定格なんでVDDAは必須だと思う。
最初に失敗した際にはVDDA繋がなかったんで壊したのかもしれん・・・
VDD以上で3.6Vまでを供給するらしい。

NRSTはリセット用のピンで他の用途には使えないが、必須ではないのでリセット不要なら何もつけなくていい。
SWDIOとSWCLKを別用途に使う場合にNRST対応のST-Linkを使えば書き換えが可能と思われるが、中華ST-LinkのNRST端子は機能しないとか・・・

中華ST-LinkはNRSTが利用できないらしいので、23番ピンと24番ピンはSWDIOとSWCLK以外の機能を割り当てないほうがいいと思われる。
23番ピンはSWDIO以外に、PA13、IR_OUT、USB_NOEが利用できる。
24番ピンはSWCLK以外に、PA14、USART2_TXが利用できる。
IRは赤外線?USARTは2個あるみたいだから要らんね。
USB_NOEってのはなんだろ?USB使うのに要るの?


こんな感じですね。
適量のコンデンサあったら次回からつけることにする。

STM32F042K6T6のリセットと電源周り

STM32F042K6T6にNRSTピンがあるけどこれリセットだよね?
昨日のLチカの際は何も接続しなかったけど問題ないのか?
思って調べたが、
やはりNRSTでリセットができるようで、LにしてからHになったタイミングでリセットがかかるぽい?
データシートの 6.3.15 NRST pin characteristics に回路図が記載されてたが、
スイッチと0.1uFのコンデンサを並列にGNDと繋げばリセットが使えるぽい。

ついでにもうちょっとデータシート見てたが、6.1.6 Power supply scheme に電源周りの回路が記載されてる。
VDDとVSSはST-Linkの端子に直結したが、
2x VDD,VSSのところに、2x100nF+1x4.7uFのコンデンサがついてる。
電源の近くに4.7uFをつけて、2個あるVDDピンの近くに100nFをつけたほうが良さそう?
VDDAは10nF+1uFになってる。
VBATは1.65-3.6Vの電池直結になってるが、電池不要ならVDDと同じ電源に直結でいいのかな?

あと、6.2 Absolute maximum ratings のところにVDD-VDDAがMax 0.4と記載されてる。
更に、
All main power (VDD, VDDA) and ground (VSS, VSSA) pins must always be connected to the external power supply, in the permitted range.
常にVDD,VSS,VDDA,VSSAは常に接続しなきゃダメとか。
最初うまく行かなかった際はVDDAとVSSAは何も接続しなかったが、そうするとVDD-VDDAが3.3で許容範囲超えちゃうから壊した?

STM32F042K6T6でLチカ

STM32F042K6T6認識できたんで、とりあえずLED点滅させてみた。

前に失敗したときは公式からダウンロードしたCubeIDEでやろうとしたが、これはEclipse丸ごと入れる感じのアプリぽかったんで、
昨日Eclipse単体でインストールしてプラグインでCubeMXを入れてやろうとしたんだが、なんかやたら重くて使いにくかったんでCubeIDEにした。
が、なんか公式からダウンロードしようとしたら403エラーで落とせなかったんで、ゴミ箱から前に使ったやつを拾ってきてやってみた。

STM32のプロジェクトをSTM32F042K6T6で作成して、
.iocでPA8をGPIO_Outputにして、ピンが余るならPA13とPA14はSWDIOとSWDCLKにしといたほうがいいと思うんでそうした。(SWDIOとSWDCLKを使っちゃうとST-Link使えなくなっちゃうんだよね?)

で、[Project > Generate Code]を押すと[Core > main.c]が更新される。

  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
      HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_8);
      HAL_Delay(100);
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
USER CODEの無限ループ内をこんな感じに。
HAL_GPIO_TogglePinは出力ピンのHigh,Lowを切り替える。
HAL_Delayはミリ秒?
HALってのはAPIの様だが、どっかにリファレンスがあるのか?ちゃんと読まないとだな・・・

あと、マイコンにつなぐ回路の方は、LEDのVfが2VくらいぽくてST-Linkの3.3Vを使うことにした。
STM32の入出力ピンには25mAまで流せるみたいで、LEDと直列に抵抗を入れると3.3-2=1.3ということで抵抗両端の電圧は1.3V。
100Ωの抵抗を使えば13mAですね。
ってことにした。
LEDと100Ω抵抗を直列に3.3Vと18番ピンの間に。
出力ピンがHなら電源が相殺されて光らない。Lなら電流は流れるわけですね。

main.cの画面がアクティブな状態で[Run > Debug As > STM32...]をクリックするとデバッグが始まる。
と思ったが、「Could not determine GDB version」みたいなエラーが出た・・・
詳細を見ると、libncurses.so.5が見つからない?的な感じだった。
パッケージ検索でncursesを検索するとncurses 6.2-1が入ってた。
6が入ってるけど5じゃないとダメなのね。
というわけで探したが、AURにncurses5-compat-libsがあった。
これ前にAURからCubeIDE入れようとして入れれなかったやつかも・・・
というわけだが、AURのページに入れ方書いてあった。
$ gpg --recv-keys <KEYID - See 'validpgpkeys' array in PKGBUILD>
pacman標準のキーと違うのでインポートしないといけないらしい。
validpgpkeysはPKGBUILDに記載されてた。
が、すぐ下に記載されてたが、
$ makepkg --skippgpcheck
すればキーのインポート不要だったらしい。

ncurses5-compat-libs入れたらそのエラーはなくなったんだが、ST-Linkのファームウェアをアップしろと出た。
前に失敗したときもアップしたが、頻繁にアップデートくるもんなの?

そして、エラー無しでDebugできたんだが、 
HAL_Init();
の行で止まってLチカしない。
この行がブレークポイントになって止まる感じ?
Resume押したらLチカ始まった。

STM32F042K6T6認識した!

前回の記事でSTM32F103C8T6の中華ボードを中華ST-Linkで認識して、再度STM32F042K6T6をとQFP32変換ボードを買って試してみたいと書いたが、
昨日届いたんで今はんだ付けしたが、認識した!

$ sudo st-info --probe
Found 1 stlink programmers
 serial: 413a010032124353354b4e00
openocd: "\x41\x3a\x01\x00\x32\x12\x43\x53\x35\x4b\x4e\x00"
  flash: 32768 (pagesize: 1024)
   sram: 6144
 chipid: 0x0445
  descr: F04x device
↑こんな感じになった。

http://ewarmjp.seesaa.net/article/441952177.html
↑前回の記事書いたあとに見っけたSTM32F042K6T6使ってる人の記事を参考に、
1,5,17番ピンに3.3V
16,32番ピンにGND
23番ピンにSWDIO
24番ピンにSWCLK
で接続。
3.3VとGNDを5本つなぐ必要があるのかわからないんだが、どちらにしろこれらのピンはIO等の機能は当てられないのでつないじゃえば良さそう。
5番はアナログ用みたいだからA/Dコンバータとか使うときだけ変更するんかな?

前回のボードは同様に接続しても認識しなかったんで、はんだ付け失敗か不良品?
ブリッジはないようだったが・・・
まあ、前回半田盛りすぎから吸い取り器で除去したりしたんで、
今回は直接半田線を当てずに、コテ先にハンダをつけてコテ先のハンダをつける感じでやった。そのほうが良さげ。

それと、前回は手持ちのヘッダーピンがQFP変換ボードに挿さらなくてやむを得ずソケットをくっつけたが、
細ピンヘッダを購入してブレッドボードに刺さるようにした。
ピンヘッダのはんだ付けは今回の参考サイトの人がユニバーサル基板を重ねて挿して水平にした状態ではんだ付けしてたんで、真似した。

STM32F103C8T6の中華ボード

STM32F042K6T6が使えなくて試しに買ったSTM32F103C8T6の中華ボード(Blue Pillというらしい)、
届いてから放置してたが、とりあえず中華ST-Linkにつないでみた。
ヘッダピンは付属しているがはんだ付けされていない製品だが、最初からはんだ付けされてて横向きに出てる4ピンヘッダがST-Link用みたい。

ボードの裏面に3V3,SWO,SWCLK,GNDと記載があるので中華ST-Linkにそのままつないだ。
$ sudo st-info --probe
[sudo] user のパスワード:
Found 1 stlink programmers
 serial: 413a010032124353354b4e00
openocd: "\x41\x3a\x01\x00\x32\x12\x43\x53\x35\x4b\x4e\x00"
  flash: 0 (pagesize: 0)
   sram: 0
 chipid: 0x0000
  descr: unknown device
↑ボードを繋がないでst-info --probe

$ sudo st-info --probe
Found 1 stlink programmers
 serial: 413a010032124353354b4e00
openocd: "\x41\x3a\x01\x00\x32\x12\x43\x53\x35\x4b\x4e\x00"
  flash: 131072 (pagesize: 1024)
   sram: 20480
 chipid: 0x0410
  descr: F1 Medium-density device
↑ボードをつないでst-info --probe
認識してるね。

マスクポチった

職場はマスク着用必須だがマスクの残りが10枚切ってる感じ。

というわけで、AliExpressでポチってみた。
送料込み$14.99で30pcs買った。
高いけど完全に切らすのはまずいし、とりあえず30個だけ。
レビュー見た感じだと2週間前後で届くようだが・・・

Linuxでワンセグ見れた!

注文してたMYGICA S270は先日届いてたんだが、視聴方法がわからなくて、今やっと見れるようになった。

MYGICA S270はArch Linuxの標準カーネルでそのまま使える。
ドライバインストールは不要。

視聴アプリは最初Kaffeineで見ようとしてチャンネル設定がわからず他のアプリを入れたりしたが、
結局Kaffeineで日本のチャンネルを設定する方法がわかったのでKaffeineで見る。
ほかアプリのチャンネル設定はわからない。

Kaffeineで
テレビジョン>テレビジョン設定>一般オプション>Edit Scanfile
するとscanfile.dvbがテキストエディタで編集できる。
このファイルは日本のチャンネルが設定されてないので手動で設定する必要がある。
フォーマットの仕様はよくわかってないが、scanfile.dvbの末尾に、
[isdb-t/jp-Tokyo]
I 557142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0
I 551142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0
I 545142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0
I 539142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0
I 527142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0
I 533142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0
I 521142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0
I 491142857 6MHz AUTO AUTO AUTO 0 0 0 0 7 AUTO AUTO 0 0 AUTO AUTO 0 0 AUTO AUTO 0 0
直前にあるブラジルの設定を真似して日本の周波数を追加して再起動したら、
テレビジョン>テレビジョン設定>デバイス1>ソース
に、[jp-Tokyo]が出てきたので選択。

テレビジョン>チャンネル>スキャンを開始
をするとスキャンされる。
1回ではスキャン成功しないこともある感じなので何回かやった。
するとチャンネル名が文字化けしたチャンネルがいっぱい出てきた。
選択して追加するとチャンネルが有効になる。

文字化けするのは地デジの文字情報はarib-std-b24というcharset?のようだが、これを標準ではUTF-8に変換できないからみたい。
gconvのモジュールを入れれば解決しそうではあるが、Arch LinuxにはAURを含めてパッケージがなかったので諦める。

チャンネルはいっぱい出てくるが、見れるチャンネルと見れないチャンネルがある。
チャンネルの編集画面を開くとサービスIDという項目があるので、地デジのサービスIDでググってなんのチャンネルだか判別できるので、
文字化けしたチャンネルは手動で直して、見れないチャンネルは消した。
見れないのはフルセグと思う。

1408 NHK総合
1416 NHK Eテレ
1424 日本テレビ
1448 テレビ朝日
1432 TBS
1456 テレビ東京
1440 フジテレビ
23992 TOKYO MX1
23993 TOKYO MX2
上記サービスIDのチャンネルが視聴可能だった。