micropython/teensy
Damien George 4ec803a42a all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros. 2017-08-21 21:34:23 +10:00
..
core Add core files and use same toolchain as stmhal 2014-07-14 22:48:22 -07:00
memzip_files teensy: Fix execution of frozen boot.py and main.py 2016-08-22 12:31:33 +10:00
Makefile all: Make use of $(TOP) variable in Makefiles, instead of "..". 2017-08-11 12:22:19 +10:00
README.md docs,teensy: Use the name MicroPython consistently in documentation 2017-07-15 11:44:32 +02:00
add-memzip.sh Added memzip filesystem support for teensy 2014-01-11 16:16:20 -08:00
hal_ftm.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
hal_ftm.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
hal_gpio.c Add Timer support (PWM, OC, IC) for stmhal and teensy 2014-09-19 09:26:13 -07:00
help.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
lcd.c teensy: Prefix includes with py/; remove need for -I../py. 2015-01-01 21:13:30 +00:00
led.c all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros. 2017-08-21 21:34:23 +10:00
led.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
lexerfrozen.c teensy/lexerfrozen: Make mp_lexer_new_from_file raise an exception. 2017-03-14 11:52:05 +11:00
lexermemzip.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
main.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
make-pins.py all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros. 2017-08-21 21:34:23 +10:00
mk20dx256.ld Updated teensy to build. 2014-06-15 22:48:05 -07:00
mk20dx256_af.csv Add Timer support (PWM, OC, IC) for stmhal and teensy 2014-09-19 09:26:13 -07:00
mk20dx256_prefix.c teensy: Prefix includes with py/; remove need for -I../py. 2015-01-01 21:13:30 +00:00
modpyb.c all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros. 2017-08-21 21:34:23 +10:00
mpconfigport.h all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros. 2017-08-21 21:34:23 +10:00
pin_defs_teensy.c all: Add py/mphal.h and use it in all ports. 2015-10-31 19:14:30 +03:00
pin_defs_teensy.h Add Timer support (PWM, OC, IC) for stmhal and teensy 2014-09-19 09:26:13 -07:00
qstrdefsport.h py: Add rules for automated extraction of qstrs from sources. 2016-04-16 13:18:09 +01:00
reg.c teensy: Prefix includes with py/; remove need for -I../py. 2015-01-01 21:13:30 +00:00
reg.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
servo.c all: Raise exceptions via mp_raise_XXX 2017-08-13 22:52:33 +10:00
servo.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
std.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00
teensy_hal.c all: Raise exceptions via mp_raise_XXX 2017-08-13 22:52:33 +10:00
teensy_hal.h teensy: Provide dummy implementation of extint_register_pin. 2017-06-15 17:42:18 +10:00
teensy_pins.csv Add Timer support (PWM, OC, IC) for stmhal and teensy 2014-09-19 09:26:13 -07:00
timer.c all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros. 2017-08-21 21:34:23 +10:00
timer.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
uart.c all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros. 2017-08-21 21:34:23 +10:00
usb.c teensy: Prefix includes with py/; remove need for -I../py. 2015-01-01 21:13:30 +00:00
usb.h all: Unify header guard usage. 2017-07-18 11:57:39 +10:00

README.md

Build Instructions for Teensy 3.1

Currently the Teensy 3.1 port of MicroPython builds under Linux and not under Windows.

The tool chain required for the build can be found at https://launchpad.net/gcc-arm-embedded.

Download the current Linux *.tar.bz2 file. Instructions regarding unpacking the file and moving it to the correct location as well as adding the extracted folders to the enviroment variable can be found at http://eliaselectronics.com/stm32f4-tutorials/setting-up-the-stm32f4-arm-development-toolchain/

In order to download the firmware image to the teensy, you'll need to use the downloader included with TeensyDuino. The following assumes that you have TeensyDuino installed and set the ARDUINO environment variable pointing to the where Arduino with TeensyDuino is installed.

cd teensy
ARDUINO=~/arduino-1.0.5 make

To upload MicroPython to the Teensy 3.1.

Press the Program button on the Teensy 3.1

sudo ARDUINO=~/arduino-1.0.5/ make deploy

Currently, the Python prompt is through the USB serial interface, i.e.

minicom -D /dev/ttyACM0

TIPS

Install 49-teensy.rules into /etc/udev/rules.d

If you install the 49-teensy.rules file from http://www.pjrc.com/teensy/49-teensy.rules into your /etc/udev/rules.d folder then you won't need to use sudo:

sudo cp ~/Downloads/49-teensy.rules /etc/udev/rules.d
sudo udevadm control --reload-rules

Unplug and replug the teensy board, and then you can use: ARDUINO=~/arduino-1.0.5/ make deploy

Create a GNUmakefile to hold your ARDUINO setting.

Create a file call GNUmakefile (note the lowercase m) in the teensy folder with the following contents:

$(info Executing GNUmakefile)

ARDUINO=${HOME}/arduino-1.0.5
$(info ARDUINO=${ARDUINO})

include Makefile

GNUmakefile is not checked into the source code control system, so it will retain your settings when updating your source tree. You can also add additional Makefile customizations this way.

Tips for OSX

Set the ARDUINO environment variable to the location where Arduino with TeensyDuino is installed.

export ARDUINO=~/Downloads/Arduino.app/Contents/Java/

Search /dev/ for USB port name, which will be cu.usbmodem followed by a few numbers. The name of the port maybe different depending on the version of OSX. To access the Python prompt type:

screen <devicename> 115200