Teensy 3.2/3.6 + FreeRTOS

Status
Not open for further replies.

aburnight

New member
Background: I am a student working on an audio based RTOS independent study project with FreeRTOS and Teensy 3.2/3.6. I am a teacher's assistant for Embedded Systems so I have a fair amount of experience with microcontrollers but lack in depth knowledge on debugger configurations, bootloaders, linkers, and compilers.

Development Environment:
Preferably Mac, otherwise access to Linux or Windows. Minimal cost for packages.

Issues:
So far (on Mac), I have been able to use the Teensy loader and the Arduino IDE (v 1.6.9) to compile and load programs to either the Teensy 3.2 or 3.6. I have not been able to successfully integrate the FreeRTOS arduino library (v 8.2.3-18). When I attempt to load a program I get a list of assembly directive errors that I have deduced are a compatibility issue. Am I able to integrate FreeRTOS through the Arduino library with my Teensy?

Since I was unable to get that working, I began utilizing the Kinetis Design Studio (v 3.2.0) and the Kinetis SDK (v 2.0 -- downloaded custom from NXP to include MK66FXxxx18) with Eclipse C/C++ Neon.2. I am able to create a processor specific project (unable to use Processor Expert with the custom SDK) that generates the proper dependencies except for the structure of the board files. I copied board specific files from an existing demo, built the project and loaded the hex file with the Teensy loader. Is this a feasible manner to approach this project?

So far I have used the below code to simply toggle the onboard LED, however an oscilloscope shows no signal from any pin. I am wondering if this is caused by some configuration error such as compiler setting or the board files.

initialized as output using:
GPIO_PinInit(GPIOC, 5U, &LED_config); --> LED_config = { kGPIO_DigitalOutput, 1};
toggled on and off with a NOP loop using:
GPIO_WritePinOutpu(GPIOC, 5U, 1U);


I have been doing much research but am lost for the next direction. Thank you in advanced for your help.
 
Apparently, that FreeRTOS library for Arduino is NOT made to support the KINETIS K20/K66 processors used for Teensy 3.2/3.6 natively. You'd have to analyze the compiler errors and to adapt or fix that library to run with that Teensy (not Arduino) specific hardware.

If you aren't bound to FreeRTOS, there is a forum member here who is currently porting the (in his words often twice as fast) ChibiOS/RT, another RTOS to the Teensy 3.6. More info here: https://forum.pjrc.com/threads/41781-CMSIS-problems?p=131917&viewfull=1#post131917

Edit: The same forum member (Bill Greimann) has ported FreeRTOS for Teensy, too: https://forum.pjrc.com/threads/26411-FreeRTOS-8-0-1-for-Teensy-3-x-Due-and-AVR-boards

Note to self: The search function of this forum is your friend! :)
 
Last edited:
Using Kinetis Design Studio

I am required to use FreeRTOS. I'm more curious if I can use the above specified approach with the Kinetis Design Studio. I did see that thread previously, however with the project specifications was first trying to develop in C first.

Apparently, that FreeRTOS library for Arduino is NOT made to support the KINETIS K20/K66 processors used for Teensy 3.2/3.6 natively. You'd have to analyze the compiler errors and to adapt or fix that library to run with that Teensy (not Arduino) specific hardware.

If you aren't bound to FreeRTOS, there is a forum member here who is currently porting the (in his words often twice as fast) ChibiOS/RT, another RTOS to the Teensy 3.6. More info here: https://forum.pjrc.com/threads/41781-CMSIS-problems?p=131917&viewfull=1#post131917

Edit: The same forum member (Bill Greimann) has ported FreeRTOS for Teensy, too: https://forum.pjrc.com/threads/26411-FreeRTOS-8-0-1-for-Teensy-3-x-Due-and-AVR-boards

Note to self: The search function of this forum is your friend! :)
 
Status
Not open for further replies.
Back
Top