Teensy 3.0

Hi,
I assume that most of us will use fixed point maths, but for those that have a reason to use float and double, is there an alternative implementation that can be included at compile time or some other work around that provide more recent and faster implementations ?

Duane B

rcarduino.blogspot.com

avr-gcc has floating point algorithms that have been carefully optimized for the AVR architecture.
arm-gcc using newlib presumably has generic algorithms...

Thanks to Paul's help, I have first results for SdFat with large reads and writes.

Writes are slow since I am not using the full TX fifo yet.

Here are results for 4096 byte writes and reads using the SdFat bench.ino example.

Type is FAT16
File size 5MB
Buffer size 4096 bytes
Starting write test. Please wait up to a minute
Write 723.07 KB/sec
Maximum latency: 21609 usec, Minimum Latency: 4929 usec, Avg Latency: 5625 usec

Starting read test. Please wait up to a minute
Read 1255.56 KB/sec
Maximum latency: 3874 usec, Minimum Latency: 3204 usec, Avg Latency: 3260 usec

I think I know how to speedup writes by using all four bytes of the SPI fifo.

DMA may be required to achieve maximum speed since using the fifo has a bit more overhead than I first assumed.

fat16lib
I don't know much about sdcards and read and write speeds but those read figures look impressive to me. :astonished:
Best regards
Jantje

Jantje:
What does the S in sin.S stand for? I googled it but it is to close to sin to find something relevant quickly.

The GCC compiler passes .S files through the C preprocessor, so that you can use #ifdef and #define within assembly files (because of the #ifdef, you can have one .S file that has code for several different targets, and the defines are set based on the -m options on the command line). If the file is .s (lowercase), it is passed directly to the assembler and does not go through the preprocessor.

Teensy 3.0 is great. The hardware is a little gem and the way Paul did the software makes development really easy.

I now have optimized native SPI running in programmed I/O mode and performance is really good. Here are my latest results for SdFat.

Free RAM: 4219
Type is FAT16
File size 10MB
Buffer size 8192 bytes
Starting write test. Please wait up to a minute
Write 1801.74 KB/sec
Maximum latency: 80495 usec, Minimum Latency: 4398 usec, Avg Latency: 4543 usec

Starting read test. Please wait up to a minute
Read 2017.82 KB/sec
Maximum latency: 4473 usec, Minimum Latency: 4048 usec, Avg Latency: 4057 usec

This is with the CPU overclocked at 96 MHz. I used an industrial SD designed for embedded use.

Great board.

Is there any news when we get buy one? Are there any European distributors stocking it?

Is there any news when we get buy one? Are there any European distributors stocking it?

It's in stock in the Netherlands now.

http://www.pieterfloris.nl/shop/category.php?id_category=45

Soon it'll be in stock in Germany...

http://www.hitechstore.de/produkte/3/

Ordered.

Paul, feel free to ignore my earlier pm about UPS shipping rates from US to Europe. ]:smiley:

Thanks Paul, ordering one now.

Hi,
Mine arrived in Dubai last night

Looking forward to trying some of the RCArduino projects on the board.

Duane B

rcarduino.blogspot.com

Ordered one just now! Didn't get in on the KS in time, but now I can be one of the cool kids with a teensy 3.0. :grin:

Looking forward to trying out the new SdFat16, and having a play with Paul's new development environment. BTW, Paul, thanks so much for providing the makefiles! Really appreciated by this recalcitrant emacs/command line tools user. Icing on the cake!

Can the Teensy 3.0 USB interface be used to obtain a higher data acquisition rate than is possible with the serial interface? If yes, could you provide one or more links to help me get started in the right direction?

Thank you for your sharing your expertise.

Howard

Perhaps the words "obtain a higher data acquisition rate" are meaningful in the context of some specific project? Certainly the USB virtual serial is MUCH faster than ordinary serial.

This post has results of USB speed testing I did. Maybe this is the sort of info you're asking about?

http://www.kickstarter.com/projects/paulstoffregen/teensy-30-32-bit-arm-cortex-m4-usable-in-arduino-a/posts/317933

BTW, Paul, the page

http://www.pjrc.com/store/teensy3.html

isn't navigable from the pjrc.com home page, you have to go to it directly (I picked up the link from the KS page).

Perhaps this is intentional to limit orders until you can restock, but just in case it had fallen through the cracks, I thought I'd mention it.

pico:
BTW, Paul, the page

PJRC Store

isn't navigable from the pjrc.com home page, you have to go to it directly (I picked up the link from the KS page).

Same for
http://www.pjrc.com/store/teensy3_pins.html

I have posted a version of SdFat that supports Teensy 3.0 as SdFatBeta20121020.zip http://code.google.com/p/beta-lib/downloads/list

I recommend using an industrial SD like this one http://www.newegg.com/Product/Product.aspx?Item=9SIA12K0CT6829

I ran the SdFat bench.ino example with this card at 96 MHz. I used the following defines for the test:

#define FILE_SIZE_MB 10
#define FILE_SIZE (1000000UL*FILE_SIZE_MB)
#define BUF_SIZE 8192

Here is the result of the test with this low cost 1GB ATP card:

Free RAM: 4207
Type is FAT16
File size 10MB
Buffer size 8192 bytes
Starting write test. Please wait up to a minute
Write 1934.99 KB/sec
Maximum latency: 11333 usec, Minimum Latency: 4144 usec, Avg Latency: 4228 usec

Starting read test. Please wait up to a minute
Read 2111.61 KB/sec
Maximum latency: 4220 usec, Minimum Latency: 3870 usec, Avg Latency: 3877 usec

I see that Alpha-Crucis in France has Teensy 3.0 (with pins) listed as a new product, at 28,75 € TTC (which means 'including tax'). Although they haven't translated the info into French yet.

I recommend using an industrial SD like this one http://www.newegg.com/Product/Product.aspx?Item=9SIA12K0CT6829

I'm curious what the term "industrial SD" means. I gather this is not SDHC, but is there something specific about this particular SD card that makes it better for use with Arduino and sdfat ?

Industrial-grade cards are made to endure severe operating conditions such as high impact, continuous vibration, low and/or high operating temperature. These cards are durable and can last intensive reads/writes. Certain cards are even made to be moisture-resistant. Consumer-grade memory cards are not as durable. For most of the industrial applications which normally require intensive I/O cycles, the consumer-grade cards tend to fail prematurely.

reliable storage of 2,000,000 write/erase cycles and 10-year data retention,
Industrial Grade Rugged Solid-State Secure Digital (SD) Cards for Industrial Applications