arm-none-eabi-gccとボードのライブラリを準備する。
必要なもの(GCC)
- Teensy 4.x本体。
- ARMコンパイラ。
- GNU Tools for ARM Embedded Processorsからgccをダウンロードし展開。
- https://developer.arm.com/open-source/gnu-toolchain
- GNU Tools for ARM Embedded Processorsからgccをダウンロードし展開。
- Teensyの場合はarm_cortexM7lfsp_math.aをダウンロードし、arm-none-eabi/libにコピー。
- それぞれのボードのライブラリ。Teensyの場合はここ。
- makeで開発できるテンプレートを使用すると楽。ここからダウンロード。
- tools以下にダウンロードしたgccを置く。
- src以下にmain.cppを書く。サンプルは以下の通り。
- makeで開発できるテンプレートを使用すると楽。ここからダウンロード。
// ©2017 Yuichiro Nakada
#include "WProgram.h"
void setup()
{
pinMode(13, OUTPUT);
analogWriteResolution(8); // 8bit/Resolution
}
void loop()
{
if (usb_audio_receive_buffer[0]<0x7fff) digitalWriteFast(13, LOW);
else digitalWriteFast(13, HIGH);
analogWrite(9, 50);
}
extern "C" int main()
{
setup();
while (1) {
loop();
yield();
}
}
必要なもの(SEGGER)
- Teensy 4.x本体。
- ARMコンパイラ。
- Embedded Studio for ARMからダウンロードし展開。
- 展開したフォルダで「./install_segger_embedded_studio –copy-files-to .」を実行。
- makeで開発できるテンプレートを準備。ここからダウンロード。
- 先程展開した/bin/segger-ccを/tools/arm-segger/binにコピー。
- 先程展開した/includeを/tools/arm-segger/includeにコピー。
- teensy4.mini以下にmain.cを書く。サンプルは以下の通り。
- make uploadを実行。
// ©2020 Yuichiro Nakada
#include "WProgram.h"
int main()
{
pinMode(13, OUTPUT);
digitalWriteFast(13, HIGH);
while (1) {
//Serial.println("Hello World...");
// usb_seremu_write("Hello World...\n\r", 16);
digitalWriteFast(13, HIGH);
delay(500);
digitalWriteFast(13, LOW);
delay(500);
}
}