VMware Workstation 16 PlayerにWindows7を導入。VMwareToolsインストールに少してこずる。

カテゴリー: ソフトウェア

VMwareToolsの導入に少し苦労したので覚書

ゲストOSはWindows7 HomePremium 32bit SP1

OS本体はすんなりインストール完了!

ディスクを入れ「新規仮想マシンの作成(N)」からインストール

あれれ?!「VMwareToolsのインストール」がブラックアウト

そこで、VMwareToolsの手動インストールすることにしました。

VMwareToolsのダウンロードページから、12.1.0をDL。Windows7 SP1 or laterとあるのでインストール条件はOKのはず

解決しないので、SP1上書きと更新プログラム適用を行うことに

まず、SP1をもう一度上書きインストールしてみる。Windows7 SP1のインストールページから手動インストールファイルをDL。

その後、VMwareToolsのコミュニティページで更新プログラムを適用する回答があったのでやってみる。

DLしたファイルはUSBメモリ経由でゲストOSへコピー

いずれもゲストOSで実行するものです。

この時点では、VMwareToolsが無効なので、まだD&Dやファイルの共有もできません。そこでUSBメモリ経由でゲストOSへパッチをコピー。

二番目のexeファイルはSP1インストールファイル

順番としては、

  1. kb976932 SP1再インストール(結果的にしなくても良かったかも・・・)
  2. KB4474419
  3. KB4490628
  4. KB4536952
  5. KB4534310

インストール後は再起動。Windows 7 のサポートが切れていますというメッセージが出たら、手順がうまく行ったことらしい。

パッチは無事クリア。VMwareToolsのインストールも無事終了。

コミュニティのおかげで助かりましたm(_ _)m

ESP32-S3-1-N16R8を試してみる-GPIO動作

カテゴリー: ESP32

ESP32-S3モジュールは相当魅力的ですが、情報量が少ないので、少しづつ自分なりに確認していきます。開発環境はVScode+PlatformIO ESP-IDF版です。

今回は、秋月販売のモジュールESP32-S3-1-N16R8を使う確認です。販売されているESP32-S3-DevkitC-1とはモジュールの種類が違うので乗せ換えて動かしてみます。

N16R8を使いたい。

高性能マイコンとして使ってみたいだけなので、ESP32-S3-DevkitCで動作確認して、N16R8でも同じに動作させたいのです。

ESP32-S3-DevkitCはD3N8、モジュール品はN16R8、PSRAMでGPIO33~37使う。

DevkitC搭載のS3の彫刻は「D3N8」ですが、データシートにD3N8という型番はないのでおそらく「ESP32-S3-WROOM-1-N8」と推測します。HPに「N8」と書いてありました(^^)。

N8とN16R8との(私が)気になる違いは、PSRAMがQuad→OctalSPIです。接続ピンが増えるらしくデータシートによるとGPIO33~37はPSRAM用となりGPIOとしての使用は非推奨となっています。いま検討している事案では、このポートが汎用で使用可否が懸案事項なのです。まずはデフォルト状態でGPIO33~37使えるかどうか確認です。

DevkitCにN16R8を載せかえる

DevkitCとしてブレッドボードで確認したいので乗せ換えます。

外したN8デバイスには25Q64ES1Gが使われていた。

外してみたら8ピンQuad64MbitSPIFlashが搭載されてましたがSPIは一組です。N16R8ではこれがOctalになるそうで、SPI組が増えてGPIO33~37にOctalSPI信号が割り当てられると想像つきます。N16R8を分解して接続を見る必要ありますが、PSRAMを使用しない設定にできればそのままでIOポートとして使えると推定します。まずはデフォルトでなにも設定しないでポートとしてアクセスしてみます。

PlatformIOで確認。とりあえずGPIO36,37は汎用IOで使えた。

確認プログラム抜粋です(PlatformIOのBlink Exampleを流用)

#define BLINK_GPIO (gpio_num_t)45
#define SW6			(gpio_num_t)37
	・
	・
static void blink_led(int s_led_state) {
    gpio_set_level(BLINK_GPIO, s_led_state);
}
	・
	・
static void configure_led(void)
{
    gpio_reset_pin(BLINK_GPIO);
    gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
}

void ledTestTask(void *pvParameters) {
    for(;;) {
		if(gpio_get_level(SW6)==0) s_led_state=1; else s_led_state=0;
        blink_led(s_led_state);
        vTaskDelay(50);
    }
}

extern "C" void app_main() {
    gpio_reset_pin(SW6); gpio_set_direction(SW6, GPIO_MODE_INPUT);
    gpio_set_pull_mode(SW6,GPIO_PULLUP_ONLY);
    configure_led();
    xTaskCreate(ledTestTask,"ledtest", 2048, NULL, 5, NULL);
    while (1) {
		vTaskDelay(100);
	}
}

というわけで、とりあえずデフォルトでGPIO36をLED出力、GPIO37をスイッチ入力としてみたところ、無事に動作しました。めでたしめでたし。信号波形もきれいで衝突・干渉等はありません。

PSRAMを使わない・・という設定をきちんと確認する必要はあると思います。

sdkconfigに「PSRAM」のキーワードがなかったので、そう簡単には見つかりませんが、これから関連項目を探すことにします。

次はJTAG用USBを使った汎用CDCの確認です

これができれば、単なる高性能マイコンボードとして使える用途が増えそうです。

ESP32 ESP-IDF & PlatformIO高速化

カテゴリー: ESP32

PCをグレードアップしたおかげで、開発環境も快適度が向上してますが、ESP32系のコンパイル、アップロードはまだまだ時間がかかります。(というより、どんなに速くなってもそれに慣れると満足しなくなる、という性)。

RamDiskの使用やアップロード速度Upを試した覚書です。

2022/6/1更新

 内容はESP32-WROOM-32Eについでです。

続きを読む…

VS2019 C# Task.Delayが使えない件が解消

カテゴリー: ソフトウェア

Thread.Sleepの代わりにTask.Delayを使おうとしたら、エラーがでて使えない。

同じVS2019でも、Task.Delay使えているプロジェクトもあるので、なにが違うのか解消するのに時間をとられたので、その顛末の覚書。ひょっとしたらそのプロジェクト製作時も悩んだかもしれないので、しっかり記録しておこう。

続きを読む…

ESP-IDFでI2C接続EEPROMにアクセス。C++追加

カテゴリー: ESP32

ターゲットESP32をESP-IDFで使う覚書です。I2Cマスターなので目新しいことは無いですが、dsPICやSTM32と混在して開発していると混乱しやすいので、ESP32用のひな形としてコーディングしました。

続きを読む…

VScode+PlatformIOでポートを固定する

カテゴリー: ESP32

PlatformIOで開発で、シリアルポートが複数ある場合はアップロードのポートが自動で割り振られてしまい、またシリアルモニターを毎回選択しなければならない、というのを避ける方法の覚書。ESP32以外のターゲットはわからないので限定です。

続きを読む…

ESP32-WROOM用書き込み器をオートに改造

カテゴリー: ESP32

ESP32-WROOM-32はDevkitCで使う分にはオート書き込みができて快適ですが、単体や3rdパーティのブレークアウトボードではIO0をLOWにしたままENをチョン、とやらなければロードできないのが多くて面倒です。

そこで秋月のUSBシリアル変換を改造し、オート書き込みができるようにしました。

とりあえずの対象は同じく秋月のAE-ESP32-WROOM-32E-MINIです。

※注)AE-ESP32-WROOM-32E-MINI単体で書き込むときはボードの改造も必要。

続きを読む…

メインPC、CPU/MB/メモリ/SSD交換

カテゴリー: 業務関連

メインPCは7年前BTOPCを購入。当時割とハイスペックなcore i7-4790、16GB、グラボRTX720(後にRTX1060)。2年前にSSD1GBを起動diskに換装。

今でもわりとサクサク動きますが、シミュレーションや複数開発環境開くと重い時があるので、心機一転CPU・MBごと交換することに。

続きを読む…

観葉植物用の補助ランプを作る

カテゴリー: 電子回路全般

観葉植物アンスリウムは直射日光を嫌いますが、でも、暗すぎてもダメだと言う。

生育例では「明るい窓際」と書いてありますが、なかなか難しい。

我が家の窓際は込み入っていて、すこし奥まった場所のアンスリウムには、

たぶん適当な日照は無いようです。

他にも直射日光に弱いもの多数。

そこで・・・

日中の日差しを補助するランプを作ることにしました

秋月の太陽光LEDモジュールを二個使う

12V のアダプタでドライブし、Amazonで購入したスマホアームスタンドに格納

LM358Nでウインドコンパレータを組む。CDSで日中のみ点灯。

回路はブレッドボードに組んでそのまま搭載

メリハリを利かすため、日中のみ補助し、夕方は消灯するようにCDSでON/OFF

すべてテープで固定。逆さまにしても落ちないのだ!

LEDはアルミt1.5に熱伝導テープで張り付け。温度も確認する

このパネルは発熱するので、一応温度確認。

上昇は25度以下に収まっている

~~~3/1更新~~~

1時間ほど放置すると、室温15℃で55℃になりました。上昇は40℃です。

夏場の35℃では75℃かぁ、壁際で40℃超すと80℃越えですな。夏は消すとしますか。

温度上昇を確認

完成!

白い線からCDSで外の明るさを検知

結構明るいでしょ。

いつものシリカゲル再生

カテゴリー: 業務関連

部品をストックしているペール缶の保守作業です。

過去の再生作業のページ

数か月に一度のシリカゲル再生作業。今回は予備のシリカゲルもピンク化してたので、一気に再生することにしました。

夏季に行うと湿度が高いので難易度が上がります。乾燥のこの時期にやるのが一番効率良い!

除湿庫もたない場合の最低限の対処

うーん、シリカゲルだけでは湿度証明にはならないですけど、自主的に管理です。

電子レンジでできる

とはいえ、やってみないとコツはつかめません。

せっかく温めても粗熱とるときに吸湿してしまう・・・らしい

というわけで、相対湿度40%アンダーの今日は最適の日です。

相対湿度38%でGood!

センサー粒が全部ピンク

「インジケーター」とも呼ぶらしいが、塩化コバルト添加粒の色を「青」にしたい

600W3分を4回繰り返す。

今回は量が多いので2分→3分に増やしました

一回加熱するごとに高温になってるので、その都度粗熱をとります。

この時、下の粒が放出した蒸気が上の粒に吸湿するのを出来るだけ防止するようにファンであおりながらかき混ぜました。

へたこくと、またピンクに戻ってしまうのです。

繰り返しやったおかげで、なかなな良い色です。

粗熱取って格納

あまり時間をかけるとピンクに戻るので、三回目のレンチン後、うちわとファンで思いっきり仰いで冷ましたのちに、袋詰めして完了!

ちなみに、袋には目打ちで穴をあけておく。水切りゴミ袋と同じ原理です。