Teensy4.0にCircuitPythonをインストールする
2020/3/31
2020/3/16+
Teensy4.0 CircuitPython Install
Teensy4.0 CircuitPython Install
概要
Teensy4.0にCircuitPythonをインストールする方法について記載する。 (ホストPCとしてはubuntuを想定している)
事前準備
(1)Teensyの書き込みツールのインストール
mkdir teensy_tools
cd teensy_tools
git clone https://github.com/PaulStoffregen/teensy_loader_cli.git
cd teensy_loader_cli
make
# set up path
export PATH=$PATH:$HOME/teensy_tools/teensy_loader_cli
(2)ampyのインストール
AMPY_PORTは、自分の環境に合わせる。
pip install adafruit-ampy
export AMPY_PORT=/dev/ttyACM0
export AMPY_BAUD=115200
(3)picocomのインストール
sudo apt-get install picocom
(4)コンパイラのバージョンアップ
以下でインストールしたコンパイラが古いのでバージョンアップする。
sudo apt-get install gcc-arm-none-eabi
(1)以下のurlから最新版をダウンロードする:
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
解凍したものを以下のフォルダに置く:
$HOME/Downloads/gcc-arm-none-eabi-8-2019-q3-update
(2)パス設定
#古いコンパイラを削除する
sudo apt-get remove gcc-arm-none-eabi
#パスを設定する
export PATH=$PATH:$HOME/Downloads/gcc-arm-none-eabi-8-2019-q3-update/bin
以上のうち、exportしているものは、.bashrcに登録することを勧める。
ビルド手順
以下の手順で行なう:
mkdir mp_cpy
cd mp_cpy
git clone https://github.com/adafruit/circuitpython.git
cd circuitpython
git submodule sync
git submodule update --init
git submodule update --recursive
make -C mpy-cross
cd ports/mimxrt10xx
make clean BOARD=teensy40
make BOARD=teensy40
# 以上の手順で、 ./build-teensy40/firmware.hex が生成される
書き込み手順
上でビルドしたhexを以下の手順で書き込む:
teensy_loader_cli -v --mcu=imxrt1062 -w ./build-teensy40/firmware.hex
# push bottom on board to upload hex
# 上のコマンドを実行したら、直ぐにボードのボタンを押す。
書き込んだプログラムが実行されると、USBストレージとして、CIRCUITPYが現れる。
動作確認(REPL)
picocomを使いボードとシリアルで通信する。
以下、通信例:
$ picocom /dev/ttyACM0 -b115200
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 5.0.0-87-g3a5f79a on 2020-03-16; Teensy 4.0 with IMXRT1062DVJ6A
>>> import os
>>> os.uname()
(sysname='mimxrt10xx', nodename='mimxrt10xx', release='5.0.0', version='5.0.0-87-g3a5f79a on 2020-03-16', machine='Teensy 4.0 with IMXRT1062DVJ6A')
>>> import gc
>>> gc.collect()
>>> gc.mem_free()
945792
>>> list(5 * x + y for x in range(10) for y in [4, 2, 1])
[4, 2, 1, 9, 7, 6, 14, 12, 11, 19, 17, 16, 24, 22, 21, 29, 27, 26, 34, 32, 31, 39, 37, 36, 44, 42, 41, 49, 47, 46]
>>>
>>> help('modules')
__main__ collections microcontroller supervisor
_os digitalio micropython sys
_pixelbuf displayio neopixel_write terminalio
_time errno os time
analogio fontio pulseio touchio
array gamepad random ulab
bitbangio gc re usb_hid
board io rtc usb_midi
builtins json storage
busio math struct
Plus any modules on the filesystem
>>>
スクリプト実行
blink.py
import board
import digitalio
import time
led = digitalio.DigitalInOut(board.D13)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = True
time.sleep(0.1)
led.value = False
time.sleep(0.1)
ストレージのCIRCUITPYに上のblink.pyを書き込み REPLで以下を実行すると該当のプログラムが実行される。
import blink
CIRCUITPY上のcode.pyは、電源オン時またはREPLのCtrl-D押下時に、自動実行される。
Adafruit_CircuitPython_Bundleのモジュールのインストール方法
# ホストPC上(CircuitPythonボードが接続されている前提)
# パス設定
export CPY_LIB=$HOME/.local/lib/python3.5/site-packages
# 上の「python3.5」の部分は、自分の使用している(ホストPCの)python3のバージョンに合わせる
export CPY=/media/$USER/CIRCUITPY
# MODULEというモジュールをインストールする場合、以下を実行する:
pip3 install adafruit-circuitpython-MODULE
# CircuitPython上でimportする場合のスクリプト
import adafruit_MODULE
# ダッシュ(-)とアンダースコア(_)の使い分けに注意すること
# モジュールのCircuitPythonボードへのコピー(インストール)
cp $CPY_LIB/adafruit_MODULE.py $CPY/lib/
# 具体例:
pip3 install adafruit-circuitpython-mpl115a2
cp $CPY_LIB/adafruit_mpl115a2.py $CPY/lib/
参照URL
Teensy Loader - Command Line Version
Build CircuitPython
Adding Frozen Modules
Adafruit CircuitPython API Reference(v4.x)
CircuitPython Essentials
Example Code
以上
| 固定リンク
« NUCLEO-F446REにMicropythonをインストールする(v2) | トップページ | Turtorial Examples for CircuitPython(Teensy4.0) »
「linux」カテゴリの記事
- platfomioを使ってnaitive(linux/windows)のプログラムをビルドする方法(2021.03.10)
- micro:bit Yotta開発ツール(linux版)(2021.01.09)
- PlatformIOをRaspberryPi4で動かしてみる(実験)(2020.10.20)
- headless RaspberryPiインストール方法(v2)(2020.10.20)
- wio-terminalのファームウェア・アップデートについて(linux版)(2020.10.15)
「MicroPython」カテゴリの記事
- microbit-v2にMicropythonをインストールする(2021.05.06)
- PicoボードのMicroPythonをVS_CodeのextensionのPico-Goでプログラミングする(2021.02.10)
- MicroPython/CircuitPython Performance Test(2021.02.07)
- PicoボードにMicropython/CircuitPythonをインストールする(2021.02.03)
- MicroPython(F767ZI) Network Samples(2021.01.03)
「CircuitPython」カテゴリの記事
- MicroPython/CircuitPython Performance Test(2021.02.07)
- PicoボードにMicropython/CircuitPythonをインストールする(2021.02.03)
- XIAOでMPL3115A2(気圧・高度・気温センサ)を使用する(CircuitPython版)(2020.07.02)
- XIAOでMCP9808(温度センサ)を使用する(CircuitPython版)(2020.07.02)
- XIAOにCircuitPythonをインストールする(2020.06.09)
この記事へのコメントは終了しました。
コメント