Arduino IDEからch32funを使ってCH32V003を使う方法を探している. AlexanderManderaさんの環境は,arduino IDEからch32funを使えるようにしたものなので,これを使うと,Arduino IDEからch32funを通して,UIAPduinoを使うことができる. しかし,しばらく更新されておらず,古いversionのch32funを使っているし,まだ実装されていない機能も多いので,改良が必要である. 似たようなやり方で,最新のch32funをArduino IDEから使えるようにできないかと考えている. 特にrv003usbをArdiuno IDEから使えるようになれば望ましい.
そこで,ch32funとArduino IDEのコンパイルの仕方を少し調べてみた. ch32funでは,Makefileの中でincludeされているch32fun.mkに従ってコンパイルが行われる. 一方,Arduino IDEでは,arduino-builderが,platform.txtに書かれている情報に基づいて,C++のコードの生成とコンパイルが行われる. つまり,ch32funでmake buildを行ったときの出力を見て,それそplatform.txtに移植すれば,Arduino IDEを使ってコンパイルできるようになる.
純粋なarduinoについての設定は,/usr/share/arduino/hardware/arduino/avr/の中でされている. ユーザー独自の環境を作るときには,~/Arduino/hardware/wch/001/などを作って,そこに似たような構造のファイルを配置すれば良い. そこに,AlexanderManderaさんやUIAPduinoやch55xduinoのファイルを参考にして作ったファイルを配置して,最新のch32funを組み込んで,blink.inoのコンパイルはできるところまではできた. 書き込んで見ると,delayの時間が1/8ぐらいになっている気がするけど,まあいいか. 後でソースを少しずつ読み解いて,原因を調べよう.
rv003usbも組み込めないかなと思って, ~/Arduino/hardware/wch/001/librariesにrv003usb関係のファイルを入れたら,多少の進展はあったが,エラーが出てしまう. rv003usb.Sの処理のところで,うまく他のファイルを参照することが出来ていないようだが,もう少しいじれば,なんとかなりそうな気がする. 時間が出来たら,ch32funやarduinoの設定を検証して,また挑戦してみよう.