Hi,
After I updated Keil from uVersion 5.37.0 to 5.40.0, I got the following error:
Build started: Project: FPIE-4K*** Using Compiler 'V5.06 update 2 (build 183)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'Build target 'FPIE'compiling Exec.c...C:\Keil_v5\ARM\CMSIS\6.1.0\CMSIS\Core\Include\cmsis_compiler.h(287): error: #35: #error directive: Unknown compiler. #error Unknown compiler.Exec\Exec.c: 0 warnings, 1 errorcompiling System.c...C:\Keil_v5\ARM\CMSIS\6.1.0\CMSIS\Core\Include\cmsis_compiler.h(287): error: #35: #error directive: Unknown compiler. #error Unknown compiler.Control\System.c: 0 warnings, 1 error
I'm compiling the same project (FPIE-4K) with 5.40.0 as I did with 5.37.0.
Any suggestion on the compile error?
Thanks
David
Hello,
I see you are using CMSIS v6 components. These do not support Arm Compiler 5.
CMSIS v6 is here
You should go back to an earlier version, else (better) upgrade to Arm Compiler for Embedded 6.
Hi Ronan,
Thank you for the response to my question.
I was using Keil MDK 5.37 for a couple of year without any issue.
I recently updated Keil to 5.40. After that, when I compiled some old projects (that were developed under Keil 5.37), I got these errors.
It seems Keil 5.40 installer created a new folder, C:\Keil_v5\ARM\CMSIS\6.1.0, and Keil 5.40 forced the compiler to use the new folder .
If I selected ‘Use default compiler version 6’ under ARM Compiler / Option For Target in Keil/uVision IDE, I got a lot more compile errors.
I have both ARM Compiler 5 and 6 in uVision IDE.
I felt somehow Keil 5.40 installer mixes ARM Compiler 5 and 6.
How do I go back to use ARM Compiler 5?
Arm Compiler 5 is no longer installed by default, but can be downloaded and installed separately. See instructions at:
https://developer.arm.com/documentation/ka005073
To change the version of the pack(s) used, open Manage Run Time Environment, and click on Select Packs.
Then deselect "use latest versions", and you can select particular versions.
I do recommend you migrate to the latest software and compiler over time. Arm Compiler 5 is no longer supported or maintained.