Hi All-
Been enjoying both a teensy2.0 and 3.1. The 2.0 was for the original intent of making a smart switch. The 3.1 bought on curiousity...
I've a very small microkernel that has been around for awhile and have succeeded in porting it to the ARM-M4 - teensy3.0/1. First off this involved the normal route of installing the development environments for both the AVR and ARM environment for the teensies. Used the AVR environment in stock fashion, but ripped out enough from the Arduino environment to get a simple makefile environment on Win7. First a working main() - then LED flashing - finally serial hosted USB communication. I outlined this evolution in a .txt file that could be of interest to some here who want to do standalone teensy3.0/1 development...
This of course provided the springboard to porting an existing micro kernel. It's designed to be little more than a dynamic state machine that incorporates being able to get state stimulus from interrupts as well. Its supports a limited number of fixed priority tasks + a background task. Simple deterministic scheduling - simply the highest priority ready task is always running. It was also designed for the even a limited cranium programmer/author to be able to read and figure it out from a mere handful pages of source code. Mostly portable with a detailed glue interface. Some documentation - again just a few pages needed. It is about as simple as you can get...
I did not touch the Arduino code components borrowed. Simply fleshed out the glue code + portable code of the rtos. Wrote a bit of an application that also chronicles quite of a bit of the evolution of the port. The glue code was documented quite a bit - probably easily transferable to bring up another ARM-M environment. Quite tiny if minimully configured - this one has got some generousity allocated to buffers and the like - still weighs in at < 2K each flash and ram. It runs in almost entirely in privileged thread mode (scheduler does not require handler mode) and pretty non-invasive of the interrupt environment. I think it could *easily* be run under the Arduino envirnment, but I have not really used, or know much about the Arduino runtime. Maybe someone else could run better with that one...
I don't have it online at all in any fashion. If interested - I can email a .zip that is everything along with some know how (I think not much) to get it going. Have fun with the teensies. Still amazed at the capabilities for the value -- THANKS!
Steve Speier
Been enjoying both a teensy2.0 and 3.1. The 2.0 was for the original intent of making a smart switch. The 3.1 bought on curiousity...
I've a very small microkernel that has been around for awhile and have succeeded in porting it to the ARM-M4 - teensy3.0/1. First off this involved the normal route of installing the development environments for both the AVR and ARM environment for the teensies. Used the AVR environment in stock fashion, but ripped out enough from the Arduino environment to get a simple makefile environment on Win7. First a working main() - then LED flashing - finally serial hosted USB communication. I outlined this evolution in a .txt file that could be of interest to some here who want to do standalone teensy3.0/1 development...
This of course provided the springboard to porting an existing micro kernel. It's designed to be little more than a dynamic state machine that incorporates being able to get state stimulus from interrupts as well. Its supports a limited number of fixed priority tasks + a background task. Simple deterministic scheduling - simply the highest priority ready task is always running. It was also designed for the even a limited cranium programmer/author to be able to read and figure it out from a mere handful pages of source code. Mostly portable with a detailed glue interface. Some documentation - again just a few pages needed. It is about as simple as you can get...
I did not touch the Arduino code components borrowed. Simply fleshed out the glue code + portable code of the rtos. Wrote a bit of an application that also chronicles quite of a bit of the evolution of the port. The glue code was documented quite a bit - probably easily transferable to bring up another ARM-M environment. Quite tiny if minimully configured - this one has got some generousity allocated to buffers and the like - still weighs in at < 2K each flash and ram. It runs in almost entirely in privileged thread mode (scheduler does not require handler mode) and pretty non-invasive of the interrupt environment. I think it could *easily* be run under the Arduino envirnment, but I have not really used, or know much about the Arduino runtime. Maybe someone else could run better with that one...
I don't have it online at all in any fashion. If interested - I can email a .zip that is everything along with some know how (I think not much) to get it going. Have fun with the teensies. Still amazed at the capabilities for the value -- THANKS!
Steve Speier