稀れにcmakeのバージョンを促すソフトウェアがあるのでバージョンを指定してcmakeをインストールしてみました。
$sudo apt remove cmake
下記のWebサイトからPlatformに合ったファイルをダウンロードします。
今回は下記のファイルをダウンロードしました。
cmake-3.23.1-linux-x86_64.sh
あとは実行権を付けて、インストールしたいディレクトリで実行するだけです。
]]>Raspberry Pi picoを入手したのでWSL環境に開発ツールをインストールして遊んでみました。
ひとつは下記のようにpico-sdkを入手することで、ここではついでにpico-exampleも入手しています。
$ cd ~/
$ mkdir pico
$ cd pico
$ git clone -b master https://github.com/raspberrypi/pico-sdk.git
$ cd pico-sdk
$ git submodule update --init
$ cd ..
$ git clone -b master https://github.com/raspberrypi/pico-examples.git
$ sudo apt update
$ sudo apt install cmake gcc-arm-none-eabi build-essential
export PICO_SDK_PATH=${HOME}/pico/pico-sdk
もうひとつがpico_setup.shでインストールする方法のようなのですが
$ wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
$ chmod 755 ./pico_setup.sh
$ ./pico_setup.sh
これはビルド中にエラーが発生したようです。
The following packages have unmet dependencies:
code:armhf : Depends: libnss3:armhf (>= 2:3.26) but it is not installable
Depends: apt:armhf but it is not installable
Depends: libxkbfile1:armhf but it is not installable
Depends: libsecret-1-0:armhf but it is not installable
Depends: libgtk-3-0:armhf (>= 3.10.0) but it is not installable
Depends: libxss1:armhf but it is not installable
Depends: libgbm1:armhf but it is not installable
E: Unable to correct problems, you have held broken packages.
深追いはせず…
最初のインストールで使えそうなので次のようにLチカサンプルをビルドして、Raspberry Pi picoのBOOTSELボタンをクリックしながらWindowsマシンにUSB接続します。
そうするとMass Storageとして認識するらしく、そこにblink.uf2をコピーするとRaspberry Pi picoのLEDが点滅します。
$ cd pico-examples
$ mkdir build
$ cd build
$ cd blink
$ make -j4
ビルドしてドラッグアンドドロップして終了というのはラクチンですね。
]]>WSL2の仮想ストレージは一度、確保されてしまうと大きいサイズのままになってしまいます。
そのため、適宜、最適化をしてサイズを小さくするとよいです。
まず、Power ShellでWSL2を止めます。
wsl --shutdown
つぎにdiskplatを立ち上げます。
diskpart
WSL2の仮想ストレージはC:\Users\hidemi\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_xxxxxxxxxxxxx\LocalState
の下にext4.vhdx
というファイル名で存在するのでそれを選択してcompactコマンドで最適化します。
select vdisk file="C:\Users\hidemi\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_xxxxxxxxxxxxx\LocalState\ext4.vhdx"
compact
exit
間違えて、Vivado 2021.2をWSL2の仮想ストレージにインストールしたらローカルディスクがいっぱいになってしまいました。
]]>MACアドレスを使うノードロックなライセンスなどの場合、WSL2の自動でMACアドレス割り振りだとちょっと不便があります。
次のようにMACアドレスを変更することができます。
$ sudo macchanger -m 00:15:5d:XX:XX:XX etn0
Current MAC: 00:15:5d:XX:XX:XX (Microsoft Corporation)
Permanent MAC: 00:15:5d:XX:XX:XX (Microsoft Corporation)
New MAC: 00:15:5d:XX:XX:XX (Microsoft Corporation)
現在のMACアドレスから新しいMACアドレスに変更されたことが表示されます。
MACアドレスの変更はPortをDownしておかなければいけないので、手順としてはつぎのようにDownしてMACアドレスを変更して、再度Upになります。
$ sudo ip link set dev eth0 down
$ sudo macchanger -m 00:15:5d:XX:XX:XX eth0
$ sudo ip link set dev eth0 up
MACアドレスの変更はできるものの、これをやってしまうとネットワークアクセスできなくなるので注意が必要です。
MACアドレスを自動割り振りのMACアドレスに戻すには次のように実行します。
$ sudo ip link set dev eth0 down
$ sudo macchanger -p eth0
$ sudo ip link set dev eth0 up
$ sudo ip route add default via <vEthernet's IP> dev eth0
Interface Down時にDefault Gatewayが消えるので再設定が必要です。
]]>Arrty-A7への接続は使っている最中に電源を落とすことがあります。
そうするとUSB接続が切れるので必然的にWSL2と繋げたUSBの設定も消えることになります。
その都度、コマンドを入力するのは面倒なのでArty-A7の電源を入れるたびに実行するバッチファイルを用意します。
まずはPower Shell上でattachするスクリプトを作成します。
管理者権限で起動できるようにしておきます。
ファイル名はusb.ps1です。
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole("Administrators")) { Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs; exit }
usbipd wsl attach --busid 1-2
次のようにPower ShellのスクリプトとudevのReStartするバッチファイルを用意します。
powershell.exe -File C:\Users\hidemi\bin\usb.ps1
wsl -d Ubuntu-20.04 -u root --exec /bin/bash service udev stop
wsl -d Ubuntu-20.04 -u root --exec /bin/bash service udev restart
バッチファイルのショートカットを作成して、管理者権限で実行できるようにしてデスクトップにでも置いておけばArty-A7の電源をOff/Onしたときにショートカットをクリックするだけで再度、WSL2でArty-A7を認識することが出きます。
]]>