CH32V003の開発環境をVisual Studio Code + PlatformIO で構築 （M1 Mac環境）

## 初めに
M1 Macの環境でWCH CH32V003を開発するには、
・MounRiver Studio IDE
・CLI（コマンドライン)
・Arduino
・Visual Studio Code + PlatformIO
・Visual Studio Code + PlatformIO + Arduino
があるようです。
今回は、Visual Studio Code　+ PlatformIO の環境を構築してLチカプログラムをビルドしてみました。

## Visual Studio Codeのインストール
ここを参考に、VSC、PlatformIOをインストールします。
https://pio-ch32v.readthedocs.io/en/latest/installation.html#

## PlatformIO にpio-ch32をインストール
https://pio-ch32v.readthedocs.io/en/latest/installation.html#install-ch32v-platform

【蟻マーク】→【Platform】→【Advanced Installation】をクリックします。
![スクリーンショット 2023-07-03 15.22.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/9f15dcc5-cfef-cf7e-ab54-e6d51c523a02.png)
※注、このスクリーンショットはWCH CH32Vがインストールされた状態です

リポジトリの入力画面になりますので、以下のURLを設定して、【Install】をクリックします。
https://github.com/Community-PIO-CH32V/platform-ch32v.git

![スクリーンショット 2023-07-03 14.40.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/f57955d5-985c-623e-d6cd-5d686a9e85f1.png)

【OK】ボタンを押下します。
![スクリーンショット 2023-07-03 14.42.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/d06619a9-63ec-f543-00fa-0838456be49a.png)

VScodeを立ち上げ直します。
【蟻マーク】→【Platform】　を確認すると、WCH CH32Vが登録されています。
![スクリーンショット 2023-07-03 14.42.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/d9cbccea-ad05-e942-526c-fa315ed84652.png)

## 新規プロジェクト作成
【蟻マーク】→【home】　を選択して、【Quick Access】→【New Project】をクリックします。
![スクリーンショット 2023-07-03 15.14.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/2edfbbd0-a28a-a8bc-794b-ee8457b2b2d8.png)
name：にプロジェクト名を入力します。
![スクリーンショット 2023-07-03 15.14.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/811eac32-6dcd-8a86-a656-561b6316cbc6.png)
つぎに、Board:に【CH32V003】と入力するとCH32V003シリーズの候補が出てきます。
今回は8pinタイプを使用するため、【CH32V003J4M6】を選択します。
![スクリーンショット 2023-07-03 15.15.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/389c9446-6d9e-c5a4-465b-07ed358ddbf9.png)
【Finish】ボタンを押下します。
![スクリーンショット 2023-07-03 15.15.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/34b690ec-68d0-a18c-3da0-0a4cb76ca525.png)
Prject Wizardが動き出し数分間？待ちます。
![スクリーンショット 2023-07-03 15.16.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/8c99ee2b-3547-fc2c-473b-1d7a06653daa.png)
【はい】ボタンを押下します。
![スクリーンショット 2023-07-03 15.16.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/752f804c-86d1-4bf0-0f9f-d1d194d223eb.png)
雛形が出来上がりました。
![スクリーンショット 2023-07-03 15.16.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/fa19a818-9878-4b82-e65c-cc3129e6abd9.png)
PlatformIOのビルドは下の方の水色バーのレ点を押します。
![スクリーンショット 2023-07-03 17.41.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/3d1c556a-fd9f-1a84-e81a-dac1a61257d1.png)
適当なLチカのソースを貼り付けてビルドすると正常にできました。
![スクリーンショット 2023-07-03 17.36.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/76970b9f-6a91-142a-a5e4-5d76c3467be7.png)

## 書き込み
![スクリーンショット 2023-07-03 19.15.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/45706a64-0f0a-8710-840e-1fe2e2fbefb7.png)

![スクリーンショット 2023-07-03 17.25.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/c3fb2fed-dd83-b24e-7e47-f3ed44cd8c47.png)
なんか、エラーになって書けない・・・
Reason: tried: '/opt/homebrew/opt/hidapi/lib/libhidapi.0.dylib' (no such file), '/usr/local/lib/libhidapi.0.dylib' (no such file), '/usr/lib/libhidapi.0.dylib' (no such file)

## Library not loaded 対策
hidapiシェアドライブラリを入れれば良いのかな？ということで。
% brew install hidapi
https://zenn.dev/elfmimi/articles/c85b113e3c4479

```cpp
macuser@MacMiniM1 ~ % brew install hidapi

==> Downloading https://formulae.brew.sh/api/formula.jws.json
############################################################################################ 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
############################################################################################ 100.0%
==> Fetching hidapi
==> Downloading https://ghcr.io/v2/homebrew/core/hidapi/manifests/0.14.0
############################################################################################ 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/hidapi/blobs/sha256:4330e0a273dcb943f27e2be002fad0
############################################################################################ 100.0%
==> Pouring hidapi--0.14.0.arm64_monterey.bottle.tar.gz
🍺  /opt/homebrew/Cellar/hidapi/0.14.0: 19 files, 191.3KB
==> Running `brew cleanup hidapi`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
macuser@MacMiniM1 ~ %  
```
uploadやってみましょう。書けました！！！
![スクリーンショット 2023-07-09 19.13.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111210/2174f26f-fab7-1c67-bd6c-0d253b6396a5.png)