candleLightはSTM32F0シリーズのUSB2CANとかで使えるファームウェアなんだけど、STM32G431とかでも使えるように改良してる人がいたのでWindowsでビルドしてみた。
Windows側で必要なのはcmakeとmingw64(makeに使用)とgcc-arm-none-eabi-8-2019-q3-update-win32-sha2.exeだった。
とりあえずこれらをインストールして、gcc-arm-none-eabi-8-2019-q3-update-win32-sha2.exe以外は環境変数に入れて呼び出せるようにしておく。
pgreenlandさんのcandleLightブランチをとりあえずZipでダウンロードして展開。
cmakeフォルダの中のgcc-arm-none-eabi-8-2019-q3-update.cmakeをWindows用に少し変更
set(TOOLCHAIN gcc-arm-none-eabi-8-2019-q3-update) set(CMAKE_MAKE_PROGRAM "C:/mingw64/bin/mingw32-make.exe") set(TOOLCHAIN_BIN_DIR "C:/Program Files (x86)/GNU Tools ARM Embedded/8 2019-q3-update/bin") set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR arm) set(CMAKE_C_COMPILER "${TOOLCHAIN_BIN_DIR}/arm-none-eabi-gcc.exe" CACHE INTERNAL "") set(CMAKE_CXX_COMPILER "${TOOLCHAIN_BIN_DIR}/arm-none-eabi-g++.exe" CACHE INTERNAL "") set(CMAKE_EXE_LINKER_FLAGS "" CACHE INTERNAL "") set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) SET (CMAKE_C_COMPILER_WORKS 1) SET (CMAKE_CXX_COMPILER_WORKS 1)
コマンドプロンプトでCMakeLists.txtがあるディレクトリに移動して
mkdir build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/gcc-arm-none-eabi-8-2019-q3-update.cmake -G "MinGW Makefiles" make
こんな感じでビルドできた。WindowsでのポイントはcmakeがnmakeでVisualStudioの環境を作ってしまうようなデフォルト設定になっているので、-G "MinGW Makefiles"をつけるところ。一旦このオプションをつけないで実行してしまうとエラーが出てしまうのでbuildフォルダを削除してやり直し。一番ココでハマった…
というわけでCANable2_MKS_fw.binってのがSTM32G431用のバイナリファイル。しかもこれ、CANable2の公式ファームウェアではCAN FD対応していないらしいけどこっちは対応してるっぽい。
Windows上だとCangarooで使う場合はデフォルトでインストールされるWINUSBドライバでいいけども、Python-CANとかでgs_usbを使う場合はZadigとかでlibusbKに変更する必要がある。その時は(Interface0)が付いてる方だけど変更すること。(OptionのList All Deviceを有効にしないと出ないかも)
ファームウェアを書き込むときは前はdfu-utilでやっていたけど、ブラウザから書き込みができるWebUSB DFUを使うと便利かも。Vender IDは0x0483。
0 件のコメント:
コメントを投稿