C on the teensy 3.1
An example of writing pure c on the teensy 3.1.
You will need the C compiler, linker and objcopy from the arm-none-eabi toolkit:
You can get them from packge
arm-none-eabi-gcc on archlinux or
gcc-arm-none-eabi on ubuntu. Otherwise you can get it from CodeSourcery or from your arduino install at
You will also need the teensy-loader or teensy-loader-cli which you can get here
The linker script tells the linker where to place the various bits of code. For more details see this tutorial
A minimal example of the C code needed to drive the led on a teensy 3.1. It only initlises parts of the arm chip that are needed to blink the led in order to make it easier to understand. For a more complete example see the the example by karl lunt.
Compile and upload
To compile and upload to the teensy run:
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -nostdlib -c -o blink.o blink.c arm-none-eabi-ld -T layout.ld -o blink.elf blink.o arm-none-eabi-objcopy -O ihex -R .eeprom blink.elf blink.hex echo "Reset teensy now" teensy-loader-cli -w --mcu=mk20dx256 blink.hex