A few questions from a person new to Teensy: 3.1 support in libraries; terms

Status
Not open for further replies.

timbo

Member
Hi,
It's been suggested that I try Teensy on project to build an adapter to connect a high bandwidth USB device, i.e. Laser,
to wifi wireless, so I can eliminate cables. I've purchased several Teensy 3.1 and I'm quite pleased with it's hardware power and
flexibility. I've completed the basic setup with teensyduino and have experimented with doing some AD conversion. In
order to feel comfortable with something new and not get too far ahead of things, I've been reading all I can about
Teensy 3.1 and have come up with a few questions that remain unanswered. I know they may seem random and
some of you might prefer separate topics for each but it's never easy to please everyone....Here goes:

1) One of the advantages of the Arduino resources is the rich set of examples and libraries. People have contributed and provided a number
special libraries for peripherals. Is the Library list on Library List page, http://www.pjrc.com/teensy/td_libs.html, up to date?
I'm reading conflicting information about this in several places. I would have expected this web page to be updated for Teensy 3.1. For
example, the current page says USB Host Shield library is not supported with Teensy 3.0, but the library itself suggests it does.

2) Where can I find up to date information on how to build code for a Teensy 3.1 outside of Arduino IDE? I've found fragments regarding Makefile
updates but I'm having a hard time following since they were only questions/answers related to this topic.

3) If and when I figure out how to tailor makefile for building outside of Arduino IDE, can I use Arduino libraries or are they only for that
tool chain? If yes, are there any special steps to include or use the arduino built libraries?

4) What options are available for debugging on the Teensy target? I've concluded from all my reading that there are no options for
debugging, except print statements of course.

5) I keep seeing reference to "Teensy 2.0++" what does this mean? What this a product at one point?

In conclusion, I like Teensy but in my R*D shop and for possible integration in my products I need to know there is support and a more mature and complete
tool chain available. The Arduino IDE has it's limits. I need a more full featured IDE with hardware debugging capability (breakpoints, single step, etc),
support for JTAG, etc. But, it doesn't have to be the likes of Keil, etc. Are my expectations of Teensy too high? What can you say about the evolution and
migration of the Teensy platform?
 
Hi,
It's been suggested that I try Teensy on project to build an adapter to connect a high bandwidth USB device, i.e. Laser,
to wifi wireless, so I can eliminate cables. I've purchased several Teensy 3.1 and I'm quite pleased with it's hardware power and
flexibility. I've completed the basic setup with teensyduino and have experimented with doing some AD conversion. In
order to feel comfortable with something new and not get too far ahead of things, I've been reading all I can about
Teensy 3.1 and have come up with a few questions that remain unanswered. I know they may seem random and
some of you might prefer separate topics for each but it's never easy to please everyone....Here goes:

1) One of the advantages of the Arduino resources is the rich set of examples and libraries. People have contributed and provided a number
special libraries for peripherals. Is the Library list on Library List page, http://www.pjrc.com/teensy/td_libs.html, up to date?
I'm reading conflicting information about this in several places. I would have expected this web page to be updated for Teensy 3.1. For
example, the current page says USB Host Shield library is not supported with Teensy 3.0, but the library itself suggests it does.

2) Where can I find up to date information on how to build code for a Teensy 3.1 outside of Arduino IDE? I've found fragments regarding Makefile
updates but I'm having a hard time following since they were only questions/answers related to this topic.

I started with https://github.com/apmorton/teensy-template (which was setup for Teensy 3.0) and modified it for Teensy 3.1. You can find my version here:
https://github.com/dhylands/rover/blob/master/Makefile
https://github.com/dhylands/rover/blob/master/common.mk

3) If and when I figure out how to tailor makefile for building outside of Arduino IDE, can I use Arduino libraries or are they only for that
tool chain? If yes, are there any special steps to include or use the arduino built libraries?

It really depends. Some libraries are reasonably portable. Others are very AVR specific (and since the Teensy 3.x is ARM, the AVR stuff doesn't work).

4) What options are available for debugging on the Teensy target? I've concluded from all my reading that there are no options for
debugging, except print statements of course.

I'm not sure. It appears that the JTAG pins are connected to the MINI54TAN chip (see schematics here: http://www.pjrc.com/teensy/schematic.html)

5) I keep seeing reference to "Teensy 2.0++" what does this mean? What this a product at one point?

I think it may be referring to this:
https://www.pjrc.com/store/teensypp.html

In conclusion, I like Teensy but in my R*D shop and for possible integration in my products I need to know there is support and a more mature and complete
tool chain available. The Arduino IDE has it's limits. I need a more full featured IDE with hardware debugging capability (breakpoints, single step, etc),
support for JTAG, etc. But, it doesn't have to be the likes of Keil, etc. Are my expectations of Teensy too high? What can you say about the evolution and
migration of the Teensy platform?
 
Other IDEs - some emerging, some work but aren't easy to bring up. Most of these have been discuss in this forum.
Eclipse plugin for Arduino/Teensy
Microsoft Visual Studio plugin plugin for Arduino/Teensy (Visual Micro)
Code::Blocks and emBlocks
Qt, used for C/C++ coding for Makefile based Teensy target.
Makefiles used with other editors

Here are two different links, of many
http://forum.pjrc.com/threads/24861-Teensy-3-1-without-arduino-IDE?highlight=ide+alternatives
http://forum.pjrc.com/threads/1474-Anyone-using-Eclipse-for-development?highlight=ide+alternatives
 
Today the Arduino IDE is the only mature development path for Teensy 3.1.

If you wander off this well-worn path, there certainly are several other options as Steve mentioned. None of them are as well documented or smooth sailing as using the Arduino IDE with Teensyduino add-on.
 
4) What options are available for debugging on the Teensy target? I've concluded from all my reading that there are no options for
debugging, except print statements of course.

I need a more full featured IDE with hardware debugging capability (breakpoints, single step, etc),
support for JTAG, etc. But, it doesn't have to be the likes of Keil, etc. Are my expectations of Teensy too high? What can you say about the evolution and
migration of the Teensy platform?

There is no hardware debug on the Teensy. It is IMO the biggest deficiency in the product. If you do require hardware debug I would suggest taking a look at the LCPXpresso boards, like this one: http://www.embeddedartists.com/products/lpcxpresso/lpc1769_xpr.php

There is also Galago: http://logiblock.com/ but I can never tell if that is a selling product or still in some kind of Kickstarter state (also spec-wise its code/ram space is inferior to the Teensy 3.1)


In conclusion, I like Teensy but in my R*D shop and for possible integration in my products I need to know there is support and a more mature and complete
tool chain available. The Arduino IDE has it's limits.

As far as I've seen the support on Teensy is very good. As far as IDE what a lot of people do is use Arduino as a compile & upload tool, and do all their editing in a more powerful IDE. I use Eclipse with the ARM plugin. Eclipse can (through methods outlined in other threads) directly call the Teensyduino uploader, so it is not necessary to use Arduino (although you still do need the Arduino+Teensyduino install because that has the compiler toolchain).
 
Visual Micro (plugin for Visual Studio), IMO, is viable for teensy 2 and 3, in terms of being able to get it to run. If you don't own Visual Studio, you have the personal option of Atmel's free Studio 6.1 + Visual Micro's plugin that supports Teensy 2 and 3 (!).

It would be nice if Eclipse for Teensy 3 would be made viable for the rest of us - IMO it's not now, due to the lack of integration, test, documentation. That way we can cut the cord with Visual Studio.

Visual Micro plugin has debugging breakpoints and trace - kind of like JTAG. What it really does is: In the IDE/editor, you set break/trace points in the code, just as you'd do with, say JTAG based debugging. But after adding break/tracepoints, you must compile/download - because the IDE is really adding code where you put break/trace points (red dots in the margin in the editor). That code can print + continue, pause to let you contemplate, count and continue, compute something and display, etc. It does affect code size a bit, but it's pretty effective and a good trade-off for use with a $20 micro and no $300 JTAC or debug-wire gizmo. With this, you can disable/delete breakpoints without recompiling, but to add, you must compile/download. That's like 5 seconds or so with the USB link in the Teensy's.

Code::Blocks is very close. Someone with skills/interest and a few hours could make teensy 3 work with it.

I've used JTAG (J-link) debugging on ARM7's with IAR for years and it's very nice in a professional setting, for improved productivity. But Teensy and Arduinos aren't in that realm, which is great.
 
Last edited:
Thanks for the responses. I hope it's becoming evident from this and other posts that there's interest in having a more full-featured IDE/tool chain and hardware debug options. The Eclipse Arduino IDE holds a lot of promise for me, especially since I've spent a lot of time in front of TI's Code Composer Studio--it's Eclipse based as well.

Thanks
 
I suggest using Visual Micro w/Atmel Studio 6 (freeware).
You can get it running in a half hour.
There a low cost option in it for a debugger with breakpoints (it's software, not JTAG).

Eclipse for Teensy 3 which requires Arduino 1.0.5 (one rev back), is too hard to get to work by trial and error at this time. It works OK for Teensy 2 and a newer Arduino.
that said, maybe you'll luck out getting it to work with Teensy 3.
 
Other IDEs - some emerging, some work but aren't easy to bring up. Most of these have been discuss in this forum.
Eclipse plugin for Arduino/Teensy
Microsoft Visual Studio plugin plugin for Arduino/Teensy (Visual Micro)
Code::Blocks and emBlocks
Qt, used for C/C++ coding for Makefile based Teensy target.
Makefiles used with other editors

Here are two different links, of many
http://forum.pjrc.com/threads/24861-Teensy-3-1-without-arduino-IDE?highlight=ide+alternatives
http://forum.pjrc.com/threads/1474-Anyone-using-Eclipse-for-development?highlight=ide+alternatives

...and embedXcode for Xcode on Mac OS X
 
Status
Not open for further replies.
Back
Top