I see that the closest ARM support is for Arduino Due’s SAM3X8E but will FastLED will compile/work for a SAME70 ARM Cortex-M7 in Atmel Studio 6?
Unlikely. While FastLED supports multiple arm platforms (Freescale kl20 & k26, atmel’s sam3x8e and d21, nordic’s nrf51822, the spark core’s stm32, and a few others in the pipeline), it isn’t just about the instruction set.
FastLED gets its performance because it talks directly to the IO registers for peripherals (gpio for pins, spi and uart hardware for spi output, clocks, etc…). The specifics of what this looks like can vary wildly even between chipsets from the same manufacturer - and sometimes even just a slightly newer version of a chip will come with significant changes to the IO registers and configuration.
So, to support a new arm platform a bunch of pieces need to be ported/updated - the pin access, spi hardware access, etc…
Right now the backlog of what I have/want to add support for is long enough that I’m not adding anything to that list (at least for 2015) unless a) it’s an arm chipset being used in a board being developed by arduino.cc or pjrc, b) someone pays me the $2-6k for the time it takes to spin up and test a new platform (and bumping other things off the list), or c) the hardware is compelling enough that I’m going to use it in my next project/build.
Cortex-M7 might present some special challenges for highly optimized libraries, due to its much more complex bus structure. With M0+, M3 and M4, I’ve been pretty lax about using the special ARM memory barrier instructions, because they don’t actually do anything. I’m pretty sure everyone else has too. For now, I’m skipping M7… until the next generation of chips appears in 2017. But I do have my eye on these upcoming issues.
Thanks for all the info! The performance / portability relationship is interesting. I’ll stick with existing support for now and look forward to 300MHz+ down the road.