エレクトロニクス

 Nucleoのボードを動かしたという記事は良く見かけますけど、皆さんUSB Mass Storage Class(以下MSC)でいちいち取り外し作業をしてからUSBケーブル抜いているのでしょうか?

MSC無効化で検索しても出てこなかったのでdisableにしたところ、How to disable USB mass-storage in STLink on Nucleo?(https://electronics.stackexchange.com/questions/287465/how-to-disable-usb-mass-storage-in-stlink-on-nucleo)がヒットしました。STLinkUpgrade用のソフトに切り替えが付いているらしいです。

ST公式サイトのST-LINK, ST-LINK/V2, ST-LINK/V2-1, STLINK-V3 boards firmware upgrade(https://www.st.com/en/development-tools/stsw-link007.html)からソフトを落としてきて、"Change Type"のチェックボックスにチェックを入れ、Mass storage無しの上側に切り替えてからYes>>>>ボタンを押したら消えました。これでいちいち取り外し作業しなくてもFlashに書き込むようなプログラムを入れない限り安心(?)です。私がダウンロードしたのはV3.9.3でした。

MSC無効化後にRapberry Pi4のUSBにつないでlsusbコマンドで見ると以下の通り。

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 4, If 0, Class=Vendor Specific Class, Driver=, 12M
        |__ Port 3: Dev 4, If 1, Class=Communications, Driver=cdc_acm, 12M
        |__ Port 3: Dev 4, If 2, Class=CDC Data, Driver=cdc_acm, 12M

エレクトロニクス

わずか数日で再更新となりました。WP 5.9 だと AMP でエラー出るので対応 Luxeritas 3.21.3(https://thk.kanzae.net/dev/wp-themes/luxeritas/t13963/)の表題のみの更新だそうです。Googleから指摘のメールが来ていたような気もします。

エレクトロニクス

 昨年末はバタバタでここは放置状態になっていたので久々の更新とともにメンテしました。

まずは自動更新のお知らせが来ていたWP 5.9-jaへアップデート。その後、Luxeritas 3.20.2から最新の3.21.2.1へ一気に更新しました。
直近は不具合修正のようですけど、追いきれていません。詳細は開発元の
PHP 8 だと ver 3.21.2 で本文表示されないパターンのある不具合修正 Luxeritas 3.21.2.1(https://thk.kanzae.net/dev/wp-themes/luxeritas/t13951/)
を参照してください。

エレクトロニクス

 突然ですが、Raspberry Piだけではどうにもならない状況に陥ったのでNucleo-64を購入。とりあえず、STM32L476とSTM32F446を試しに1枚ずつ。

Qiitaの記事STM32入門 環境構築「CubeIDEのインストールとSTM32F446でLチカ」(https://qiita.com/yosihisa/items/136bcc09c466227303a2)
を参考にしながらWindows10 64bit版でセットアップ…はまった。

現象としてはCode generation could not be done. Firmware package V1.24.1 can not be unzipped.(https://community.st.com/s/question/0D50X0000BeZi12/code-generation-could-not-be-done-firmware-package-v1241-can-not-be-unzipped)と同じでVersionが1.26.2になっただけ。F446もL476のいずれもダメ。

しかも同じ手順でF446の1.26.2パッチを展開しても.zipが壊れているらしくどうにも進みません。.zip単体で見ると1.26.1なら正常に展開できそうなので一旦1.26.1を展開しておいて実行したら、自動的に1.26.2へ更新されて動き出しました。とにかく動いたのでいいのですが、何なんでしょう。
使ったファイル達(下側)と自動更新後のFirmフォルダ(上側)。

自動更新は動くならパッチ当てずに1.26.0で動かしたら動いたかも?わざわざ検証する時間はありませんが。

Ecilpse, gcc, gdbって懐かしい。何とかLEDが点滅しだしたので今日はここまで。続くかもしれません。