この記事は,rogy Advent Calendar 2019 の10日目の記事です.
はじめまして.ふくふく(@fkfk21_18) です.
今回は,windows7でH8マイコンを使用する環境構築について書きたいと思います.
(´・ω`・)エッ?
なぜ,そんなことをするのか
我らが東工大の工学院システム制御系は,200番台の(一般に2年生が履修する)講義として,組込システム基礎というものがあります.この講義では,VS-WRC003LV というH8マイコンを搭載したマイコンボードを用いてマイコンを使おうっ!といった内容が半分を占めています.
さて,初回の講義です
H8マイコンの環境の構築と動作確認が主な目的でした.この講義では講義室に備えているPC(Windows8.1)を用いて講義を受けることもできるのですが,PC重すぎてやってられないと講義開始10分で見切りをつけたので,自分のPC(Windows10)内に環境を入れますかぁと思ったわけです.
ここで問題
マイコンとのシリアル通信を行う際に使用するHtermという今回使用するマイコンボードに特化した(?)ソフトウェアがあるのですが

僕の環境でなぜか接続できない
デバイスマネージャーからCOMポートで認識しているというのは確認でき,かつ,teratermを使えばシリアル通信できることも確認できた.なぜなんだ
ちなみにこのHterm上のメニューバーでhelpってやつを選択したらシリアル通信で”?”を送って結果が送られてくるとかいう実際に何をしているのか見えにくい仕様なので(やっていることは推測できるのですが),誰かに「ねえ,このhelpってやつ,何を送ってた?」とか毎度毎度教えてもらわないとteratermでは戦えません(ちなみに初回はteratermで戦いきりました).
さすがに迷惑ですね
ちなみに周りのwindows10勢は「普通に動くで」といった感じで平然と課題を進めています.
意味が分からんっ!!!!!
というかこのUI,一世紀ぐらい古そうな見た目してるなぁと思い,調べてみたところ...このHterm,なんかwindowsXPで更新が終了しているみたい…
たくさんのシステム制御民が組込最高~~って言ってる意味がなんとなく分かってきましたね
けど,現状XPは現状microsoftの公式から入手する方法はなさそう(?)なのでwindows7使ってみるかぁという思いになりました
なんか日本の半数以上の企業が使ってるらしいし?
しかし,自分のwindows10が入っているPCに今回の講義のためにwindows7をbootするのはさすがに馬鹿馬鹿しい…
ということで
VirtualBoxを使ってwindows7の仮想環境内にH8マイコンの環境構築をして組込システム基礎を乗り切るっ!!
といった感じです
仮想環境を作ることで次いつ使うかわからないH8マイコンの環境をボタン一つで破壊できて環境汚染を最小限にできる!最高!
動作環境
ホストOS: windows10 Home
ゲストOS: windows7 (IE11 on win7)
VirtualBox ver6.0.14
いざ,VirtualBoxで仮想環境の構築
ここまでの長い前置きはさておきいざ環境構築です
https://www.virtualbox.org/ からvirtualboxをダウンロード
次にVirtualBoxマネージャーから新規で仮想マシンを作成して仮想マシンの初回起動時にisoイメージを開いて…あ,isoイメージが欲しいですね
さて,isoイメージを落とすかぁとubuntuのisoイメージを落としてくるのと同じノリでmicrosoftのwindows7のisoイメージのダウンロードページに行くと

号泣
プロダクトキーがいるんですね()
なんか方法ないんかーーと思い調べていると…
かつてmodern.IEと呼ばれていた(今はMicrosoft Edge Developerと呼ばれているらしい)仮想環境をmicrosoftが提供しているらしいのでそれを使うことにしました
これはmicrosoftの提供するwebページの動作検証などに本来使われているようです
コレ,ライセンスが90日間有効みたいなのですが,12/9(僕が入れた日)からであれば第4Q(2/7まで)にしかないこの講義は耐えれるっ!ということで迷わず採択
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ ここから

こうして

こうっ
すると展開した中に
IE11-win7.ovaっていうのがあるのでこいつを開くと仮想環境の構築が自動でできます
ovaファイルは自分で仮想マシンを作成するときの設定が事前に入っているものなので自分で環境を作るよりかはサクっと進みますね

これのデフォルト値だとビデオメモリが足りないみたいなので[設定]->[ディスプレイ] からビデオメモリを32MBとか64MBにしとくとよさそう

ついでに仮想マシンの名前はkumikomi-saikouにでもしておきましょう

これで

それではwindows7を起動!...しても現状ではゲストOSであるwindows7からUSBで接続したマイコンボードに接続することはできません
なのでwindows7を起動していない状態で,今回使用するマイコンボードをPCに接続
その状態で,[設定]->[USB] からUSBコントローラーを有効化してUSB2.0(ETHI)コントローラーを選択し
右のUSBを追加できそうなところをクリックして
Vstone Co.,Ltd. VS-WRC003LV COM Port [0001]をUSBデバイスフィルターに追加します

これで

windows7を起動

上のメニューバーからクリップボードの共有とドラッグアンドドロップを双方向で有効化できるので,有効化してホストOSのwin10からゲストOSのwin7にHterm.exeを移行!
Hterm

最高~~~~~~~~~~~~
といった感じでいけました
他に使用するものも基本入れれたので大丈夫でしょう(たぶん)
これで環境汚染を最小限にできました!
未来のシステム制御民の環境汚したくないerはぜひ参考にしてみてください
ちなみにこの方法を使えばwindowsしかこのソフト使えないよと言われて
(´・ω`・)エッ?
ってなってた人もubuntuなどのLinuxだろうとMacだろうと無理にwindows入れずに乗り切ると思います(たぶん)
知識が豊富なわけではないので虚偽の情報が入っていた場合はご指摘をお願いします.
はまったところ
シリアルポートの変更ではなかった
ホストOS側でこのボードがCOM22で認識されていたので,ポートモードをホストデバイスに設定してCOM22をゲストOS側にCOM1と認識させるんかなと思ったらうまくいかなかった
USB-シリアルコンバーターのおかげでシリアルポートではなくUSBとして認識されている?

参考
https://qiita.com/studio15/items/26bfb665aa024c5a5568
https://developer.microsoft.com/en-us/microsoft-edge/
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/