« ESP32ボードでTinyGOを動かす(v2) | トップページ | XIAOボードでTinyGOを動かす(Windows10版) »

2020年10月 8日 (木)

Teensy3.6ボードでTinyGOを動かす

2020/10/8:
初版

TinyGO Install Teensy3.6

TinyGO Install Teensy3.6

概要

以下のTeensy3.6ボードでTinyGOを動かす。
tinygo_0.15.0でteensy3.6がサポートされたので、それをインストールして使ってみる。
まだ、実装途上のようで、GPIO,UARTのみのようである。USBシリアル(USB CDC serial port)はサポートされない。
なお、ホストPCとしてはubuntu20.04を想定している。

Teensy 3.6

準備

以下のツールを予めインストールする:
(0)udev設定
以下を実行する:

curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/master/scripts/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules sudo udevadm control --reload-rules sudo usermod -a -G dialout $USER sudo usermod -a -G plugdev $USER

(1)TinyGOのインストール
以下の手順でインストールする:

mkdir tinygo_ws cd tinygo_ws wget https://github.com/tinygo-org/tinygo/releases/download/v0.15.0/tinygo_0.15.0_amd64.deb sudo dpkg -i tinygo_0.15.0_amd64.deb export PATH=$PATH:/usr/local/tinygo/bin # xiaoには不要だが、ターゲットがarduinoのときに # 必要となるツールをついでにインストールする sudo apt-get install gcc-avr sudo apt-get install avr-libc sudo apt-get install avrdude

(2)GOのインストール
TinyGOのモジュールを使用するのにGOが必要なので 予めインストールする。
(ただし、TinyGOとの整合性により最新版ではない)

wget https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.13.7.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin export GOPATH=$HOME/tinygo_ws

なお、GOPATHのパス設定値は、任意だが、それをベースに その配下にTinyGO/GOの関係ファイル/ディレクトリが置かれる。

(3)teensy書き込みツールのインスール
以下の手順でインストールする:

mkdir teensy_loader_cli cd teensy_loader_cli sudo apt-get install libusb-dev wget https://raw.githubusercontent.com/PaulStoffregen/teensy_loader_cli/master/Makefile wget https://raw.githubusercontent.com/PaulStoffregen/teensy_loader_cli/master/teensy_loader_cli.c make sudo cp teensy_loader_cli /usr/bin/

以上のexportは、.bashrcに登録する。

(4)export登録(まとめ)
以下を.bashrcに追加する:

# tinygo/go export PATH=$PATH:/usr/local/go/bin export PATH=$PATH:/usr/local/tinygo/bin export GOPATH=$HOME/tinygo_ws export TIGOLIBS=$GOPATH/src/tinygo.org/x/drivers/

examples/blinky1を動かす

teensy3.6ボードをPCに接続して、以下を実行する:

tinygo flash -size full -target teensy36 examples/blinky1 <省略> (hint: press the reset button) #以上のメッセージが表示されたら、ボードのRESETボタンを押す <省略> Programming........ Booting

コンパイルと書き込み実行が自動的に行われ、ボードのLEDが点滅する。

任意のプログラムを動かす

(1)以下のようにプロジェクト用ディレクトリを作成する:

cd tigo_ws mkdir blink cd blink

(2)プロジェクト(blink)ディレクトリに以下のファイルを作成する:
main.go

package main // This is the most minimal blinky example and should run almost everywhere. import ( "machine" "time" ) func main() { led := machine.LED led.Configure(machine.PinConfig{Mode: machine.PinOutput}) for { led.Low() time.Sleep(time.Millisecond * 100) led.High() time.Sleep(time.Millisecond * 100) } }

(3)ビルド実行
teensy3.6ボードをPCに接続して以下を実行する:

tinygo flash -size full -target teensy36 . <省略> (hint: press the reset button) #以上のメッセージが表示されたら、ボードのRESETボタンを押す <省略> Programming........ Booting

コンパイルと書き込み実行が自動的に行われ、ボードのLEDが点滅する。
(example/blinky1と区別しにくいと思うので、点滅周期を変更して実行してみる)

参考情報

Teenst3.6 Pinout:
https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/teensy36_front.pdf
https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/teensy36_back.pdf

https://github.com/tinygo-org/tinygo
https://tinygo.org/
https://tinygo.org/getting-started/linux/

Seeeduino XIAO用Grove シールド バッテリー管理チップ 搭載

ESP32 and ESP8266 support in TinyGo

コンピュータボードでTinyGOを動かす
docker/TinyGO Helper Script
TinyGOでLightSensorを動かす

TinyGoで始める組み込みプログラミング
TinyGo on Arduino Uno: An Introduction

Circuit Playground Express
Adafruit Circuit Playground Express - Overview
Infrared Receive and Transmit with Circuit Playground Express

Adafruit Circuit Playground Express - PINOUT
Adafruit Circuit Playground Express Pin Assign

NUCLEO-F103RB mbed pinout
NUCLEO-F103RB Pin Assign
STM32F4DISCO Pin Assign
MICROBIT Pin Assign
ARDUINO-NANO Pin Assign
ARDUINO Pin Assign

TinyGo Drivers

USB Flashing Format (UF2)

XIAO Schematic(zip)
How to use Seeeduino XIAO to log in to your Raspberry PI

以上

|

« ESP32ボードでTinyGOを動かす(v2) | トップページ | XIAOボードでTinyGOを動かす(Windows10版) »

linux」カテゴリの記事

TinyGO」カテゴリの記事

ubuntu20.04」カテゴリの記事

Teensy3.6」カテゴリの記事

コメント

この記事へのコメントは終了しました。