My arm gcc (Version 4.7.3) doesn’t seem to like the way FreeRTOS does ISR functions and throws the following error:
rtcISR.c: In function ‘rtcISR’:
rtcISR.c:66:7: error: local frame unavailable (naked function?)
rtcISR.c:66: confused by earlier errors, bailing out
make[1]: *** [rtcISR.o] Error 1
What build instructions are you referring to? The only thing I see is a readme.txt which very minimal and talks about running .bat files. I’m using Linux.
However, looking at the .bat files I see that there needs to be some environment variables defined. If I define some it works. So my bad for not a deep enough inspection, however, I think its a bug type ‘make’ and not have either:
Some defaults defined.
Throw an explicit error indicating the proper variables have not been defined.
Start with the quick start guide, it will tell you how to find the instructions to build the code, if you don’t want to read the readme file that is placed next to the makefile in the directory itself:
GCC has never handled interrupt entry in ARM very well, various different versions have contained various different bugs, and over the years all the mixing of C and ASM on interrupt entry was removed from the code.
From your initial post it sounds like they have given up trying to support it at all now, and just throw you out if you attempt use C code there - probably as most focus is on Cortex support in GCC now.
if you don’t want to read the readme file that is placed next to the makefile in the directory itself:
That’s my point. I did read the readme that is placed next to the makefile. It consists of 8 short lines that say run 1 of 4 .bat files. Nothing is mentioned about needing to do anything for Linux.
There are no corresponding shell script(s) for Linux. Barring any information stating otherwise as a Linux developer I expect type ‘make’ and have the makefile sort it out or if I saw a ‘configure’ script I would assume autotools is going to run.
I also took a quick look at the makefile which at a cursory inspection seems to be a self contained makefile.
You are looking at one of the original examples. It is very old and originally FreeRTOS was made available as an option for use on windows hosts as all the other open source RTOS out their were just for building on linux hosts.