LoginSignup
2
1

More than 1 year has passed since last update.

[失敗のち成功]platformioでpic32mx

Last updated at Posted at 2017-01-11

PIC32MXの環境をplatformioに移せるか確認したところ、まだMac OS X用のtoolchainが用意されていないです。

bash-3.2$ platformio run
[Wed Jan 11 22:47:23 2017] Processing pinguino32 (platform: microchippic32, boar
d: pinguino32, framework: arduino)
--------------------------------------------------------------------------------
PlatformManager: Installing microchippic32
Downloading...
Unpacking  [####################################]  100%
microchippic32 @ 1.3.0 has been successfully installed!
The platform 'microchippic32' has been successfully installed!
The rest of packages will be installed automatically depending on your build env
ironment.
PackageManager: Installing framework-arduinomicrochippic32 @ ~1.10301.0
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%
framework-arduinomicrochippic32 @ 1.10301.0 has been successfully installed!
PackageManager: Installing toolchain-microchippic32 @ ~1.40803.0
Error: Could not find a version that satisfies the requirement '~1.40803.0' for 
your system 'darwin_i386'
bash-3.2$ 

platformioは以下のURLからパッケージを探すようです。

ここのtoolchain-microchippic32の中のsystemにdarwin_i386が無いためエラーになるようです。

まだpinguinoに寄生してビルドするしかないようです。

ちなみに私はAVR系はArduino1.06のIDEまたはcliでgccで、PICの8ビットはmplabで32bitはpinguinoのgccで、ESP8266,MSP430はplatformioで、LPCはmbedを使っています。

AVRやEPS8266はgccだけですが、他の環境はいくつかコンパイラーあるケースがあり、混乱しているような気もします。

Platformioのサポートは既存のフレームワークをベースにしているが、PIC32ではPinguinoではなく、chipKITというのを使っているようだ。

2017/3現在Mac OS Xの雪豹ではESP32,AVRとこのPIC32が使えてません。ESP8266,MSP430,LPC,STM32は使えています。

2018/3 dl.platformio.orgのファイルを手動でダウンロードして.platformio/packages/に展開したところビルドできるようになりました。chipKIT DP32のクローンを使ってdownloadできることを確認しました。

2018/7 修正してくれたようですが、試して動かなくなると痛いので、未確認です。

bash-3.2$ platformio run --target upload
[Fri Mar  9 14:14:56 2018] Processing chipkit_dp32 (platform: microchippic32, bo
ard: chipkit_dp32, framework: arduino)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
Converting main.ino
Collected 28 compatible libraries
Looking for dependencies...
Project does not have dependencies
Compiling .pioenvs/chipkit_dp32/src/main.ino.o
Linking .pioenvs/chipkit_dp32/firmware.elf
Checking program size
text     rodata    data     bss     dec     hex filename
6152        164     216     776    7308    1c8c .pioenvs/chipkit_dp32/firmware.e
lf
Building .pioenvs/chipkit_dp32/firmware.hex
Looking for upload port...
Auto-detected: /dev/cu.usbmodemfd111
Uploading .pioenvs/chipkit_dp32/firmware.hex
Programmer for Microchip PIC32 microcontrollers, Version 2.1.24
Copyright: (C) 2011-2015 Serge Vakulenko
Adapter: STK500v2 Bootloader
Program area: 1d000000-1d1fffff
Processor: Bootloader
Flash memory: 2048 kbytes
Boot memory: 80 kbytes
Data: 6316 bytes
Erase: done
Program flash: ######### done
Verify flash: ######## done
Program rate: 33242 bytes per second
========================= [SUCCESS] Took 4.08 seconds =========================

写真(2018-03-09 15.24).jpg

chipKITはダウンロードモード(USBシリアルとして見える)にするにはボタン操作が必要で、ちょっと面倒です。これはArduinoなどは制御用にシリアルの信号線を2本使っているのですが、chipKITでは使ってないからです。

アップロードツールは以前からあるpic32progでchipKIT用にArduinoと同じプロトコルのSTK500v2を追加したようです。

chipKITはこのモジュールのようにチップ自体がUSBシリアルとして認識できて、ファームをアップロードできるタイプと、別途USBシリアルモジュールを利用してシリアル接続してファームをアップロードするタイプがあるようです。

2018/3現在秋月電子で販売されているPIC32チップでplatformio(chipKIT)でサポートしている物はPIC32MX250F128Bだけのようです。

以前作り込んだsmalltoothとかはに移すのは面倒なので、併用する事になりそうです。

platformioにはplib.hが入っていないので、このヘッダーを使ったソースはそのままではplatformioに移せないようです。

El Capitanにインストールした3.5.4で試したらリンクができずビルド失敗しました。雪豹の方は新しくinitしてもビルドできます。なんかいじったかな。。。 2018/7 直りました

2021/12追記:雪豹のpio3ではビルド&アップロードできますが、El Capitanのpio4ではビルドはできるもののアップロードのパッケージがダウンロードできません。FreeBSDのpio5ではビルドもできません。

2
1
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1