Bill Greiman
Well-known member
There are scraps of CMSIS V3 in the Teensy IDE that make it extremely difficult for me to use Teensy 3.6.
I wrote a new library for exFat/FAT32/FAT16 a while back. I did a little testing on Teensy 3.6 then tried to port ChibiOS/RT to Teensy 3.6. I finally gave up.
Today I decided to try again with Teensy 1.35.
The bits of CMSIS in Teensy3 are an incomplete early version V3. ChibiOS/RT and other parts of my software need V4 and will soon use V5.
Even the simplest things fail.
When I try to use newer versions of CMSIS I get failures since the CMSIS has been refactored plus a few of the old bits are needed for teensy or are in non-standard files.
It's not just a few cases like this - I get about a 1,000 lines of errors with the latest version of ChibiOS/RT.
So I am giving up on Teensy 3.xx.
I wrote a new library for exFat/FAT32/FAT16 a while back. I did a little testing on Teensy 3.6 then tried to port ChibiOS/RT to Teensy 3.6. I finally gave up.
Today I decided to try again with Teensy 1.35.
The bits of CMSIS in Teensy3 are an incomplete early version V3. ChibiOS/RT and other parts of my software need V4 and will soon use V5.
Even the simplest things fail.
Code:
#include "core_cm4.h"
void setup() {
}
void loop() {
}
Code:
Arduino: 1.8.1 (Windows 10), TD: 1.35, Board: "Teensy 3.6, Serial, 180 MHz, Fast, US English"
In file included from C:\Users\bill\Documents\ArduinoSdFs\junk\junk.ino:1:0:
D:\Teensy\teensy135\hardware\teensy\avr\cores\teensy3/core_cm4.h:155:95: fatal error: core_cmFunc.h: No such file or directory
#include <core_cmFunc.h> /* Core Function Access */
^
compilation terminated.
Error compiling for board Teensy 3.6.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
When I try to use newer versions of CMSIS I get failures since the CMSIS has been refactored plus a few of the old bits are needed for teensy or are in non-standard files.
Code:
// In kinetis.h
#define __enable_irq() __asm__ volatile("CPSIE i":::"memory");
// In cmsis_gcc.h
__attribute__( ( always_inline ) ) __STATIC_INLINE void __enable_irq(void)
{
__ASM volatile ("cpsie i" : : : "memory");
}
It's not just a few cases like this - I get about a 1,000 lines of errors with the latest version of ChibiOS/RT.
So I am giving up on Teensy 3.xx.